#Astral

1 messages · Page 29 of 1

grand shadow
#

I'm in one of those barely touching code months rn

hardy vine
#

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

grand shadow
#

I like the visual style, gives off that unix workstation look

hardy vine
#

yea true, i also think old unix looks are pretty c ool

grand shadow
#

I have thought of doing a proper cde port but nothing really stops me from porting something more modern ig

mild sentinel
#

I wonder how hard 32bit compat mode is on x86

hardy vine
#

btw im pretty curious, how hard it really is to completely port KDE Plasma / Gnome

grand shadow
grand shadow
mild sentinel
#

I’d be a cool person and make my own window manager Clueless

hardy vine
#

same

mild sentinel
#

I mean atleast for x11 it’s not too bad from what I hear

hardy vine
#

but ill probably be making one with smithay

mild sentinel
#

So like shrug

hardy vine
#

i hate x11

#

although i heard that porting wayland is insanely hard

mild sentinel
#

Yes but yes easy to port

#

Esp if all you need is basic mouse keyboard and framebuffer

hardy vine
hardy vine
#

average osdev codebase XD

grand shadow
#

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}

mild sentinel
hardy vine
#

ohh

hardy vine
#

just use linux

#

and also i feel like the linux system calls are really weird and outdated

mild sentinel
#

@viscid flame got a Debian userspace booting

hardy vine
hardy vine
#

like binaries from debian?

viscid flame
#

yes

hardy vine
#

cooooool

grand shadow
#

I really need to finish the ahci driver already but I have barely begun working on it 💀

mild sentinel
#

Do a poll on what to do once DHCP is fixed

#

Between wine ahci and some other things

grand shadow
#

no, I kinda have to get ahci done since its needed to run on that uni computer

hardy vine
#

magnarum is crazy tho

mild sentinel
#

Ahhh

grand shadow
#

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

hardy vine
#

a libc + a broswer + even nvidia driver

mild sentinel
#

@obsidian pivot has some horror stories from USB

wild marsh
prime juniper
hardy vine
#

WHAT KDE

marsh sparrow
#

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

gleaming bay
#

I did

bronze nexus
#

@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

grand shadow
bronze nexus
#

Awesome thanks

prime juniper
grand shadow
grand shadow
#

oops

mild sentinel
#

no realtek nic listed slongesab?

#

really cool site tho :3

grand shadow
#

speaking of

mild sentinel
#

ahh

grand shadow
#

pls test pleading emoji pleading emoji

mild sentinel
#

oke send iso

grand shadow
#

u can just download the bootdisk.iso in the website its literally like the most recent one

mild sentinel
#

true

#

but we gotta abuse discord servers and put tons of large iso files

grand shadow
#

trvthnvke

mild sentinel
#

@grand shadow

#

It works

grand shadow
#

?????

#

what the fuck

#

I didn't change anything??

mild sentinel
#

It’s the prints

grand shadow
#

other than adding the prints

#

do a xbps-install -S

#

to see if tcp is working

mild sentinel
#

Lowkey keep them there because it looks like food info anyways

grand shadow
#

u sure U didn't like

#

use an old iso when u tested last time

mild sentinel
#

I used the one I replied to

#

I am 99% sure

#

How do I install x11 now

grand shadow
#

maybe it didn't have the updated netd for some reason?

mild sentinel
#

Or like doom or ping

grand shadow
#

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

mild sentinel
#

Yeah it did lockup

grand shadow
#

if u ^C and then netd again does it lock up for good?

mild sentinel
#

Yup

#

I can’t even control c

grand shadow
#

yeah ok

#

I think tx is fucked

#

somehow

#

or something else

mild sentinel
grand shadow
#

idfk

mild sentinel
#

I mean the network card is clearly doing something

grand shadow
#

sucks to debug on real hardware rahhhhh

mild sentinel
#

That’s progress

mild sentinel
grand shadow
#

so true

#

I'll take a pass at the rtl8169 driver again later and see if I find anything

mild sentinel
#

Make sure every print statment has a print statement that says it’s about to print and what it’s about to print

