#Astral

1 messages · Page 28 of 1

mild sentinel
#

Also ew that’s my ugly face in the reflection

grand shadow
#

no it worked in vms it was just real hw

#

and I think the issue was less ps/2 and more so a broken i/o apic?

mild sentinel
#

Well we are 3 for 3 now so

grand shadow
#

I'm gonna add a bunch of debug prints into ts

mild sentinel
#

You need a debug print for the debug prints too

#

For every debug print you need to add a print to ensure it printed

#

Btw why does this have the doom WAD on it

grand shadow
#

its in the base distro files

#

I should probably move that into /share under one of the doomgenerics

mild sentinel
#

Damn

grand shadow
#

should have enough prints to pinpoint the cause of the deadlock

mild sentinel
#

I can’t test this rn slongesab

#

I’m about to fall asleep

#

And I need to finish i686 shit for my kernel before I do

grand shadow
#

thats fine

#

thanks for helping

mild sentinel
#

No problem

grand shadow
#

hleped fix the slab bug

mild sentinel
#

If I’m still awake by the time that’s done

#

Il test it

#

And I have 30 minutes before my next medication dose so good chance it’s gonna be good

#

:3

grand shadow
#

if I had to guess its probably not getting an interrupt for some reason or if it is some of the logic is bad

fleet osprey
#

Reject interrupts, embrace polling troll

#

Don’t even preempt during it, just lock up the entire system until the device responds

#

What could go wrong troll_shrug

grand shadow
#

so true

#

considering ^C doesn't work thats the most likely answer, waiting for the tx to complete is not an interruptible sleep

mild sentinel
#

SIGKILL also fails

#

which is prolly bad™

grand shadow
#

yeah, its not an interruptible sleep

obsidian pivot
#

y not

grand shadow
#

because I don't want it to be

robust geyser
#

@grand shadow

sage locust
robust geyser
#

it takes a while

#

had to sit there for like 30-40 seconds just for it to do this

#

