#Astral
1 messages · Page 29 of 1
rn im basically programming whenver im not asleep or watching youtube videos lol
cuz of winter break
ah
why dont you port some other WMs tho
this wm looks like its from 1980 or something
I like the visual style, gives off that unix workstation look
yea true, i also think old unix looks are pretty c ool
I have thought of doing a proper cde port but nothing really stops me from porting something more modern ig
btw im pretty curious, how hard it really is to completely port KDE Plasma / Gnome
for wine I think its just a matter of giving it an ldt
@prime juniper can probably tell you more
I’d be a cool person and make my own window manager 
same
I mean atleast for x11 it’s not too bad from what I hear
but ill probably be making one with smithay
So like 
Yes but yes easy to port
Esp if all you need is basic mouse keyboard and framebuffer
a wayland implementation in rust
wayland is annoying because pretty much all compositors out there expect you to be linux and implement linux apis
its not as easy as just xf86-video-fbdev and xf86-video-{mouse,keyboard}
ATP just do Linux system call compat & other linux compat
ohh
then whats the point of even making an os
just use linux
and also i feel like the linux system calls are really weird and outdated
For fun?
@viscid flame got a Debian userspace booting
well thats true
what does debian userspace mean eaxtly
like binaries from debian?
cooooool
I really need to finish the ahci driver already but I have barely begun working on it 💀
Do a poll on what to do once DHCP is fixed
Between wine ahci and some other things
no, I kinda have to get ahci done since its needed to run on that uni computer
magnarum is crazy tho
Ahhh
hell, I will also need to get the xhci driver working and merged as well, but thats not as big of a priority as at least getting the thing to run there
a libc + a broswer + even nvidia driver
@obsidian pivot has some horror stories from USB

managarm driver compat layer :^)
Hard. KDE has a lot of moving parts but Qt6 is decent. GNOME has a lot of moving parts, a fucking JavaScript engine (spidermonkey required, that is Firefox soooo) and it has gobject-introspection. So pain^3. But I’ll do both one day (working on it)
WHAT KDE
gobject-introspection is indeed massive pain
g-o-i hard requires you to run target system code at build time
It cannot be cross compiled
it's really not
I did
@grand shadow Do you have pre-built images of Astral I can give to a friend at Hackaday to review?
She said she needed more stuff to write about and she does this thing called "Jenny's daily drivers"
I've already showed her Managarm for example
I can make an updated one real quick
Awesome thanks
YOOOOO BASED
https://astral-os.org/about should have some updated images and a root filesystem with everything installed

I think its still not working 100% so not listing it rn
speaking of
ahh
pls test pleading emoji pleading emoji
u can just download the bootdisk.iso in the website its literally like the most recent one
trvthnvke
It’s the prints
Lowkey keep them there because it looks like food info anyways
maybe it didn't have the updated netd for some reason?
Or like doom or ping
Maybe?
xbps-install -S doomgeneric
I think it might lock up tho
theres an issue with the rtl8169 that I ran into when trying to download a package and I didn't really bother trying to figure it out
Yeah it did lockup
if u ^C and then netd again does it lock up for good?

idfk
I mean the network card is clearly doing something
sucks to debug on real hardware rahhhhh
That’s progress
Just add more print statments