hearty fulcrum
mild sentinel
#

I was trying to do ifconfig PSP1G_pspTrollar

#

And using tab autocomplete

hearty fulcrum
#

ah

bronze nexus
grand shadow
#

ty

#

spooky

mild sentinel
#

Btw do you plan to add the stuff for Neo/fastfetch to make it give a ton of system info?

grand shadow
#

eventually

#

I know someone who is trying to port fastfetch to astral

grand shadow
mild sentinel
#

Damn

grand shadow
#

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

hearty fulcrum
#

this is how I used up all my tokens for a month in a few minutes

#

(multiplier)

grand shadow
#

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

grand shadow
#

so true

mild sentinel
#

Uhhhh

#

I think it regressed

analog berry
#

Astral DOSing the router

grand shadow
# mild sentinel

well something is causing the router to ignore astral's dhcp packets

#

do u still have the stuff to take the router's logs?

mild sentinel
#

I have not enabled that yet

#

But I can maybe still find them on the slow ass panel

grand shadow
#

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

grand shadow
# mild sentinel

since here its waiting for any response on the dhcp client port

#

which it is not getting

mild sentinel
#

i dont think any of these are from the desktop

grand shadow
#

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

mild sentinel
#

ive renabled syslog so maybe i can catch some stuff next test

grand shadow
#

your router is an rpi? crazy

mild sentinel
grand shadow
#

oh

mild sentinel
#

My router supports Unix syslog

#

I just set that up on my pi

grand shadow
#

crazy

prime mulch
#

crazy

mild sentinel
#

@grand shadow ngl I’d bet a 1gb ddr2 ram stick your router supports it just the same

grand shadow
#

I doubt it, I've went thru the whole thing trying to even get ssh access or any sort of better logging

mild sentinel
#

Almost no routers have SSH

#

Syslog is kind of an old standard

#

It may have it?

#

This is what Wikipedia says lol

grand shadow
#

I haven't seen anything syslog related

mild sentinel
#

darn

grand shadow
#

anyways if you could try the wireshark think that would be cool

mild sentinel
#

i could put astral on the laptop and run dhcp and wireshark on my desktop?

grand shadow
#

isnt the laptop the super broken one that astral can't boot in

mild sentinel
#

That got fixed

grand shadow
#

No idea

grand shadow
#

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

grand shadow
#

Ok the clanker wasnt right about the issue with the rtl8169 locking up

grand shadow
#

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

hardy vine
#

this screenshot looks like a minecraft ARG lol

#

minecraft alpha + fog

fleet grove
#

its still incredible that it can run it tho

hardy vine
#

yup

hardy vine
#

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

robust geyser
#

yeah because osdev past "hello world" is "do whatever you want"

pure thunder
robust geyser
#

it's already been done

marsh sparrow
#

Gemini's chat/web interface is decent for some quick checks

robust geyser
#

so is claude

#

but using it for generating any osdev related code is kind of dumb

hearty fulcrum
#

I have free gemini pro
It's useful for looking up docs or searching for stuff in Linux source

marsh sparrow
robust geyser
#

well i was mainly thinking about generating fresh code

#

as in

#

have it come up with something

#

rather than work on an existing codebase

marsh sparrow
#

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

mild sentinel
#

also is the image uploaded

grand shadow
grand shadow
mild sentinel
#

Like the emoji

#

The pwease

mild sentinel
grand shadow
mild sentinel
#

Ahhh

grand shadow
#

Skull with cross bones

mild sentinel
#

Skull emoji

grand shadow
#

update on ahci work: I think I have the controller init code done but its not tested nor does it compile (missing the defines)

mild sentinel
#

@grand shadow got the link?

grand shadow
#

fun fact, the one on astral-os.org is just a symlink to the one in avalios.dev

#

💀

mild sentinel
#

@grand shadow same issue slongesab

#

And I know I reflashed it

#

Because I had my kernel on this USB a minute ago

grand shadow
#

dhcp or tcp?

#

we have two issues troll3dflip

mild sentinel
#

It never got past DHCP

#

Why not port a different DHCP client