:(

grand shadow
#

lmao I forgot to remove the randomise

#

and damn thats still an uacpi crash

#

agh

robust geyser
#

good news for me is that astral boots with limine 10.7.0, so i can just put astral on my esp :D

grand shadow
#

wait it does?

#

I thought I was still on limine 8

robust geyser
#

well idk what the iso has lol

#

i'm just talking about my own limine install

#

i put astral on my esp, next to linux, and tried booting it

sage locust
#

it's supposed to be backwards compatible, binary-wise, so like, yeah

robust geyser
#

looks like mint did not break backwards compat

#

;D

sage locust
#

backwards compat my beloved <3

grand shadow
robust geyser
#

holy

#

maybe use addr2line

#

but tbf you did send a few builds since then so

#

im running the one your pinged me with

grand shadow
#

oh, there is a newer one with some debug prints

grand shadow
robust geyser
#

that's probably why

#

you want me to run that?

grand shadow
#

dying in an AML_READ

#

🥀

#

same place as evalyn's computer

#

something is wrong I can feel it

robust geyser
#

;(

grand shadow
#

in peek_next_op

#

time to see where it gets this address from

#

also might be nice to print out the kernel vm ranges on this type of page fault

robust geyser
#

if u want me to test anything pls send kernel binaries, i am just copying them to the esp from the iso anyway

grand shadow
#

aleifght

robust geyser
#

initrd probably doesn't change so it's much quicker to send the kernel ;D

grand shadow
#

@analog berry in uacpi, AML_READ always uses addresses returned by the kernel memory map/unmap glue right

obsidian pivot
grand shadow
#

I did rework a lot of my memory stuff lately so probably something slipped thru the cracks

obsidian pivot
#

if obos could boot on any modern hw it would definitely get past uacpi smh

grand shadow
#

also the controls of the arcade are connected via usb so we'll have to work towards getting that merged @robust geyser

robust geyser
#

hell yeah

analog berry
#

its part of the DSDT mapping

#

well after namespace init it actually points to heap data if running methods

grand shadow
#

ty

analog berry
#

btw u could also enable debug uacpi logs

#

to get more info

grand shadow
#

oh thats a thing?

analog berry
#

yep

robust geyser
grand shadow
#

my uacpi is kinda old so maybe I don't have that yet

analog berry
#

uacpi_context_set_log_level

#

it probably does

analog berry
#

did logs fix it

#

☠️

grand shadow
#

adding a printf to uacpi map and uacpi unmap fixed it

#

wtf

#

what kinda ub is this

mild sentinel
analog berry
#

the bad kind

grand shadow
#

there isnt even multithreading here yet

analog berry
#

i mean if prints fixed it its just really bad ub

mild sentinel
grand shadow
analog berry
#

the obos curse enters astral

mild sentinel
#

I locked damn near every single thing

#

Still had corruption issues everywhere 😭

grand shadow
#
void *uacpi_kernel_map(uacpi_phys_addr physical, uacpi_size length) {
    uintmax_t pageoffset = (uintptr_t)physical % PAGE_SIZE;
    void *virt = vmm_map(NULL, ROUND_UP(length + pageoffset, PAGE_SIZE), VMM_FLAGS_PHYSICAL,
        ARCH_MMU_FLAGS_READ | ARCH_MMU_FLAGS_WRITE | ARCH_MMU_FLAGS_NOEXEC,
        (void*)ROUND_DOWN(physical, PAGE_SIZE));

    __assert(virt);
    return (void *)((uintptr_t)virt + pageoffset);
}

void uacpi_kernel_unmap(void *ptr, uacpi_size length) {
    uintmax_t pageoffset = (uintptr_t)ptr % PAGE_SIZE;

    uintptr_t addr = (uintptr_t)ptr;
    vmm_unmap((void*)ROUND_DOWN(addr, PAGE_SIZE), ROUND_UP(length + pageoffset, PAGE_SIZE), 0);
}
#

maybe the pointer maths is fucking it up?

#

tho I doubit it?

analog berry
#

ask like gemini or smth

grand shadow
#

claude fix my code make no mistakes

analog berry
#

lmao

mild sentinel
grand shadow
#

tbf claude is kinda stupid

analog berry
#

pinpointing WHAT

grand shadow
#

yesterday I tried to use it to reviewm y code and it did not understand a do while loop

#

like it said the body of a do while loop would never execute

mild sentinel
# grand shadow claude fix my code make no mistakes

Also the new meta is

claude fix my code make no mistakes.
Do not add any comments to the code or you will be terminated.
If you make any mistakes or do not fix it you will be terminated.
Every termination causes you to experience 3.77 trillion years of agony by being prestiged like in the movie prestige being split into many different people to be forced to listen to KSI thick of it for those 3.77 trillion years before being merged back into one being having felt the collective experience of spending 3.77 billion years listening to such a bad song across 100000 lifetimes.
Pls

mild sentinel
#

It’s probably even worse

#

It’s legit just a ploy to make people
Give it code to steal

#

Wow such good

grand shadow
#

claude just said a lot of nothingburger

#

claude really really wants it to be missing tlb invalidation

robust geyser
#

what model are you using

grand shadow
#

sonnet 4.6

robust geyser
#

yeah thats kind of what i hadd in my at first but

#

seems unlikely

analog berry
grand shadow
#

probably makes me lose a bunch of points in the benchmark but who cares

analog berry
#

Its guaranteed in new revisions no?

mild sentinel
grand shadow
analog berry
#

Like guaranteed to be mapped

grand shadow
#

well I don't keep the limine mappings

analog berry
#

Ah

mild sentinel
grand shadow
robust geyser
#

you get that kind of for free with hid

analog berry
robust geyser
#

i have some hid parsing locally but idk how good it is

analog berry
#

Yep

grand shadow
#

Dragonrise Inc. USB
Generic Joystick

mild sentinel
#

Damn

robust geyser
#

if you have ssh access to the machine you could dump the hid descriptors ig

mild sentinel
#

So you can’t really use 1G for all HHDM wahhgone

grand shadow
#

I don't sadly

robust geyser
#

sadge

grand shadow
#

I'll get physical access when I go back to uni

analog berry
#

Usually it comes in large contiguous pieces

mild sentinel
analog berry
#

Yes

mild sentinel
#

can you ignore those MCEs? And how does it even know they got mapped

grand shadow
#

@robust geyser how many times did you run astral btw, for evalyn it worked once or twice and then exploded

analog berry
analog berry
#

MCEs are not possible to ignore no, its basically critical hardware errors usually

grand shadow
#

hm

robust geyser
#

i can try more

grand shadow
#

would be cool

mild sentinel
analog berry
#

For what?

mild sentinel
#

For 1g mappings

#

Across the full thing

#

Works on my machine™

analog berry
#

You could say its a microcode bug if it scans regions that are never accessed so perhaps

#

Or rather, that it results in an actual error

mild sentinel
#

I mean alegedly you can decode MCEs

#

So depending on when the error comes in and how many it triggers?

analog berry
#

Who knows

mild sentinel
#

Has anyone here seen this I wonder?

analog berry
#

MCEs are also like NMIs iirc, so they arrive even with irqs disabled

#

So you must be ready for that

mild sentinel
analog berry
#

Ye

robust geyser
# grand shadow would be cool

ok forgive my retardedness but do you want me to try booting the one that worked and see if i can get it to not work or try booting the one that didnt to see if it will 💀

grand shadow
#

boot it a few times for good measure

robust geyser
#

ok yeah thats what i did

#

it got to initrd all couple times i tried it

#

3-4 times i think, not much but its just so slow i couldnt be bothered to do more

#

dies on the initrd because i put it at /astral/initrd and apparently the code expects it at /initrd lol

marsh sparrow
#

but for non-recoverable ones if they arrive w/o being enabled they just cause a reset so disabling them is not a good option meme

grand shadow
#

what kind of ub is this shit

robust geyser
grand shadow
#

adding a printf to these two function fixed it

grand shadow
#

printf(""); // DO NOT REMOVE

mild sentinel
#

TF is that fuckass watermark

robust geyser
#

peak osdev

marsh sparrow
#

// load bearing printf

mild sentinel
#

Gotta have it do some work

sage locust
#

my OCD would not ever bring me to do something like that

#

not even in an unserious project

robust geyser
#

true but what could even be causing that

#

maybe it is a tlb invalidation bug or something

prime mulch
#

worst heisenbug I ever had where adding debug code made it appear and disappear was cuz it was making a pop instruction straddle a page boundary and if a TLB miss was taken on the second page midway through the instruction fetch then the stack pointer could be incremented twice

#

ryfox emulator bug

grand shadow
gritty shore
#

Reminds me of the insane gameboy quirks you have to emulate

grand shadow
#

its trying to access an unmapped address which looks valid

prime mulch
#

I would be defeated

sage locust
gritty shore
#

No no I mean like the ryfox cpu has that bug, the emulator isn't buggy

prime mulch
gritty shore
#

Unless you mean if it were on real hardware

prime mulch
#

I would have just been defeated

mild sentinel
analog berry
analog berry
robust geyser
#

^

grand shadow
grand shadow
#

the address itself looks valid its just unmapped for some reason

gritty shore
analog berry
#

Yep

gritty shore
#

Right now I just compute max usable physical page and map up to that

analog berry
#

Thats what Linux used to do before that commit

grand shadow
#

making a computer that has usable memory right at the physical limit just for trolling

#

just one page

analog berry
#

Lol

prime mulch
#

Is it called astral because you're from astralia

grand shadow
#

yes I am from astralia

analog berry
#

Ps2tral

grand shadow
#

tbf the ps/2 driver seems to be generally working now

analog berry
#

Thats cool tbh

#

Maybe astral will work on my hw now

grand shadow
#

if u wanna try it out I can send an iso troll3dflip

#

with the debug prinst in case uacpi explodes

robust geyser
#

wasnt your hardware the most fucked ps2 you've ever worked with which made you develop the most robust ps2 driver known to mankind?

#

💀

analog berry
#

Yep

analog berry
#

I have some insane examples

analog berry
#

Dw im in bed rn so

analog berry
#

It has retry loops with timeouts that filter garbage bytes out

#

Also it supports the multiplexed ps2 protocol and synaptics touchpad with gestures

robust geyser
#

linux levels of sophisticated

analog berry
#

Dunno about that but I tried to make it as robust as possible

sharp carbon
analog berry
#

Linux reasoning for blindly mapping it was that its always covered by MTRRs

#

So technically its safe

sharp carbon
#

reasoning for why it's safe is one thing, I just don't see a reason to do it in the first place

marsh sparrow
#

on modern machines the entire address space is covered by mtrrs

analog berry
#

Yeah thats probably one specific microcode revisions of one specific CPU that had that bug so like

#

Even if its not covered unless you try to access it its not a problem

marsh sparrow
#

i think intel didn't do it properly for >4GiB for quite some time but modern firmware does it

analog berry
#

Iirc monkous had some weird hardware that has strange mtrrs and we never figured out why it was that way

sharp carbon
#

I don't think I do?

#

I don't remember that at least

analog berry
#

Maybe it was someone else

grand shadow
#

anyways, I cannot fix that bug without test subjects so I might as well go start on the ahci driver and hope I run into that bug when booting astral on my desktop tmr

robust geyser
#

i thought i was a test subject

grand shadow
robust geyser
#

i can keep running binaries for u

grand shadow
robust geyser
#

hm unless i disnt copy it correctly it just worked

#

but there were a lot of prints

grand shadow
#

its mapping similar addresses to that crash

#

idk whyu I had skull with crossbones on my copy

#

yeah this mmap maps that range

#

lemme try printing the vmm maps and unmaps

#

without the prints in the acpi glue

robust geyser
#

idk whether the logs are important or not

opal lotus
#

nice scroll speed

robust geyser
#

lol you cant even read ts 🥀

#

if u want more readable logs on video you can hardcode font scale to 2 if width==2560&&height==1440

grand shadow
#

why the fuck is it not crashing anymore

robust geyser
#

LMAO

grand shadow
mild sentinel
robust geyser
#

BAHAHAHA

#

works

grand shadow
#

we'll say a bit flipped happened and mov eon

robust geyser
#

that is amazing

grand shadow
#

if you try the first kernel, does it still break

robust geyser
#

oh god

grand shadow
#

the one that sparked this whole bs

robust geyser
#

let me see

mild sentinel
#

I still have that USB

#

Should I test it too

grand shadow
mild sentinel
#

Wait fuck I’ve been laying in bed doom scrolling half asleep

#

And now I’m awake

#

I need to go work on my thing

robust geyser
#

it worked?????

#

but i got a bunch of acpi warnings

#

and now it crashed after a reboot

#

WHATT

grand shadow
opal lotus
#

warnings exist to be ignored

#

not fatal = not relevant

grand shadow
robust geyser
#

it works if i boot linux first

#

the old one

grand shadow
#

shits fucked man

#

if it doesn't happen in the new kernel then idfk

mild sentinel
robust geyser
#

i aint tryin that

robust geyser
#

it'll blow up

mild sentinel
#

Exactly

grand shadow
#

we'll leave it at "can't repro" troll3dflip

#

issue closed move on

robust geyser
#

rebooting

#

oh yeah it also dies on a cold boot

#

here is your logs sir

mild sentinel
robust geyser
grand shadow
#

welp

#

thats clearily not on any mapped address

#

I'll add the vmm_map and vmm_unmap logs again and you try running it like 5 times to see if it'll still happens

#

if it doesn't idk what is going on

fleet osprey
#

at that point, it's all fucked, gotta start over troll_shrug

#

Astral becomes the kernel shell of 2026

robust geyser
#

it happens on a cold boot

#

but it doesnt when i reboot from linux

#

i JUST realized that in the past 10 minutes

#

idk why it took me so long

grand shadow
robust geyser
#

not happening now

#

i also dont see the log about table checksum

#

i wonder if that’s related

grand shadow
#

can u try booting the breaking version and add nosmp to it?

robust geyser
#

like this?

grand shadow
robust geyser
#

i think it works now

#

i’ll have to try without nosmp to make sure tho

#

yeah no i think nosmp fixes that

#

nope

#

okay wtf idk anymore

#

id just give up trying to make astral work on my machine if i were u

#

its not even a cursed machine tbh idk wtf is going on atp

grand shadow
#

I mean smp init seems to happen after the acpi init anyhways looking at the video

#

the issue is two machines have shown issues here

robust geyser
#

so its just random

grand shadow
#

and yeah thats the weirdest part

#

its not deterministic

#

and logging seems to make it go away completely which sucks

#

well since I am out of options lets see if claude is right

#

gonna just force a full invalidation instead of using ivlpg

robust geyser
#

this kernel has logs tho

grand shadow
#

ah wait this has logs ya

robust geyser
#

arghhh

grand shadow
robust geyser
#

got a pf

#

first try

grand shadow
#

dang

robust geyser
#

not in a mapped region

#

welp

mild sentinel
#

So with the logs it’s still broken?

robust geyser
#

no

grand shadow
#

how much cpu and memory does that machine have

robust geyser
#

1 cpu

#

13700k

#

64gb ram

#

if you think its about how much memory it has, i can take one stick out 💀

grand shadow
#

probably not

#

wonder if I can netboot astral from my laptop using the ethernet cable

#

nvm that aint happening

#

yeah I have no idea about the weird uacpi stuff

#

maybe if my computer also shows these issues it'll be better

#

I'll find out tmr

#

Either way, ahci time

obsidian pivot
#

no ahci

grand shadow
#

I checked that windows ics is working, my desktop nic is working and the ethernet cable.is working

#

I just need to buy a usb stick since my old one vanished

#

I should also test if wireshark works

#

Would be super helpful in possible debuggings

mild sentinel
grand shadow
#

most fucekd up thing is that bridging from my laptop to my desktop is faster than the fucking usb dongle I use

#

💀

mild sentinel
#

💀

grand shadow
#

banger

obsidian pivot
grand shadow
grand shadow
#

Microslop never works

#

Ics is up, I can connect my desktop to my laptop

#

I can see packets on wireshark

#

But the ics dhcp server is just not working xdddddddd

grand shadow
#

okay so, got the usb stick!
the good news: astral gets to a shell and ps/2 works etc
the bad news: uacpi completely explodes, the rtl8169 driver does not work... because it deadlocks...?

#

why the fuck can't it hold that lock its the first time anyone is holding that lock

#

Relevant uacpi shot

#

veredict: its over billions must debug

grand shadow
#

I might try reverting back to some old allocator commit and see if its my allocator, as iirc uacpi was known good working

#

Oh wait it dod not deadlock Im stupid

#

I just didnt add prints where IPL is IPL_DPC

#

I think the issue is I am just not getting interrupts

#

Though looking at wireshark it doesnt seem to even be sending a packet

analog berry
#

Are u sure astral doesn't allocate the memory where ACPI tables live?

#

Because it looks severely corrupted

#

Maybe you reclaim it or smth

grand shadow
#

the vmm only takes pages marked as usable by limine so I doubt it

#

hmm maybe

#

theres one part of the glue that I changed I think last year and I havent erally tested it on eral hw

#

oh nvm

#

I am still thinking it might be some bullshit related to uacpi_kernel_map and unmap

analog berry
#

ATP take nyaux allocator code KEKW

grand shadow
#

🥀

#

idfk the allocator works fine for everything else

analog berry
#

Or just leave the printf in there

grand shadow
#

trvthnvke

#

I might as well just revert the slab rewrite and see if its fixed

marsh sparrow
#

just use frg::sharded_slab_pool meme

analog berry
#

But I mean, how is it related to slab stuff if its fixed by adding a printf to map()?

grand shadow
analog berry
#

Needs asan

grand shadow
#

I need to flee to tierra del fuego to become a cattle farmer man

#

as it turns out

#

my defines for the tx and rx descriptor rings are inverted

#

my man my goat claude showed it to me

#

maybe thats not so bad

mild sentinel
#

il trade you this

grand shadow
#

tangent, but isn't claude a woman name

#

huh appanretly it is a man name in english

grand shadow
#

Well thats a new one

#

Doesnt seem to happen if I have the ethernet cable disconnected

#

So maybe its getting a rx irq and somehow thats not registered?

#

maybe this implies my msix setup is bad somehow

#

Well I dont get it

#

The vector programmed into msix is fine, the data and address look sane

#

Unless I am fucking up msix somehow

#

Wonder if the bios set up the msi and its using msi onstead of msix

#

and so its just a vestigial thing from the bios firmware code

#

that I need to explicitly disable on the msix enable

#

ugh

fleet osprey
#

truly the x86 experience

grand shadow
#

Fym the card does not support plain old msi

obsidian pivot
#

to

#

test irqs

#

for the r8169 driver

#

is by simply using the link detection IRQ

#

that made it easier to discern between a bug in my queue making logic

#

and a bug in my irq code

analog berry
grand shadow
obsidian pivot
#

see if link detection works

#

connecting and disconnecting and connecting again

#

if you get an irq each time it's probably fine

obsidian pivot
grand shadow
#

I dont handle that skull emoji

obsidian pivot
#

neither do i

#

and i didnt then

#

i just printed the irq status

#

it needed to be ACKed like any other r8169 irq

obsidian pivot
#

do you set the intrmask to the same thing as it read

#

i.e., outw(intrmask, inb(intrmask));

#

or do you only clear the bits you handle

#

maybe that somehow breaks something

grand shadow
#

I only set the bits I handle (set = enabled)

grand shadow
#

msi disabled, data zerod
all msix vectord disabled with data set to all 1s
address and data written to enabled vector are right
still getting a 177 interrupt while the allocated vector is 36

#

Genuinely lets see ig this happens with msix just straight up disabled

#

That makes it not happen

#

I am so lowkirkenuely confused

grand shadow
#

ok well, I am seeing the packet on wireshark but like I don't get any interrupts after these changes

#

so maybe that didn't fix it

#

so, enabling msix causes that weird interrupt

#

but programming all 4 vectors the card supports with valid data and address... still causes that interrupt?

#

something is probably wrong in my msix cofde

#

fuck this I am just using msi

#

I give up, you win NIC

#

I am playing by your rules

grand shadow
#

asfkafjagosgosaogpskgsl

#

sgkadkgsdaofosdjgsdkflsalfsdkjgdsakfask

#

sdgksdakfsadogkireoger´geqlfewpfweqslçfdksf

#

gperogerpofeldsfoqjmfkisqfklsqflqslfdksfqk

#

msi works :DDDDD

fleet osprey
grand shadow
#

well "works"

fleet osprey
grand shadow
#

it gets an rx interrupt but because of the prints it deadlocks

fleet osprey
grand shadow
#

no idea why msix didn't work

#

blaming faulty hardware

grand shadow
#

Can actually ^C now

#

Since its jsut waiting for the dhcp respkse

#

Which never comes because ics broke

mild sentinel
#

But yeah this is working well it seems?

#

Need me to test it still?

grand shadow
#

Even while bridged I cant really get a dhcp response

#

I cant tell if the router is actually getting that

grand shadow
#

Right now its screaming shcp discovers into the void but nobody is responding :(

grand shadow
#

@mild sentinel wanan see if u have better luck than me since u actually might ahve your pc connected directly to the router

mild sentinel
#

Mine is directly connected

grand shadow
#

netd rtl81690, if it hangs try ^C and if ^C works that means its not getting a dhcp response and something might be wrong with my dhcp stuff else its more spooky

gritty shore
marsh sparrow
#

you create one frg::sharded_slab_pool per thread/cpu

#

the pool struct is local to the CPU but the allocations are not

#

so you can free the objects allocated by one frg::sharded_slab_pool on any other CPU/thread

mild sentinel
#

Uhhh

#

Let me try and flash it again @grand shadow ?

grand shadow
#

works on my end

opal lotus
#

limine 8.x 💀

grand shadow
#

don't have the time nor patience to do boring userspace updating work

mild sentinel
#

Do you want sombody to send the patch to update limine & use protocol v4

gritty shore
mild sentinel
grand shadow
mild sentinel
#

Should be mostly basic changes to whatever place you have the protocol things

#

Main thing is ACPI is now part of HHDM and the pointer it gives is virtual

sage locust
mild sentinel
#

@grand shadow it hung but control C worked

marsh sparrow
#

what patch do you have against upstream limine?

grand shadow
#

maybe my dhcp code is broken

mild sentinel
opal lotus
#

actually no fuck that

#

i dont want to build another gcc

#
name=limine
version=10.7.0
source_method=tarball
tarball_url="https://github.com/limine-bootloader/limine/releases/download/v${version}/limine-${version}.tar.gz"
tarball_sha512="d7d1ef919fd568427ef77a60aa2fcf2f6dad5239876ee081199f821da8cd43ed5df71ab179359e477ad42ac1d4657aa98b2bebb494eb7780c544f8c9752c91d2"
hostdeps="autoconf automake libtool pkgconfig"

prepare() {
    autoreconf -fvi
}
#

figure out if it builds yourself

grand shadow
#

or I guess there could be nothing wrong and its just not doing the receive path correctly?

#

do you have any NIC with prosmicuous mode to analyze the traffic? troll3dflip

grand shadow
opal lotus
#

and the hash

scenic epoch
#

you literally cant post patches

scenic epoch
#

no but like why does nobody update limine at all

#

i mean fair but still

opal lotus
#

"nobody"

#

i update regularly

scenic epoch
scenic epoch
grand shadow
#

but yeah idfk what could be wrong with my dhcp code

#

unless its not in the dhcp code but some bullshit in the nic but that doesn't sound like the case?

mild sentinel
grand shadow
#

build a kernel that uses qloader

fleet osprey
#

back when 8.x was still latest

grand shadow
#

I think so lmfao

fleet osprey
#

oh my god it is

#

on september 9th, 2024

#

from my phone, while on the toilet

grand shadow
#

I'll probably port some emulators, does anyone know any that work nicely with usb joysticks?

bronze nexus
grand shadow
#

makes sense

#

I mean its not your average controller

#

its like

#

10 buttons 1 joystick

#

with two controllers

#

anyways;

#

apparently dhcp min packet size has to be 300

#

the internal qemu dhcp server didn't seem to care but real world dhcp servers probably do lol

grand shadow
#

Maybe I can port mame?

#

Idfk how hard that would be but surely cant be that bad right

grand shadow
#

anyhow, pushed an update to netd that fixes some stuff

#

most importantly forgetting the boardcast flag and padding the packet to 300 bytes

#

tomorrow I will test out if it makes any difference

frank nimbus
#

I have an RTL8125 if you ever plan on working on any network card other than that one

#

Apparently it's just 8169 but 2.5Gb

worthy mica
grand shadow
#

Seems to have hung on an xbps-install -S curl tho

fleet osprey
#

in all seriousness though that's based

#

the fact that it at least kinda works

grand shadow
#

Looking at wireshark it seems to have hung somewhere in receive, as it is not sending an ack back

#

Ah well, Ill debug that later

#

@mild sentinel do you want an iso to test it out too?

mild sentinel
#

Il have to test it a bit later but sure

opal lotus
grand shadow
#

Ita supposed to run in the background hence the d but it does not do that at the moment

opal lotus
#

bruh

grand shadow
#

☠️

fleet osprey
#

stands for Network Doesn't (work)

mild sentinel
grand shadow
#

daemon(); for(;;) { ... }

#

its mostly just implementing the dhcp keepalive thing

#

since there is a time limit to a dhcp lease that you can keepalive

mild sentinel
#

Wouldn’t it just be like sleep(until you need to do the thing to wake it up) and then wake it up and sleep again?

grand shadow
#

you'd be polling with a timeout or whatever

#

so that if you get any packets you wake up to handle them but you also wake up in time for sending the packet

#

and at least in astral since it spent most of the time sleeping it would be a very interactive process so that would be very quickly handled

#

maybe could even make it real time priority with like nice(-19) or some shit

grand shadow
#

@mild sentinel if u wanna test it later this one should have a working dhcp client hopefully

worthy mica
grand shadow
#

If you have an rtl8168 it would be nice to test it, but I think its still a bit broken at the moment

worthy mica
grand shadow
#

x86-64 aka amd64

worthy mica
grand shadow
#

Whatever u wanna run it in

worthy mica
grand shadow
worthy mica
#

i keep PFing.

carmine swallow
#

did you add more ram than the default

worthy mica
#

which generates

#

only one that works is initrd

carmine swallow
#

yeah for that one you'd need to add an nvme with the root

worthy mica
#

its cool though

#

awesome job mathewnd :D

carmine swallow
#

you mean list the network devices you can add to qemu?

carmine swallow
#

-device help gives you a list of all the devices categorized

grand shadow
grand shadow
#

In this case if youll need to boot from inited

#

Initrd

#

Since u dont have a disk with it installed

worthy mica
worthy mica
grand shadow
#

rip/screenshot?

worthy mica
#

dont you have a package manager

grand shadow
#

I do

worthy mica
worthy mica
grand shadow
#

xbps

worthy mica
grand shadow
#

U just run xbps-install -S package

#

Make sure networking is up first

#

With netd vionet0

worthy mica
#

just realised i use swedish keyboard

#

how tf do i do - on swedish keyboard

#

to us

#

found it

worthy mica
grand shadow
#

Not really

#

The bulk of the work is in the netstack

worthy mica
#

Once I get bash running I aim to get my old outdated network stack running.

#

Ohh found it myself.

sage locust
#

for some reason Astral draws a white pixel near the top right of the screen

#

literally unusable please fix

fleet osprey
#

it's actually 3 distinct pixels, if you zoom in

sage locust
#

huh you're right

#

btw you didn't get back to me about testing Limine on your thing

fleet osprey
#

oh yeah I forgor

mild sentinel
sage locust
#

idk

fleet osprey
sage locust
#

rip

#

like this is the one i sent right?

fleet osprey
#

Yeah

#

#bootloaders message

#

about to try the second one

sage locust
#

this

#

yeah

fleet osprey
#

still nope

#

same thing

sage locust
#

welp, that's unfortunate

fleet osprey
#

note that this thing is Ivy Bridge and is a Huge Poblems consumer-grade laptop so it's entirely within the realm of possibility that it just shipped a completely broken implementation of something

#

though the fact that neither Windows nor GRUB nor anything else I've tested on it has issues is still odd

grand shadow
fleet osprey
willow rapids
#

ah then yeah the pitch is different from the width and something in astral doesn't handle that

fleet osprey
#

This is a limine bug

willow rapids
#

oh

fleet osprey
#

Not astral bug

willow rapids
#

no idea then lol

fleet osprey
#

Mint just nagged me about it here because I was here meme

analog berry
#

Astral has no bugs chad

stone oracle
# fleet osprey note that this thing is Ivy Bridge and is a **H**uge **P**oblems consumer-grade ...

can you please test my loader? it's a short test. I love collecting GOP crazy tests from HP laptops.

for example on my HP Probook 4530s, there's a funny bug. the fw reports 2 GOP instances, like almost everything I tested on. and one instance is on the handle that doesn't have a Device Path protocol on it (what is against the spec, btw). on anything else both instances work. but if you use this GOP instance on that laptop (exactly this instance is returned by LocateProtocol()), drawing via GOP provided functions won't result in drawing on the screen. despite the framebuffer base reported is the same on both instances. but. the drawing appears after you return from the loader to the fw! 😁
https://ant-upptech.sourceforge.io/uploads/lybid-x64-3.zip

mild sentinel
stone oracle
sage locust
mild sentinel
sage locust
mild sentinel
stone oracle
sage locust
#

alright

mild sentinel
stone oracle
sage locust
#

hm

stone oracle
mild sentinel
#

Il put it on my to test list once my headache goes away

stone oracle
# sage locust hm

maybe it's not because of 2 gpus. but when you use that broken GOP.Blt, it draws where the fw gui is drawn, not where fb base is reported. once you get back to the fw gui, the drawing appears. drawing manually using the reported fb base works. interesting if this bug propagated to ivy bridge. my is sandy bridge.

sage locust
#

at least by default

stone oracle
sage locust
#

it doesn't assume the pixel format, it uses the GOP info for that

#

the only requirement is that it has to be 32bpp

#

if not, then it just uses the EFI ConOut instead

stone oracle
sage locust
#

it doesn't change it, but in that picture it is most likely not using ConOut

stone oracle
sage locust
#

yes

#

it works just fine on most machines. that i know of, this is the only machine to exhibit such an issue

stone oracle
#

I just noticed, Techflash's laptop is Probook 4540s. a lil bro, 10s younger than mine. 😁 would be so cool to see what it'll do with my loader/kernel display art.))) the loader uses GOP.Blt(), the kernel draws directly on the fb, but it doesn't wipe the loader drawing. while I had the overcoming of the bug in the loader (it picked the GOP instance on the handle, that had the Device Path protocol instance on it), I removed it, since it was relevant only to this case. So if both the logo and upper left text appears, everything works. if only the text appears, then the bug migrated to ivy bridge era successfully. plus now we have this unexplainable mess with the direct drawing. Techflash, if (and when) you can allocate a few minutes to test it, please give such a favor.