so true
I'll take a pass at the rtl8169 driver again later and see if I find anything
Make sure every print statment has a print statement that says it’s about to print and what it’s about to print
is if aliased to ls -a
ah
I've sent this to her btw
Btw do you plan to add the stuff for Neo/fastfetch to make it give a ton of system info?
while I don't have /proc I have sysinfo but nothing that nefoetch calls uses sysinfo
Damn
I think I might have an idea after forcing claude to stare at the code so long that it ran out of tokens
I might be getting an interrupt that I don't account for and that prevents any more interrupts from firing
which makes sense considering what is happening
I put it in sonnet 4.6 thinking mode and it was thinking for like 10 minutes before just saying "lol nothing is wrong here"
and then I forced it to look into it again before it finally spat out something that seemed like an actual issue which looking at the docs I think it is
Imma see if I can fix it rq and up that think rq
@mild sentinel if u wanna test it again I put up a new iso in the same link
this one should hopefully be the final final (1) - final - copy final (1) (2) version
so true
Astral DOSing the router
well something is causing the router to ignore astral's dhcp packets
do u still have the stuff to take the router's logs?
u could also maybe hook up wireshark and look for these dhcp packets, since it should be a broadcast packet
though if the router is just refusing the packets that won't be of much help for debugging
since here its waiting for any response on the dhcp client port
which it is not getting
yeah it can't be since theres not even an ip set yet
windows ICS dhcp server seems to recognize it and the qemu dhcp server also recognizes the packets
ive renabled syslog so maybe i can catch some stuff next test
your router is an rpi? crazy
nah my rpi gets the logs
oh
crazy
crazy
@grand shadow ngl I’d bet a 1gb ddr2 ram stick your router supports it just the same
I doubt it, I've went thru the whole thing trying to even get ssh access or any sort of better logging
Almost no routers have SSH
Syslog is kind of an old standard
It may have it?
This is what Wikipedia says lol
I haven't seen anything syslog related
darn
anyways if you could try the wireshark think that would be cool
i could put astral on the laptop and run dhcp and wireshark on my desktop?
isnt the laptop the super broken one that astral can't boot in
Wasn’t that with the corruption issues?
That got fixed
No idea
wonder if I am missing some option in the dhcp packet that makes the real router not want it?
looking at the windows dhcp packet it shoves a lot more info there
client identifier, host name and vendor class identifier
I suppose I could add those to see if the dhcp server would be happier
yeah thats going in my todo
anyways, I found that while setting up ics again to test the rtl8169
so time to do that
According to the clanker the missing client identifier is the reason why its being dropped
Ok the clanker wasnt right about the issue with the rtl8169 locking up
I have implemented the client identifier and hostname options for DHCPDISCOVER
I'm gonna upload an image and when you have time test it? @mild sentinel pleadin gemoji
yup
sonnet is not very smart
tbh gemini is really good at osdev stuff
ive been using gemini to write tests and teach me about osdev stuff
because osdev resoruces pass "hello world" is basically nonexistant
yeah because osdev past "hello world" is "do whatever you want"
now add multiplayer so you can play bw on it
it's already been done
Gemini's chat/web interface is decent for some quick checks
I have free gemini pro
It's useful for looking up docs or searching for stuff in Linux source
Claude Code is definitely quite usable for many osdev tasks
well i was mainly thinking about generating fresh code
as in
have it come up with something
rather than work on an existing codebase
yeah you have to give it the architecture, I wouldn't use it to come up with a design on its own
if you do the latter, the result will just be one of these slop kernels with web browser in kernel mode
you want the image to add it to the server
?
also is the image uploaded
It is
Ichave no idea what tou mean
Il test it after im done eating
Oh nah I just say emotes without actually sending them
Ahhh
Skull with cross bones
Skull emoji
update on ahci work: I think I have the controller init code done but its not tested nor does it compile (missing the defines)
nice :3
fun fact, the one on astral-os.org is just a symlink to the one in avalios.dev
💀
@grand shadow same issue 
And I know I reflashed it
Because I had my kernel on this USB a minute ago
lazy + that'll need me to implement even more linux apis
Is avalios your last name?
I also got mylastname.dev
It's neat
avalios.dev
avali osdev
ah avali is?
nah
Bruh
can u get a wireshark log of the dhcp or like the router logs
Shit let me see if they are there
I really really don't see why the router would just straight up ignore the packets seeing as I already handle a ton of shit
I did not have wireshark setup
I wonder if I could do the DHCP stuff and wireshark it in a VPN?
VM*
hmmm
if you can passthrough I think that might work? idk
probably not
cuz then linux wouldn't knwo about the nic
💀
Crap
My network card is on IOMMU group 15
Which if you don’t know
In my system is uhhh
It has like half of my shit in it
💀
Including both of my NVME SSDs
💀
I am so sorry @grand shadow
what is weird is that there was one time where the router actually worked
inb4 packet loss rate: 99%
I mean its udp so
could be that the packets are being lost before getting to the router
but that woudln't explain why the autonegotiation works
unless maybe the cable is bad and it uses another wire in the cable for the an?
seems like it does?
It’s a direct cable from desktop to router
And I get full gbps
I have gbps WAN up and down
If it had a bad wire I don’t think it could pull that?
trve
I will say the cable is beaten down to hell and back though
But it’s cat6a so it should handle it mostly
ughhh can you get (and anonymize) a wireshark of the dhcp transaction between your router and windows? so I can compare what your router and windows thinks is good
I am thinking I might still be missing some DHCPDISCOVER option
I really don’t wana have to load my windows install 
or linux
That thing is as slow as fucking shit
any working os 💀
The thing is on a good nvme ssd yet windows loves to shit it’s pants
its windows so
trueee
ngl i havent used it in a few months
and every time i do use it i could of just not
actually its w*ndows 🤓
@grand shadow how should i setup wireshark
set it up to listen on the ethernet, unplug cable, plug it back again, stop and look at the dhcp packets
would this be enough to turn unto a pcap?
just the dhcp transactions would be enough
can filter it by dhcp at the top
so these?
lgtm
crap how di i make the PCAP only have DHCPs?
uhh is there any option to save only the filtered packets?
thank
hm I am missing the requested ip address and maximum dhcp message size options for dhcp discover
I don't think the requested ip address one is really needed but the maxmum message size might be having an effect
though on the windows dhcp pcap I have it doesn't really have that option
also it seems to be using unicast?
sending this here cuz too lazy to scp it
filter for dhcp
File->Export Specified Packets
looking at the dumps, the only difference is the seconds field (non-issue), boot flags (one wants broadcast the other wants unicast, probably non issue), you have more stuff on the parameneter request list, and you have the max message size option as well
I wonder if the router is actually responding but the rx is not firing for some reason
ughhh
can't really know
its either the router does not send back a DHCPOFFER or the rx isr does not go off if it does
@mild sentinel are u sure u can't like get wireshark on your laptop to listen for the dhcp broadcasts
sent to/from astral
(I know I am bothering you a lot but I really want to get to the bottom of this)
ive got other computer obligations to do rn
but i can find my usb ethetnet thingy in a bit
thank
that would help me pinpoint the actual issue
because theres two possibilities
either the router never sends the dhcpoffer or the router sends and it doesn't get to astral or it gets but the irq doesn't go off for some reason
which considering the router did respond that one time, it makes me believe there might be some misconfiguration going on
on my irq stuff maybe
Do you perchance know how to make decide tree sources compile properly 
Because that’s the main thing holding me back rn on this other project I’m helping a friend with
Would it still work with the laptop on WiFi too?
I have no idea
u can tell wireshark to just listen on one device
since it mostly just wants to listen on the network
unless it gives priority to ethernet over wifi, which then also isn't an issue
is there a reasonably complete astral distro nowadays?
like with all the stuff to boot into a desktop environment preinstalled
https://astral-os.org/about.html has a link to downloads and a qemu commandline
someone is working on smth
Talks have always been cheap tho, someone is finally sending patches
Thats not a new logo tho I think
Yeah its just the neofetch one
But yeah, someone is working on a fastfetch port
ah, i see
i thought you finally implemented procfs but nah xD
nah I think it uses sysinfo() for that
for what
uptime
isnt it uses clock_gettime for it
could be I have no idea
siiiccckkk
anyways, I am still doing work on the ahci driver
working on getting the interrupt infrastructure working + command submission and waiting and error reporting
error handling in ahci seems very annoying to get right
ahci is just annoying in general
there's a reason i've never implemented a driver for it
Ok finally got the driver to compile and run, it seems to dispatch the identify command but I dont think the irq handling is working
Oh right I think I forgot to enable the d2h irq
Btw did you see my proper AHCI init sequence tutorial #osdev-beginner-0 message
I thought resetting the hba was optional
cuz in the spec it only says system software may reset it
did you run into any systems where not resetting didn't work?
Ugh trying to send another command causes qemu to not even process it, trace just prints the write to pxci and thats it
Really dont want to have to recompile qemu cro
And if I dont send the identify qemu sees the command
So I am probably missing some stupid hyperspecific register write to keep processing commands or some bullshit
does debugging stuff get easier as the os gets better?
I haven't tried not resetting it, I assume you just depend on the state the bios left it in in this case
I think you just get better at it
in bios we trust
so astral ahci is real ???
That's fucking awesome
i/o seems to be working but chrooting to /mnt seems to have locked up
though I think I probably made a mistake somewhere there
hm wait
did I forget to
signal the semaphore
to indicate free command list entries
🥀
lmfao I did
we in the ahci disk chroot bois
write does not seem to be working though
as in, a write command never gets sent out for some reason?
💀 ok syncing just makes the written data disappear
I think I am reading instead of writing there
write bool is true
look inside
command being dispatched is READ DMA for some reason
command_table->fis.command = write ? ATA_COMMAND_WRITE_DMA_EXT : ATA_COMMAND_READ_DMA_EXT;
#define ATA_COMMAND_READ_DMA_EXT 0x25
#define ATA_COMMAND_WRITE_DMA_EXT 0x25
bro
🥀
there's trace for ahci in qemu ?
-trace ahci_* -trace ide_*
alright write does work properly now
time to make it boot from xorg using ahc
ok boots into xorg
time to do some small stress tests and if all is ok then I can upstream it already
hm today I will compile gcc 
nah probably just gnu hello or some other smaller package
true
skull
too lazy to download it, disabing linux option it is
meson worked
oh right I cannot compile without linux headers cuz my sysdep uses that shit
aghsdhhhsdhgha ok Ig I'll wait for headers to download
yay for not being able to just vendor those because incompatible licenses
technically that wouldn't have any impact
but vendoring them would add a lot of code that we don't want to carry around
accidentally ctrl+c'd the qemu vm after it extracted the headers tarball
I am very smart
I always forget that I haven't set up serial right to make the ctrl+c not affect qemu
I think you have to use some different qemu option instead of -serial stdio for it to work
It's -serial mon:stdio, then ^C doesn't exit it
(Instead it's ^X a)
thats not a very bad speed for a baby's first tcp implementation 
yeah thanks
it was like 15mb/sec at the start but slowed down
I think as packets began to arrive out of order or smth
weird
this only happens when a directory is the second operand
🔥🔥
oh
I am running into that same null vnode bug qwinci did
I don't think qwinci ever upstreamed his work
@carmine swallow do you want to git format-patch it and send me it?
or can I just fix it myself
anyways, I think the ahci driver seems to be upstreamable
considering it didn't die and explode after a git clone and a 100 mb tar -xf
this weekend I will be travelling so probably no driver work, instead I will see if I can port some emulators for the arcade
did you get mlibc to compile?
I went to cook dinner, cant really try it for a bit
i stub those mofos
I've ported mednafen
it really really wants an implemented sem_timedwait
cuz its just SMAPPING THE FUCK out of logs
pid 244 tid 245: mlibc: sem_timedwait is implemented as sem_wait
@robust geyser now we just need to upstream the xhci driver 

sneeze emulator
idrc, I forgot about the patches I had and I can't send it rn as I am not home until tomorrow evening
Alright
it works™ but i still need to finish the hid report parser (pain) and we still need evdev (pain)
evdev is an arguably decent interface, we just need to add support for it and i had some issues with wiring it up last time i tried to
evdev is not pain
eg. the mux input device, for the console tty
ive done a part of it, if you dont think implementing it into astral is an undertaking then send the patch my way
ill wait
:^)
hid parsing is probably easier to do tha evdev atp
We can sit in a vc and sort all of this out monday or sunday night
Im traveling with bf rn
Sure thing
Ill be in a bus for the next 6 hours so if u want to keep taking a look at it I can probably help if I dont lose connection or fall asleep
where are you traveling
6 hours in bus is hardcore
Another state to see my father in law
nah its alright, this needs a proper session lol
we need to think through the evdev shit because im too smooth brained
Fair yeah astral's device system really needs some work in the future
Things like hotplug were kinda not very well thought of but they do work since ptys use that same subsystem
I mean I did say I was going to rewrite it like 6 months ago but I have gone on so many tangents at this point
page cache 
didnt you say you wanted to rewrite it for better zero copy scatter gather io
or something
thats the whole reason i added iovec support to my usb stuff
but idk if you actually went through with that or was it just something you wanted to but didnt end up doing
I'd just support boot interfaces for a first version
Yeah I was working towards it, I made the nvme driver do proper prp an was working on getting the virtio block driver to do it as well
Its gonna be a huge speedup to be able to do clustered page in/out
I stopped somewhere in the "writing support for page locking so I can dma into userspace while keeping posix fork semantics" part
oh shit u want to do actual zero copy io
thats cool
yeah i realise that zero copy means exactly that, but i had a different version of zero copy in my head lol
Rn it dmas into the page cache and copies into the desired place even in "uncached" operations, but in my new design being able to dma directly in uncached io will be a nescessity
Is this only for O_DIRECT i/o?
Yeah and in some other places in the kernel like filesystem drivers
tbh i think DMA to the page cache is sufficient in most situations
there are exceptions of course
like large file transfers or databases
Hey math does your kernel support a GDB stub over real serial?
If you ever get around to me needing to debug some things I’m getting the parts in to do such
It does not
Would you accept patches for such a feature?
Patches always welcome :3
Then once I get my bits and hopefully they work il get started on making a portable one to work nicely :3
& of course port it
#1431140025805832343 message these are the parts I got and I should have them in two days or so
ik someone with that
ik him really well
better than anyone else