grand shadow
gritty shore
#

I also got mylastname.dev

#

It's neat

grand shadow
gritty shore
#

ah avali is?

grand shadow
#

nah

gritty shore
#

Bruh

grand shadow
#

its furry stuff

#

💀

grand shadow
mild sentinel
#

Shit let me see if they are there

grand shadow
#

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

mild sentinel
#

I did not have wireshark setup

#

I wonder if I could do the DHCP stuff and wireshark it in a VPN?

#

VM*

grand shadow
#

hmmm

#

if you can passthrough I think that might work? idk

#

probably not

#

cuz then linux wouldn't knwo about the nic

mild sentinel
#

Nothing in the logs from my Mac darted

#

Address

#

Let me check IOMMU groups

grand shadow
#

💀

mild sentinel
#

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

grand shadow
#

💀

mild sentinel
#

I am so sorry @grand shadow

grand shadow
#

what is weird is that there was one time where the router actually worked

mild sentinel
#

Maybe the router was just feeling good that day

grand shadow
#

inb4 packet loss rate: 99%

mild sentinel
#

💀

#

Could that be it tbh?

#

And it’s just a TCP transmission issue

grand shadow
#

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?

mild sentinel
#

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?

grand shadow
#

trve

mild sentinel
#

I will say the cable is beaten down to hell and back though

#

But it’s cat6a so it should handle it mostly

grand shadow
#

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

mild sentinel
#

I really don’t wana have to load my windows install goddamnit

mild sentinel
#

That thing is as slow as fucking shit

grand shadow
#

any working os 💀

mild sentinel
#

💀

#

True

mild sentinel
grand shadow
#

its windows so

mild sentinel
#

trueee

#

ngl i havent used it in a few months

#

and every time i do use it i could of just not

viscid flame
mild sentinel
#

@grand shadow how should i setup wireshark

grand shadow
mild sentinel
grand shadow
#

can filter it by dhcp at the top

mild sentinel
#

so these?

grand shadow
#

lgtm

mild sentinel
#

i hope these cant get me hacked

grand shadow
#

I will hack yhou I am evil haxor

#

😈

mild sentinel
#

crap how di i make the PCAP only have DHCPs?

grand shadow
#

uhh is there any option to save only the filtered packets?

mild sentinel
#

here we go

grand shadow
#

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?

formal patio
formal patio
grand shadow
#

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)

mild sentinel
#

but i can find my usb ethetnet thingy in a bit

grand shadow
#

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

mild sentinel
#

Because that’s the main thing holding me back rn on this other project I’m helping a friend with

mild sentinel
grand shadow
#

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

prime geyser
#

is there a reasonably complete astral distro nowadays?

#

like with all the stuff to boot into a desktop environment preinstalled

grand shadow
grand shadow
#

someone is working on smth

robust geyser
#

about frickin time

#

this is so long overdue

grand shadow
marsh sparrow
#

I don't get what's new 😅

neon crane
#

an actual astral ascii logo?

analog berry
#

Thats not a new logo tho I think

grand shadow
#

Yeah its just the neofetch one

grand shadow
marsh sparrow
#

ah, i see

willow rapids
grand shadow
#

nah I think it uses sysinfo() for that

viscid flame
grand shadow
viscid flame
grand shadow
#

could be I have no idea

fleet grove
grand shadow
#

anyways, I am still doing work on the ahci driver

#

working on getting the interrupt infrastructure working + command submission and waiting and error reporting

grand shadow
#

error handling in ahci seems very annoying to get right

fleet grove
#

ahci is just annoying in general

#

there's a reason i've never implemented a driver for it

grand shadow
#

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

grand shadow
#

thats not right

#

we got ata identify working

analog berry
#

Btw did you see my proper AHCI init sequence tutorial #osdev-beginner-0 message

grand shadow
#

cuz in the spec it only says system software may reset it

#

did you run into any systems where not resetting didn't work?

grand shadow
#

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

hardy vine
#

does debugging stuff get easier as the os gets better?

analog berry
fierce forge
grand shadow
#

yooo we got life out of it