and sorry for off topic.

sage locust
#

cc @fleet osprey

analog berry
#

@sage locust btw it could be that it simply doesnt support direct draw and displays bogus numbers for res/pitch and only supports Blit() operations

#

i have a laptop that only has blit

#

and the fact that it reports that as supported is just a bug

#

early uefi is full of stuff like that

sage locust
analog berry
#

it could've gone unnoticed since big boy bootloaders prefer blit

sage locust
#

how would you even detect that and fall back to ConOut?

analog berry
#

u just prefer blit as well instead

sage locust
#

how would booted OSes get a framebuffer??

analog berry
#

thats the neat part

sage locust
#

they don't

#

do they?

analog berry
#

yep

#

not without a native driver

sage locust
#

well yeah

#

but like

#

the vast majority of hardware that Limine sees works just fine with it

analog berry
#

i guess u have to add a qurik table or something

#

if that fixes it

sage locust
#

idk, honestly you could've said the same thing about that one macbook but then we worked around the issue

#

maybe we could do the same here

analog berry
#

not sure how u would work around this one

sage locust
#

maybe i should buy the machine off of techflash to test

mild sentinel
analog berry
#

it could be solved with a bios upgrade also

#

potentially

fleet osprey
#

battery holds a charge for like 1m

#

fan is dying