Is that you?
yes
dw its not portable at all

and its really unreliable
unusable, even
Then I will be sending patches your way 
Il make a very nice interface for it with some good options
Sure
will i be able to use it over udp
will it be able to identify and debug different threads and processes
or will it work on a cpu basis
I think it's a lost cause trying to make a generic kernel debugger as it is so deeply ingrained with its own design
I will bundle a serial port driver & way to let you use your own TX and RX options. I will have functions to hook into your scheduler to let you enable disable so it works on the right threads and you can spawn per CPU instances if you have the more advanced TX RX options potentially
I mean it’s certainly not impossible to make a decent generic one that can be modified to your needs and have plenty of generic callbacks etc
Yes it would take effort to integrate enough but it’s not an impossible task to give a decent base to people
just send patches to obos i need it the most
obos runs on like 3 devices
all with like the exact same cpus
Mine gets it first
no
When I make the generic stuff
fine
And then either astral or you gets it first
Depending on how much you bribe me
:p
Bidding starts at 1 4gb stick of ddr3
give me ur address ill ship it to u free of cost 
math needs a chance to bid

I never tested your code but I did reference it while writing my own gdb stub - it was very helpful.
you're resource #3 🙏
out of curiosity what did you reference
the general flow of things
I see
Extremely bad quality fursona art
I think this beats the stick of ram
Because I really need some new art done
@obsidian pivot can you take it higher