viscid flame
fleet grove
#

That's fucking awesome

grand shadow
#

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

#

🥀

viscid flame
grand shadow
#

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 clueless

#

nah probably just gnu hello or some other smaller package

marsh sparrow
#

compile mlibc

#

;D

grand shadow
#

true

#

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

bronze nexus
#

yay for not being able to just vendor those because incompatible licenses

marsh sparrow
#

technically that wouldn't have any impact

#

but vendoring them would add a lot of code that we don't want to carry around

grand shadow
#

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

bronze nexus
#

(Instead it's ^X a)

grand shadow
#

thats not a very bad speed for a baby's first tcp implementation meme

grand shadow
#

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

grand shadow
#

this weekend I will be travelling so probably no driver work, instead I will see if I can port some emulators for the arcade

marsh sparrow
#

did you get mlibc to compile?

grand shadow
grand shadow
#

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 troll3dflip

robust geyser
grand shadow
#

chop chop bro trol

#

I mean isn't it mostly just done

scenic epoch
marsh sparrow
#

The first 80% are probably done but not the remaining 80%

carmine swallow
grand shadow
#

Alright

robust geyser
#

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

robust geyser
#

eg. the mux input device, for the console tty

robust geyser
#

ill wait

#

:^)

#

hid parsing is probably easier to do tha evdev atp

grand shadow
#

We can sit in a vc and sort all of this out monday or sunday night

#

Im traveling with bf rn

viscid flame
#

🤔

grand shadow
#