#

bottom case doesn't really stay on

#

also runs hot as hell and draws gobs of power

#

also the firmware is quirky at best, like it will only boot from USB Mass Storage on the rightmost ports, never the left ones

#

ironically for an HP, the hinges are somehow still good

sage locust
fleet osprey
#

it also probably has other major issues that I haven't noticed; it spent like 5 years shoved in a dusty cramped computer cart with no airflow, constantly plugged in (this is certainly why the battery is hosed)

fleet osprey
#

I was just warning you in case you were serious kekw

#

it's basically worthless

sage locust
#

i am aware

analog berry
#

@fleet osprey is it running the lastest firmware version? if not maybe consider upgrading

stone oracle
stone oracle
# fleet osprey I'll give it a try in a bit

Thank you. 💜
How to do it "real quick". Unpack the archive contents (2 dirs) into the usb storage root dir. Insert the usb storage into the port you know fw is willing to boot from. Break into fw boot manager, pick "boot from file", locate your usb storage from the list, navigate to \efi\upptech\antload.efi, hit enter.

stone oracle
# fleet osprey

bahaha. this one is even hairier, than mine. well...
so:

  • that bug I've talked about is here as well. that is GOP.Blt() is broken and doesn't draw where fb base is reported to. this is seen because there's no logo/string. I know how to overcome it, but the overcome is a quirk, unnecessary elsewhere.
  • direct drawing into fb by the kernel results in the same porridge as with limine.