this is unfair
100 usd
jk i dont have that money to throw around
$5.75 CAD?
Your gonna need to do a bit better than that
lmao pay-to-win OSDev 
yes but beaver coin
you could be the proud owner of a coin with a moose
I’m pretty sure I already have a Canadian coin somewhere in my house
polar bear coin?
i have one euro
I have a euro coin too
how much
I have several euros
My dad finds lots of coins and gives them to me when he cleans 
How many are you willing to part with for gdb stub patches
(I live in Europe so everything is Euros)
Mine looks like that but with a 5 on it iirc
Unfortunately I don't have a shit job right now so nothing at the moment
There's no €5 coin
I will also take payment in CS2 skins 

There's a €0,50 but it's fully brass
Then it probably was a 1 euro coin
@bronze nexus is this one euro cent or one euro
One euro
nice
The cent coins 1 and 2 are no longer used, and 5 is rare now too
Also as aside how the fuck is windows subsystem for Linux not ass?
The cent coins are a copper color
Do you have an old coin from I think Asia that has a square hole cut out in the middle?
Possibly very rare
I don’t know where it’s from
But it looks rare
you have 1, 2 (no longer in use), 5, 10, 20 and 50 cent, and 1 and 2 euro coint
anything bigger is bills
canadian bills are very beautiful
i got some fresh ones from the bank a week ago
they dont taste as good as they look, be warned
friend said id get to keep 10 bucks if i took a bite out of it, then i found out i cant pay with a 10 dollar bill with a bite out of it 
(jk, i made that up)
im not tasting bills a friend told me
whats worth more, $6 worth of coins melted into metal, or $6
(for legal reasons i am not melting coins into metal)
The coins
Only the US penny costs more to make than what it’s worth
Did they make melting coins illegal because the metal became worth more 💀
yes
(for legal reasons i am not advising or endorsing you to melt coins into metal)
Over here we just do the logical thing and discontinue the tiny coins
we discontinued pennies a while ago actually
idk what the us are still doing with those
It took the US like 20 years and an orange nut job to get rid of the penny