(boyfrien

robust geyser
#

sounds good, have fun

#

just lmk whenever you’re around

grand shadow
#

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

viscid flame
#

6 hours in bus is hardcore

grand shadow
#

Another state to see my father in law

robust geyser
#

we need to think through the evdev shit because im too smooth brained

grand shadow
#

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

robust geyser
#

page cache trl

#

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

marsh sparrow
robust geyser
#

they already work

#

thats whats on my branch right now

grand shadow
#

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

robust geyser
#

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

grand shadow
#

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

marsh sparrow
#

Is this only for O_DIRECT i/o?

grand shadow
#

Yeah and in some other places in the kernel like filesystem drivers

marsh sparrow
#

tbh i think DMA to the page cache is sufficient in most situations

#

there are exceptions of course

#

like large file transfers or databases

mild sentinel
#

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

mild sentinel
#

Would you accept patches for such a feature?

grand shadow
#

Patches always welcome :3

mild sentinel
#

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

obsidian pivot
#

ik him really well

#

better than anyone else

mild sentinel
obsidian pivot
#

yes

mild sentinel
#

Well I wana make one :p

#

And I wana have fun

obsidian pivot
#

dw its not portable at all

mild sentinel
obsidian pivot
#

and its really unreliable

mild sentinel
#

Lmfaooo

#

XD

obsidian pivot
mild sentinel
#

Then I will be sending patches your way PSP1G_pspTrollar

obsidian pivot
#

bet trl

#

talk is sent, is cheap patches?

mild sentinel
#

Il make a very nice interface for it with some good options

mild sentinel
obsidian pivot
#

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

gritty shore
#

I think it's a lost cause trying to make a generic kernel debugger as it is so deeply ingrained with its own design

mild sentinel
# obsidian pivot will i be able to use it over udp

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

obsidian pivot
#

mhm

#

I dee

#

no

#

I see

mild sentinel
#

Yes it would take effort to integrate enough but it’s not an impossible task to give a decent base to people

obsidian pivot
#

just send patches to obos i need it the most

#

obos runs on like 3 devices

#

all with like the exact same cpus

mild sentinel
obsidian pivot
#

no

mild sentinel
#

When I make the generic stuff

obsidian pivot
#

fine

mild sentinel
#

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

obsidian pivot
mild sentinel
tawny oak
#

you're resource #3 🙏

obsidian pivot
tawny oak
#

the general flow of things

obsidian pivot
#

I see

grand shadow
mild sentinel
#

Because I really need some new art done

#

@obsidian pivot can you take it higher

obsidian pivot
#

2 ddr3 4G

#

jk

mild sentinel
#

Math wins then

#

They get the patches first

obsidian pivot
#

this is unfair

#

100 usd

#

jk i dont have that money to throw around

#

$5.75 CAD?

mild sentinel
#

Your gonna need to do a bit better than that

bronze nexus
#

lmao pay-to-win OSDev trl

obsidian pivot
mild sentinel
#

That’s not even enough to buy a game on a steam sale 💀

#

Atleast most games

obsidian pivot
#

you could be the proud owner of a coin with a moose

mild sentinel
#

I’m pretty sure I already have a Canadian coin somewhere in my house

obsidian pivot
#

polar bear coin?

mild sentinel
#

Not sure

#

I also have a 25 pesos coin somewhere too I remember

obsidian pivot
#

i have one euro

mild sentinel
#

I have a euro coin too

obsidian pivot
#

how much

bronze nexus
#

I have several euros

mild sentinel
#

My dad finds lots of coins and gives them to me when he cleans PSP1G_pspTrollar

mild sentinel
bronze nexus
#

(I live in Europe so everything is Euros)

obsidian pivot
#

i can read european how much is that

mild sentinel
bronze nexus
bronze nexus
mild sentinel
#

I will also take payment in CS2 skins tro

obsidian pivot
mild sentinel
bronze nexus
#

There's a €0,50 but it's fully brass

mild sentinel
#

Then it probably was a 1 euro coin

obsidian pivot
obsidian pivot
#

nice

bronze nexus
#

The cent coins 1 and 2 are no longer used, and 5 is rare now too

mild sentinel
#

Also as aside how the fuck is windows subsystem for Linux not ass?

bronze nexus
#

The cent coins are a copper color

mild sentinel
#

Like it’s running QEMU with KVM and audio and everything

#

With no fucking jank

obsidian pivot
#

at current exchange rates, that euro coin is worth this much

mild sentinel
#

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

bronze nexus
#

you have 1, 2 (no longer in use), 5, 10, 20 and 50 cent, and 1 and 2 euro coint

#

anything bigger is bills

mild sentinel
#

In fact in the US we do have 50 cent coins

#

And I think dollar ones

obsidian pivot
#

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

bronze nexus
#

lmao

#

why are you tasing bills

obsidian pivot
#

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 trl

#

(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)

mild sentinel
#

Only the US penny costs more to make than what it’s worth

bronze nexus
obsidian pivot
#

yes

mild sentinel
#

(for legal reasons i am not advising or endorsing you to melt coins into metal)

bronze nexus
#

Over here we just do the logical thing and discontinue the tiny coins

obsidian pivot
#

we discontinued pennies a while ago actually

#

idk what the us are still doing with those

mild sentinel
#

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

proper meteor
grand shadow
bronze nexus
#

lmao

opal lotus
#

is this real

obsidian pivot
#

lmao

willow rapids
#

ah yes my favorite country

proper meteor
# grand shadow

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...

mild sentinel
#

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

obsidian pivot
#

xD

mild sentinel
grand shadow
mild sentinel
#

I shall do that then o7

grand shadow
#

time to test some changes to the rtl8169 driver in real hw and also see if my ahci driver will work

mild sentinel
#

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)

grand shadow
#

sure thing

#

issue is

#

neither things I did worked

#

☠️ 🥀

#

neither rtl8169 nor ahci

mild sentinel
#

Damn 🥀

#

Well hopefully the hardware debugger will help Clueless

#

I could possibly also pipe it over the Internet and let you Telnet into it lmfao

#

(Through my VPN)

grand shadow
#

Something is wrong I think

viscid flame
# grand shadow

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!

grand shadow
#

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?

mild sentinel
grand shadow
#

the reason why its called scsi in linux is because it does some insane scsi -> ata translation or something

mild sentinel
#

Oh lmfao XD

#

Why 😭

grand shadow
grand shadow
#

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

grand shadow
#

Ahci hanged

#

Same issue as on my desktop

robust geyser
#

480k uacpi score 🥀

flint condor
grand shadow
#

4th gen xeon

#

☠️