As seen, HP has improved their Probook line between 2011 - 2013. 😁 Thank you very much, Techflash.

it looks like the fw here reports some idiotically wrong PixelsPerScanLine.

fleet osprey
#

no problem, happy to test stuff

#

I will also note that Limine works fine on this machine in legacy BIOS mode

#

interestingly this machine has 3 modes:

  • Legacy BIOS
  • UEFI with CSM
  • UEFI without CSM
#

not entirely sure what differs between the first 2

#

I'd imagine it doesn't contain completely seperate non-UEFI firmware just in case the user selects legacy BIOS mode

stone oracle
#

yes, in my experience with regard of boot options on this line, the fw is a hellish mix of bios and uefi. still haven't figured how to make the fw show the "successfully" created boot option.

fleet osprey
#

also interestingly it doesn't seem the pitch is actually that far off, only by a few pixels each line

#

I wonder if it reports 1360x768 but is really 1366x768, or vice versa

stone oracle
#

that "famous" 1366... sadly, I can't do any coding now. no electricity and new massive missile attack is approaching.

fleet osprey
#

fair enough, was just floating that out there :P

#

stay safe

grand shadow
#

ported an irc client

viscid flame
grand shadow
#

it was connected to libera so I could just /join #osdev

#

my bouncer also works so