Possibly the only good thing trump did
And possibly only for show
But atleast CGPgrey can rest
depends on which country
lmao
is this real
lmao
ah yes my favorite country
Listenbourg is a fictional country created as the subject of an internet meme in October 2022, which depicts it as an extension of the Iberian Peninsula. French Twitter user Gaspard Hoelscher shared a doctored map of Europe with a red arrow pointing to the outline of a pasted country adjacent to Portugal and Spain, and joked that Americans would...
Btw math do you have a codeberg repo for when I want to give patches
Because I don’t like going on GitHub to interact
git format-patch
xD

Can always git format patch
I shall do that then o7
time to test some changes to the rtl8169 driver in real hw and also see if my ahci driver will work
I actually have a machine with a corrupted Linux install that uses a SATA ssd if you want me to test on that and be willing to sacrifice the data
(Il be home tomorrow so I won’t be able to test until then)
sure thing
issue is
neither things I did worked
☠️ 🥀
neither rtl8169 nor ahci
Damn 🥀
Well hopefully the hardware debugger will help 
I could possibly also pipe it over the Internet and let you Telnet into it lmfao
(Through my VPN)
v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!v!
It did seem to properly dispatch reads to some disks and find the partitiins
I think the issue os I am hanging because Im sending identifies to unimplemented ports for some reason
Also ficking 36 partitions ☠️
Wait true
Its all two ports and just an ungodly amount of partitions
I think Im missing a check in my gpt stuff
Then I think whats acrually wrong is my ahci irq stuff?
Not being called sdX 
its not even scsi bruh
the reason why its called scsi in linux is because it does some insane scsi -> ata translation or something
thats rtl8169 interrupts and rx dpcs
Honestly no idea whats causing ahci not to work nor rtl8169
Ahci identify sends and it even sets the is register
I think I should just look into the memory corruption on real hardware first, that seems like it could mess with a lot of thongs
480k uacpi score 🥀
can it play doom? 😄
It cant even boot atm but when we get xhci merged yes
I am super confused as to what is happening though
It seems like the issue is sitting between the pxis -> msi
As pxis does seem to get set properly
And ghc.is too
diddnt i hear about MSI issues here before or was that MISX?
That was my rtl8169 advertizing msix support but that being broken
Switching to msi fixed it
@analog berry btw uacpi works on some random ass xeon from 15 years ago
the cpu doesnt really matter, what matters is what kind of a mobo this thing has
and i can only imagine all kinds of cursed
i can only further imagine what kind of firmware this thing runs :D
its the most wild x86_64 hw which i saw
I wonder what other things this can run
It ran ubuntu but the gpu driver is borked, its an older nvidia gpu
not bad
real astral score leak??
Im surprised astral didnt crash and burn
Limine W
it's expected that the score is much lower on real hw ofc
oh yeah, the score is highly hardware dependent - not only how fast the ops are executed but also what kind of ops are executed, and that of course changes with what the specific hardware you are running it on is
yeah but it'll always be slower than on qemu
qemu does very few hw accesses during acpi init
They could also like.. insert a Sleep or something
"super old"
bruh 
I actively use a machine with a Xeon v2 as my NAS
E3-1240 v2 specifically
v4 is still pretty modern, that's like Broadwell
which is 12 years old by now
;D
no pentium 2 is just unusable for today's workloads
sounds like a skill issue
I can still use a Nintendo Wii running Linux for most of my day-to-day work
729MHz PPC750CL, 88MB of RAM
yeah that IS super old by comparison
then you don't do anything demanding 
Old xeons are awesome
compiling stuff would suck
Only disadvantage of xeons is their power consumption
yeah I agree
you're definitely not using it right now as discord doesn't fit into its RAM ;D
lol
ofc not
I said I can, not that I would if I had access to better machines
why make that point then
also swap exists
that makes it even more unusable tho
because it can still do everything I need to do in a day
if I had no other machine I would not be completely fucked
and it's practically slower than the P2 I was comparing as a reference for "super old"
mostly due to the low ram
can you do a days worrth of work on the wii lol
maybe I should do that one day when I'm less busy
obviously stuff would be way slower
so I would get less done
but still would be functional enough
It's definitely a cool project etc but saying that you can do a day of work on it is a stretch
maybe it applies to you in particular
but I certainly couldn't
because it'd OOM when trying to compile anything non-trivial
maybe if by that you mean sshing into a more powerful machine and doing stuff there 
swap is basically required
it can't even be able to run pacman -Syu without at least zram
for anything like compiling, running GTK/Qt apps, etc, you also need to add swap on disk
but it shouldn't OOM
isn't it going to be super slow due to the swapping though? the disk access times are probably not great either
not really
swap makes it faster arguably, Linux starts to chug really badly when it's low on RAM
if it can offload some stuff to swap it stays reasonably fast
as long as your swap disk isn't like an A1-class SD card or a mechanical HDD
then the cost of putting something on the disk dominates
but if it's a semi-competent disk and it has swap, and you aren't super aggressively thrashing, then yes, having swap is more performant than not having it
what storage interfaces does the wii have?
sd card
SDHCI v1, EHCI, OHCI
ah yes let me destroy my drive because i am running linux on a wii
out of that usb2 probably gives the higest speed (?)
also EXI (the memory card ports) which is basically Weird SPI, running up to 32MHz, but that's not a serious contender ofc 
weird that they have sdhci but decided to put the memory card onto a 32mhz spi lol
it nominally would but the HCs in Hollywood are fucked up
EXI is carried over from the GameCube, which had uhhh.... nothing else other than EXI 
even the IPL and RTC in the GameCube were on EXI
ah right, these cards are only used when playing gamecube games, right?
yup
makes sense
basically they have super weird quirks, and arbitrary DMA limitations, which make it super buggy and unstable
because Linux can't work around them perfectly
like it assumes that you can do uncached arbitrary-size writes to any DMA memory, but that's just not true on the Wii; if you do that in MEM1 then it corrupts the word that you've written and other words around it
Nothing a 16gb USB 2.0 flash drive mounted as swap can't fix :P
💀
uhhh what are thoes btw lol
pio setup fis interrupt and device to host interrupt
indetify is a pio command
it worked on qemu because qemu is stupid
na but how did they mess that up?
and not have it break things
no idea
good luck on finshing it btw
thank
its mostly just getting ahci working and then fkin rtl8169 memes
still no clue what the fuck is going on there
maybe the magic "make it work" bit isnt being set 
trvthnvke
maybe its some quirk
anyways ahci works now
can read
not gonna fucking test write
because I value my data still
seems like I have to add ahci support to parted
you got my laptop to test tomorrow for wiriting 
im not sure
or compatible nic
if it does
unironically
if I fix the rtl8169
bug
install
astral
on
it.
but it does have an SSD eith a fucked up linux install
@grand shadow i mean its a cheap laptop so good chance its realtek lol
but i think its 1OOmbps?
or make a driver foir the nic on it