grand shadow
grand shadow
#

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

mild sentinel
#

diddnt i hear about MSI issues here before or was that MISX?

grand shadow
#

That was my rtl8169 advertizing msix support but that being broken

#

Switching to msi fixed it

grand shadow
robust geyser
#

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

viscid flame
mild sentinel
grand shadow
#

It ran ubuntu but the gpu driver is borked, its an older nvidia gpu

analog berry
grand shadow
#

Im surprised astral didnt crash and burn

sage locust
#

Limine W

marsh sparrow
#

it's expected that the score is much lower on real hw ofc

robust geyser
#

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

marsh sparrow
#

yeah but it'll always be slower than on qemu

#

qemu does very few hw accesses during acpi init

analog berry
#

They could also like.. insert a Sleep or something

robust geyser
#

lmao

#

least fucked firmware

fleet osprey
#

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

marsh sparrow
#

;D

fleet osprey
#

and?

#

"super old" is like Pentium II

#

at newest

marsh sparrow
#

no pentium 2 is just unusable for today's workloads

fleet osprey
#

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

opal lotus
opal lotus
gritty shore
fleet osprey
#

compiling stuff would suck

gritty shore
#

Only disadvantage of xeons is their power consumption

fleet osprey
#

yeah I agree

marsh sparrow
opal lotus
fleet osprey
opal lotus
#

why make that point then

fleet osprey
#

also swap exists

opal lotus
#

that makes it even more unusable tho

fleet osprey
#

and it's practically slower than the P2 I was comparing as a reference for "super old"

#

mostly due to the low ram

mild sentinel
#

can you do a days worrth of work on the wii lol

fleet osprey
#

yes

#

I just said that kekw

mild sentinel
#

id love a blog post on that

#

of doing a days worth of work on wiilinux

fleet osprey
#

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

marsh sparrow
#

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

opal lotus
#

maybe if by that you mean sshing into a more powerful machine and doing stuff there meme

fleet osprey
#

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

marsh sparrow
#

isn't it going to be super slow due to the swapping though? the disk access times are probably not great either

fleet osprey
#

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

marsh sparrow
#

what storage interfaces does the wii have?

opal lotus
#

sd card

fleet osprey
#

SDHCI v1, EHCI, OHCI

robust geyser
marsh sparrow
#

out of that usb2 probably gives the higest speed (?)

fleet osprey
#

also EXI (the memory card ports) which is basically Weird SPI, running up to 32MHz, but that's not a serious contender ofc meme

marsh sparrow
#

weird that they have sdhci but decided to put the memory card onto a 32mhz spi lol

fleet osprey
fleet osprey
#

even the IPL and RTC in the GameCube were on EXI

marsh sparrow
#

ah right, these cards are only used when playing gamecube games, right?

fleet osprey
#

yup

marsh sparrow
#

makes sense

fleet osprey
#

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

willow rapids
grand shadow
#

Broooo Im dumv as fuck

#

Ahci sends a PSS irq and not a D2H irq on identify complete

mild sentinel
#

uhhh what are thoes btw lol

grand shadow
#

pio setup fis interrupt and device to host interrupt

#

indetify is a pio command

#

it worked on qemu because qemu is stupid

mild sentinel
#

ahhhh

#

lmfao

mild sentinel
#

na but how did they mess that up?

#

and not have it break things

grand shadow
#

it sends a d2h instead of a pss

#

so it worked on qemu and not on real hw

mild sentinel
#

yeah but wouldnt that break other kernels?

#

or "standards complying" ones

grand shadow
#

no idea

mild sentinel
#

good luck on finshing it btw

grand shadow
#

thank

#

its mostly just getting ahci working and then fkin rtl8169 memes

#

still no clue what the fuck is going on there

mild sentinel
grand shadow
#

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

mild sentinel
#

you got my laptop to test tomorrow for wiriting PSP1G_pspTrollar

grand shadow
#

bet

#

does it have an rtl8169

mild sentinel
#

im not sure

grand shadow
#

or compatible nic

#

if it does

#

unironically

#

if I fix the rtl8169