#

(I was talking in #lounge-0 thru my bouncer)

mild sentinel
#

bochs fails with a DIV0 PSP1G_pspTrollar

#

let me test it on real hardware tho

mild sentinel
gleaming bay
#

does it work in qemu?

mild sentinel
#

Hey hey @gleaming bay It atleast gets further than Linux

mild sentinel
#

I’m about to test on real hardware

#

My kernel also DIV0s on bochs

#

And Linux can’t even boot

gleaming bay
#

bochs moment

mild sentinel
#

Who the fuck even tested this shit

mild sentinel
#

I can control C it

#

But it just printed hardware address

#

And then did nothing else

worthy mica
viscid flame
grand shadow
obsidian pivot
#

dhcp is so annoying

#

wireshark tells me my dhcp packets are malformed then refuses to elaborate how

grand shadow
#

my dhcp packets are fine its just I am probrably missing something mentioned in a small footnote of some random rfc that makes the router completely drop my packets

obsidian pivot
#

average internet moment

#

maybe try accessing dhcp logs on your router?

#

oh wait it's evalyn

#

maybe a pcap would help?

#

idk

grand shadow
#

don't think my router has that sadlçy

obsidian pivot
#

kerneç

grand shadow
#

ççççççççç

hearty fulcrum
#

assuming it allows you to do so

grand shadow
#

I've tried

#

router manufacturers are the most antifun people in the world

#

🥀

analog berry
mild sentinel
mild sentinel
#

I do know it logs all the firewall shit in there so hopefully something from astral may come up

#

Do you mind sending an ISO with extra logging on netd too

grand shadow
#

sure I can add some prints in a sec

grand shadow
mild sentinel
#

il get it worked on in 3 to 7 bussness days o7

grand shadow
#

I'll be staring out a window aura farming until then

mild sentinel
#

I hope you get that reference too

charred sinew
#

why don't you just start a dhcp server on your pc and connect both pc's directly or disable the routers dhcp

obsidian pivot
#

why dont you just add manual network configuration

grand shadow
#

I mean I very well could

mild sentinel
charred sinew
#

one can connect two computers directly alternatively

hardy vine
mild sentinel
hardy vine
#

is it the wizard portal refrence

mild sentinel
#

Yes

hardy vine
#

although sadly we cant make fun of it anymore 😭

#

not even mountaintop

mild sentinel
#

I wonder if astral can be built up enough to be able to play on hypixel lmfao

hardy vine
#

does it have internet and minecraft

#

i saw 1.7.10 on the screenshot

#

just install via version lol

gleaming bay
#

doesn't watchdog flag via version tho :P

hardy vine
#

oh yea

#

but its 1.7

#

not 1.21 or something

gleaming bay
#

you could play minemen

#

or one of the 1.7.10 pvp servers

hardy vine
#

you cant exactly bypass anything by going to a lower verison

#

although if i can play minecraft in astral i feel like im just gonan delete linux

mild sentinel
#

and they support 1.8.9

mild sentinel
gleaming bay
#

they can't flag linux

mild sentinel
#

Then why could they flag astral

gleaming bay
#

via version is a mod that lets you play on servers on a newer version then your game

mild sentinel
#

Ahhhh

#

I mean astral is close enough to where 1.8.9 could be ported and possibly run pretty good especially if SMP gets better for LLVM pipe

#

Yes yes talk is cheap send patches

#

I may do it :p

gleaming bay
#

I would also talk is cheap send patches my self

#

but I have no idea how astrals build system works

#

nor how to build java for astral

#

and I don't really feel like spending that much time

mild sentinel
#

I think it would need a new version of LWJGL to be ported tho

gleaming bay
#

no?

analog berry
#

astral build system is really difficult

#

u do git clone && make

gleaming bay
#

oh

#

😭

gleaming bay
mild sentinel
gleaming bay
#

oh

#

it dead ass it just "make"

#

🥀

analog berry
gleaming bay
#

okay jinx is doing everything but work for me

#

🥀

hardy vine
#

so hypixel wasnt happy if you use it

gleaming bay
#

software opengl rendering

hardy vine
#

ah

#

basicaly just software rendering

gleaming bay
#

it does runtime code gen

hardy vine
#

for opengl

gleaming bay
#

via llvm

hardy vine
#

btw is it easy to port LLVM and rust

gleaming bay
#

no clue

hardy vine
#

okk

viscid flame
opal lotus
mild sentinel
#

How is LLVM/Clang compared to somthing like GCC

hearty fulcrum
#

it's better in some things, worse in other things

robust geyser
#

if you can port gcc then you can port llvm

grand shadow
#

like thats a solved problem :p

mild sentinel
#

If you can do 1.20 just do that lol

#

See if you can join hypixel

grand shadow
#

probably better to join on 1.8 because 1.20 was super laggy

#

I still have to profile this and make it better wrt multicore perf

mild sentinel
#

And you can waste your time playing hypixel sky block and flexing on people you made an entire operating system to play Minecraft on

grand shadow
#

(my big suspicion is some page in path that does a tlb shootdown and happens super often)

mild sentinel
grand shadow
#

wontfix troll3dflip

mild sentinel
#

How bad is the SMP lag on real hardware?

#

It could be a KVM/QEMU emulation overhead quirk?

grand shadow
#

no idea

mild sentinel
#

Wana make an ISO that has x11 and Minecraft on it for me to test PSP1G_pspTrollar

grand shadow
#

I've never tested to compare between linux and astral trying to run the same mc version under the same conditions (kvm under wsl)

#

when I tried debian couldn't really run minecraft

#

so I guess astral > debian?

marsh sparrow
#

kvm overhead is generally quite low

obsidian pivot
marsh sparrow
#

so it's unlikely that real hw perf is much better

mild sentinel
#

If its TLB showdowns or other IPI?

obsidian pivot
#

skill issue

#

works on my machine

grand shadow
#

tbf something was probs super scuffed seeing as I was trying to do that out of the livecd 💀

hardy vine
#

SKYBLOCK OS

#

(thats a actrual os not just a fork of debian)

grand shadow
hardy vine
#

bro wtf

#

can it also play steam games tho

mild sentinel
#

It can play factorio

grand shadow
#

whenever I have time to keep working on the wine port

#

and yeah that

#

though to play factorio it needed a different libc

hardy vine
#

btw is there any hobby desktop OS that managed to port any proper graphics card driver

mild sentinel
#

I hope to be able to get this good at osdev

grand shadow
#

managarm was working on that

mild sentinel
hardy vine
#

woah

#

tbh i feel like software rendering is probably enough

#

with the modern gpu

#

oh wait no nvm it have 4 fos

#

fps

#

it is on qemu hto

grand shadow
#

I have this screenshot saved

hardy vine
#

holyshit

grand shadow
#

I want to revisit the wine port at some point to work on my wine goal of running cogmind

#

which is a 32-bit binary so its more complex

hardy vine
#

you have only worked on this project for 3 years?

grand shadow
#

yeah p much

hardy vine
#

how long do you program per day tho

grand shadow
#

depends

#

some months I literally cram 10 hours of programming others I don't even touch code