trvthnvke
its either a 8139 or a 8169
8139 is probably much easier to write a driver for though, considering qemu emulates it
unless you have some ancient fucking piece of hardware you don't have a RTL8139
that thing is PCI-only
no express
noice
Broooo 😭
Why so slow
Funnily enough ahci just randomly decides not to appear on this machine. Weird ass corruption
I need to go and fkin update limine and uacpi already
Because I genuinely dont know how yhe fuck the allocator is bugging
And its better to shift the blame 
Like lowkirkenuiely it runs minecraft and eberything else I have thrown at it but it doesnt like random aml
how does one host an xbps repo
xbps is usually hosted over http
you need to put the packages into a directory, run xbps-rindex on it to create an index and sign it, and you need to host the whole thing
Good news! Ahci seems to work and some rtl8169 init at least seems to work (phy init failed because no cable connected)
Bad news! Ps2 emulation either doesnt exist or is extremely broken
try to remove resend limit maybe it will work
That WTF print has a funny story behind it
I was putting logs behind e9 after a certain step of boot to reduce logging on the screen
But I forgot about that
And for like
A whole hour
I just kept reflashing thinking rufus or my usb stick were broken
Because prints werent working
@robust geyser wanna look into the xhci stuff today? I gotta sort some bureaucracy stuff off for the research stuff but then I will be free the rest of the evening when I get home from uni
i think xhci is fine, other than maybe trying to make it on work on real hw/other emulators
evdev is what we need to work on
Sure
but yeah just give me a heads up
What were you blocked on just for me to start thinking about it
making the console tty work with it
Alright
Run Linux on the device and pass it though
or if it’s a HID device I’d presume any standard controller could work for passing
Just use usb passthrough
@robust geyser how are you wiring up the keyboard stuff right now? Is it driver -> keyboard -> evdev or is it directly driver -> evdev?
If the keyboard abstraction still sits between it then I think thats still a cleanish place to send at least ascii bytes off to the console thread
i tried ripping out keyboard and mouse abstractions
Hmmmm
I guess we could just have an ascii ringbuffer that the console thread will wait on and its written to on every event on a keyboard evdev thing
I really need to read up on how evdev works first of all
Sure
at least the basics, there are some more "advanced" things
is evdev is /dev/input
yes
the basics are pretty much what you have right now with the keyboard and mouse abstraction, just more generic - you read from the input fd in units of struct input_event, each one of those contains a timestamp, event type (key, button, rel/abs movement, some more stuff) and event code (the actual key, which mouse button, which axis) and the value (for keys it's 0 if released, 1 if pressed, 2 if repeat, for axes it's the actual value, either absolute or relative)
its just ringbuffer and a lot ioctls
the more advanced stuff is basically done over ioctls, i have some basics done which is describing the input device (like the name, version and stuff)
do binary compat
astral linux compat when
but you also have a few ioctls to grab the limits for each axis, so you can figure out how for example map absolute values
Oh sounds simple enough
Maybe you can just relay these events to the console driver somehow
Nah
do it
Werent u like hating on linux compat a few months ago
depends on the circumstances
if you're using the mlibc Linux option and plan to implement a lot of Linux interfaces and have no plans to have custom interfaces, then binary compat is the smarter choice
Ehhhhhh
I dont want to do it and it also means I have to implement a bunch of stuff that otherwise I could have just ignored like drm or epoll
I do not plan on implement either, at least not for now
And if I ever do epoll, Im probably doing kqueue
Its just more flexible and I prefer it this way
Also allows me to do astral specific patches
you are free to return ENOSYS even with binary compat, most libcs (glibc, musl) and software gracefully handle that
How is glibc going to handle me enosysing a drm ioctl or open
libdrm will
yeah lol
just support fbdev
Which will then crash because it wants that ioctl to work abd I dont want to inplement drm
but you won't get drm ioctls if you don't expose drm devices in the first place
yeah lmao
Or something like netlink
that's fun
binary compat is completely viable and these are non-issues as exemplified by other OSes here already
don't you just love udev
I dont want to implement those apis
don't you want to run systemd so bad
^
Rather not
Idk who said Id want either one of these
but udev is an essential part of any linux system so that sucks
But I literally never said that
yeah but a lot of people will implement udev/netlink and still not do binary compat
binary compat means you no longer have to deal with maintaining a full distro
which is literally a project onto itself
alongside the other advantages i already mentioned
And even if I did I would literally just use a mlibc linux distro
Anyhow I am not doing linux binary compat
it does mean you have to emulate linux fully tho
that includes netlink
it's one of the reasons I don't like binary compat with linux
drm isn't too bad
but yeah fbdev is just much easier
Astral is not even linux source compatible, is it?
Like, it uses sysctl and stuff like that and not something like sysfs/procfs (?)
No sysfs/procfs yeah
yeah
yeah its such a weird change of mind

@robust geyser
@robust geyser btw how does joysticks etc work? Is it just like sending abs/rel events?
pretty much, yeah
And with keys for the buttons
yup