#

bug

#

install

#

astral

#

on

#

it.

mild sentinel
#

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

grand shadow
#

trvthnvke

#

its either a 8139 or a 8169

#

8139 is probably much easier to write a driver for though, considering qemu emulates it

formal patio
#

unless you have some ancient fucking piece of hardware you don't have a RTL8139

#

that thing is PCI-only

#

no express

grand shadow
#

I have fixed the stupid fucjing rtl8169 bullshit

hearty fulcrum
#

noice

grand shadow
#

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 troll

grand shadow
hearty fulcrum
marsh sparrow
#

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

grand shadow
#

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

viscid flame
grand shadow
#

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

robust geyser
#

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

grand shadow
#

Sure

robust geyser
#

but yeah just give me a heads up

grand shadow
#

What were you blocked on just for me to start thinking about it

robust geyser
#

making the console tty work with it

grand shadow
#

Alright

grand shadow
#

Wonder if there is a way to emulate joysticks in qemu

#

Joysticks and buttons

mild sentinel
marsh sparrow
grand shadow
#

@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

robust geyser
#

i tried ripping out keyboard and mouse abstractions

grand shadow
#

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

robust geyser
#

i can give you a quick run down if you want

#

it's really simple

grand shadow
#

Sure

robust geyser
#

at least the basics, there are some more "advanced" things

robust geyser
#

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)

viscid flame
robust geyser
#

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)

sage locust
#

do binary compat

viscid flame
#

astral linux compat when

robust geyser
#

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

grand shadow
#

Maybe you can just relay these events to the console driver somehow

grand shadow
viscid flame
grand shadow
sage locust
#

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

grand shadow
#

Ehhhhhh

sage locust
#

give me a counterargument

#

other than vibes

grand shadow
#

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

sage locust
#

you are free to return ENOSYS even with binary compat, most libcs (glibc, musl) and software gracefully handle that

grand shadow
#

How is glibc going to handle me enosysing a drm ioctl or open

robust geyser
#

libdrm will

sage locust
#

yeah lol

robust geyser
#

and will bubble it up to whatever called into it

viscid flame
grand shadow
#

Which will then crash because it wants that ioctl to work abd I dont want to inplement drm

robust geyser
#

but you won't get drm ioctls if you don't expose drm devices in the first place

sage locust
#

yeah lmao

robust geyser
#

so that will just fall back onto other interfaces

#

eg. fbdev

grand shadow
#

Or something like netlink

robust geyser
#

that's fun

sage locust
#

binary compat is completely viable and these are non-issues as exemplified by other OSes here already

robust geyser
#

don't you just love udev

grand shadow
#

I dont want to implement those apis

robust geyser
#

don't you want to run systemd so bad

sage locust
#

^

grand shadow
#

Rather not

robust geyser
#

great point

#

id rather run openrc as well

grand shadow
#

Idk who said Id want either one of these

robust geyser
#

but udev is an essential part of any linux system so that sucks

grand shadow
#

But I literally never said that

sage locust
#

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

grand shadow
#

And even if I did I would literally just use a mlibc linux distro

grand shadow
#

Anyhow I am not doing linux binary compat

opal lotus
#

that includes netlink

#

it's one of the reasons I don't like binary compat with linux

opal lotus
#

but yeah fbdev is just much easier

marsh sparrow
#

Astral is not even linux source compatible, is it?

#

Like, it uses sysctl and stuff like that and not something like sysfs/procfs (?)

grand shadow
#

No sysfs/procfs yeah

opal lotus
#

yeah

analog berry
#

Lol everyone was hating on Linux binary compat before

#

Now everyone does it nooo

grand shadow
#

yeah its such a weird change of mind

winged basin
#

evdev is very reasonable

#

freebsd is having that nowadays

opal lotus
#

yeah

#

evdev and drm are not linux only interfaces

robust geyser
grand shadow
#

@robust geyser btw how does joysticks etc work? Is it just like sending abs/rel events?

robust geyser
#

pretty much, yeah

grand shadow
#

And with keys for the buttons

robust geyser
#

yup