#Astral
1 messages · Page 28 of 1
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?
Well we are 3 for 3 now so
I'm gonna add a bunch of debug prints into ts
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
its in the base distro files
I should probably move that into /share under one of the doomgenerics
Damn
should have enough prints to pinpoint the cause of the deadlock
I can’t test this rn 
I’m about to fall asleep
And I need to finish i686 shit for my kernel before I do

No problem
hleped fix the slab bug
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
if I had to guess its probably not getting an interrupt for some reason or if it is some of the logic is bad
Reject interrupts, embrace polling 
Don’t even preempt during it, just lock up the entire system until the device responds
What could go wrong 
so true
considering ^C doesn't work thats the most likely answer, waiting for the tx to complete is not an interruptible sleep
yeah, its not an interruptible sleep
y not
because I don't want it to be
wym bruh
it takes a while
had to sit there for like 30-40 seconds just for it to do this
:(
good news for me is that astral boots with limine 10.7.0, so i can just put astral on my esp :D
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
it's supposed to be backwards compatible, binary-wise, so like, yeah
backwards compat my beloved <3
wtf gdb is saying no line number info
holy
maybe use addr2line
but tbf you did send a few builds since then so
im running the one your pinged me with
oh, there is a newer one with some debug prints
here
dying in an AML_READ
🥀
same place as evalyn's computer
something is wrong I can feel it
;(
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
if u want me to test anything pls send kernel binaries, i am just copying them to the esp from the iso anyway
aleifght
initrd probably doesn't change so it's much quicker to send the kernel ;D
@analog berry in uacpi, AML_READ always uses addresses returned by the kernel memory map/unmap glue right
come on dude this is like obos 2024 kind crashes 🥀
works on my end 
I did rework a lot of my memory stuff lately so probably something slipped thru the cracks
if obos could boot on any modern hw it would definitely get past uacpi smh
also the controls of the arcade are connected via usb so we'll have to work towards getting that merged @robust geyser
hell yeah
yeah ofc
its part of the DSDT mapping
well after namespace init it actually points to heap data if running methods
oh thats a thing?
yep
uhhhh
my uacpi is kinda old so maybe I don't have that yet
Why your PS2 no work 
the bad kind
there isnt even multithreading here yet
i mean if prints fixed it its just really bad ub
Your codebase is now cursed and you have to do a rewrite 
inb4 nothing conneted to the port
the obos curse enters astral
The OBOS curse hit mine
I locked damn near every single thing
Still had corruption issues everywhere 😭
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?
ask like gemini or smth
claude fix my code make no mistakes
lmao
No no use GitHub copilot
pinpointing WHAT
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
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
https://deepwiki.com/ also try this stupid this 
It’s probably even worse
It’s legit just a ploy to make people
Give it code to steal

Wow such good
claude just said a lot of nothingburger
claude really really wants it to be missing tlb invalidation
what model are you using
sonnet 4.6
BTW why don't you just hhdm?
I only HHDM stuff thats guaranteed by limine to be usable memory or otherwise page aligned in the memory map
probably makes me lose a bunch of points in the benchmark but who cares
Its guaranteed in new revisions no?
Why not just HHDM the entire thing with 1GB pages and not care about holes in it 
is it?
Like guaranteed to be mapped
well I don't keep the limine mappings
Ah
Though is there any reason not to do this?
we'll have to add controller support it seems
you get that kind of for free with hid
Mapping non usable memory as WB may trigger random MCEs on some hardware
i have some hid parsing locally but idk how good it is
Even if untouched?
Yep
Dragonrise Inc. USB
Generic Joystick
Damn
if you have ssh access to the machine you could dump the hid descriptors ig
So you can’t really use 1G for all HHDM 
I don't sadly
sadge
I'll get physical access when I go back to uni
You can just carefully carve out usable memory
Usually it comes in large contiguous pieces
but that’s annoying 
Yes
can you ignore those MCEs? And how does it even know they got mapped
@robust geyser how many times did you run astral btw, for evalyn it worked once or twice and then exploded
Lemme find you the source, 1 sec
Start here #1217009725711847465 message
MCEs are not possible to ignore no, its basically critical hardware errors usually
just once
hm
i can try more
would be cool
I guess il make a boot option 
For what?
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
I mean alegedly you can decode MCEs
So depending on when the error comes in and how many it triggers?
Who knows
Has anyone here seen this I wonder?
MCEs are also like NMIs iirc, so they arrive even with irqs disabled
So you must be ready for that
https://www.firstfloor.org/~andi/mce.pdf
this may be useful? It seems cache errors are also a thing
Ye
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 💀
try booting the one that has the debug prints which is the last one I sent
boot it a few times for good measure
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
well MCE reporting needs to be enabled
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 
damn wtf
what kind of ub is this shit

adding a printf to these two function fixed it
Just keep the printf there
Problem solved
printf(""); // DO NOT REMOVE
TF is that fuckass watermark
peak osdev
// load bearing printf
// HACK: DO NOT REMOVE
printf(“ \b”);
Gotta have it do some work
my OCD would not ever bring me to do something like that
not even in an unserious project
true but what could even be causing that
maybe it is a tlb invalidation bug or something
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
honestly doubt it, that would've been caught much earlier
It's not an emulator bug it's a hardware quirk 
Reminds me of the insane gameboy quirks you have to emulate
its trying to access an unmapped address which looks valid
I have no idea how you'd even find that if it were a cpu erratum
I would be defeated
idk, could try adding a fence
No no I mean like the ryfox cpu has that bug, the emulator isn't buggy
Ik that's what I'm saying
Unless you mean if it were on real hardware
I would have just been defeated
But it’s what Claude said
How do you know without logs?
Ship it
^
page fault
So from reading the convo, I should map first 4GB to the hhdm and then each usable range?
Yep
Right now I just compute max usable physical page and map up to that
Thats what Linux used to do before that commit
making a computer that has usable memory right at the physical limit just for trolling
just one page
Lol
Is it called astral because you're from astralia
yes I am from astralia
Ps2tral
tbf the ps/2 driver seems to be generally working now
if u wanna try it out I can send an iso 
with the debug prinst in case uacpi explodes
wasnt your hardware the most fucked ps2 you've ever worked with which made you develop the most robust ps2 driver known to mankind?
💀
Yep
nevermuind do not run astral
I have some insane examples
How robust are we talking
It has retry loops with timeouts that filter garbage bytes out
Also it supports the multiplexed ps2 protocol and synaptics touchpad with gestures
linux levels of sophisticated
Dunno about that but I tried to make it as robust as possible
no reason to blindly map the low 4G imo
Linux reasoning for blindly mapping it was that its always covered by MTRRs
So technically its safe
reasoning for why it's safe is one thing, I just don't see a reason to do it in the first place
on modern machines the entire address space is covered by mtrrs
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
i think intel didn't do it properly for >4GiB for quite some time but modern firmware does it
Because I want to!
Iirc monkous had some weird hardware that has strange mtrrs and we never figured out why it was that way
Maybe it was someone else
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
I mean I can give you more prints
i can keep running binaries for u
try this one it only prints mappings
hm unless i disnt copy it correctly it just worked
but there were a lot of prints
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
nice scroll speed
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
why the fuck is it not crashing anymore
LMAO
Quantum mechanics fixed it for you
we'll say a bit flipped happened and mov eon
that is amazing
if you try the first kernel, does it still break
oh god
the one that sparked this whole bs
let me see
u should test the iso with the net debug prints smh

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

it worked?????
but i got a bunch of acpi warnings

and now it crashed after a reboot
WHATT
does this happen with the newest kernel?
What happens if you boot windows first
i aint tryin that
it'll blow up
Exactly
Is this new kernel?
this one
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
at that point, it's all fucked, gotta start over 
Astral becomes the kernel shell of 2026
ill just try a cold boot
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
not happening now
i also dont see the log about table checksum
i wonder if that’s related
can u try booting the breaking version and add nosmp to it?
like this?
ya
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
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
so its just random
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
this kernel has logs tho
ah wait this has logs ya
arghhh
dang
So with the logs it’s still broken?
no
how much cpu and memory does that machine have
1 cpu
13700k
64gb ram
if you think its about how much memory it has, i can take one stick out 💀
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
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
Math when nothing works and it’s just cursed to forever randomly break
most fucekd up thing is that bridging from my laptop to my desktop is faster than the fucking usb dongle I use
💀
💀
when astral wireshark port?
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
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
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
Damn it even corrupted the table signature
Are u sure astral doesn't allocate the memory where ACPI tables live?
Because it looks severely corrupted
Maybe you reclaim it or smth
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
ATP take nyaux allocator code 
Or just leave the printf in there
just use frg::sharded_slab_pool 
But I mean, how is it related to slab stuff if its fixed by adding a printf to map()?
no idea, I am completely out of ideas lmfao
Needs asan
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
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
truly the x86 experience
Fym the card does not support plain old msi
one thing i used
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
wouldnt it be easier for testing to do a pci passthrough to vm
Windows
Thing is this is most likely a bug in the irq code
see if link detection works
connecting and disconnecting and connecting again
if you get an irq each time it's probably fine
maybe do it a few more times for good measure
I dont handle that skull emoji
neither do i
and i didnt then
i just printed the irq status
it needed to be ACKed like any other r8169 irq
on r8169 irq
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
I only set the bits I handle (set = enabled)
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
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
asfkafjagosgosaogpskgsl
sgkadkgsdaofosdjgsdkflsalfsdkjgdsakfask
sdgksdakfsadogkireoger´geqlfewpfweqslçfdksf
gperogerpofeldsfoqjmfkisqfklsqflqslfdksfqk
msi works :DDDDD
the data that the NIC is sending over the network:
well "works"

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

Can actually ^C now
Since its jsut waiting for the dhcp respkse
Which never comes because ics broke
Does it support right alt C? 
But yeah this is working well it seems?
Need me to test it still?
Even while bridged I cant really get a dhcp response
I cant tell if the router is actually getting that
Maybe in a bit when I get dhcp to work
Right now its screaming shcp discovers into the void but nobody is responding :(
@mild sentinel wanan see if u have better luck than me since u actually might ahve your pc connected directly to the router
Sure
Mine is directly connected
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
How do I use it? I tried benchmarking it and it faulted
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
works on my end
limine 8.x 💀
talk is cheap send patches lil bro
don't have the time nor patience to do boring userspace updating work
Do you want sombody to send the patch to update limine & use protocol v4
Ahhh that's why
Good old alt alt delete to reboot
won't be against upstreaming it
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
you don't really need to do both at once lol
yeah but it’s cooler or somthing 
@grand shadow it hung but control C worked
what patch do you have against upstream limine?
damn wtf
maybe my dhcp code is broken
bet
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
yeah idfk what is wrong with my dhcp stuff
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? 
literally just changed the version field 💀
and the hash
he would've if github had pull requests
you literally cant post patches
except mintsuki
oh ok
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?
I should build a kernel that uses limine 1.x
build a kernel that uses qloader
didn't I update limine last
back when 8.x was still latest
I think so lmfao
I'll probably port some emulators, does anyone know any that work nicely with usb joysticks?
AFAIK most of those are just HID or XInput devices and I have yet to hear of an emulator that doesn't work with the average controller. The question you should probably be asking is which will be the least PITA to port in the first place.
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
Maybe I can port mame?
Idfk how hard that would be but surely cant be that bad right
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
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
dolphin
best one tbh

in all seriousness though that's based
the fact that it at least kinda works
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?
Il have to test it a bit later but sure
what is netd
My shit dhcp client
Ita supposed to run in the background hence the d but it does not do that at the moment
bruh
☠️
How hard would it be to make it run in the background 
daemon(); for(;;) { ... }
its mostly just implementing the dhcp keepalive thing
since there is a time limit to a dhcp lease that you can keepalive
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?
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
@mild sentinel if u wanna test it later this one should have a working dhcp client hopefully
what hardware do you need to test astral out?
amd64 box, having compatible hardware is a plus
If you have an rtl8168 it would be nice to test it, but I think its still a bit broken at the moment
amd64 box?¨??
x86-64 aka amd64
it was the box part, do you mean VM or actual computer
Whatever u wanna run it in
Do you have support for virtio
Certainly
did you add more ram than the default
Well I just decided to copy the default command thats in the astral README: qemu-system-x86_64 -enable-kvm -M q35 -m 2g -cdrom astral.iso
which generates
only one that works is initrd
yeah for that one you'd need to add an nvme with the root
how do i list all network drivers
its cool though
awesome job mathewnd :D
you mean list the network devices you can add to qemu?
correct
-device help gives you a list of all the devices categorized
thanks
Wha
Yeah youll need to add more devices
In this case if youll need to boot from inited
Initrd
Since u dont have a disk with it installed
idk why
which i did
rip/screenshot?
dont you have a package manager
I do
one sec lemme pull up the old command
which is
xbps
Do I need to install anything extra for it?
U just run xbps-install -S package
Make sure networking is up first
With netd vionet0
just realised i use swedish keyboard
how tf do i do - on swedish keyboard
to us
found it
Is xbps hard to port?
Could you direct me to the repo.
Once I get bash running I aim to get my old outdated network stack running.
Ohh found it myself.
for some reason Astral draws a white pixel near the top right of the screen
literally unusable please fix
it's actually 3 distinct pixels, if you zoom in
oh yeah I forgor
Is this part of the memory corruption issues from before seeping back through?
idk
Nah it’s still fucked lol
welp, that's unfortunate
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
Works on my end 
is it 1366x768
Yes
ah then yeah the pitch is different from the width and something in astral doesn't handle that
This is a limine bug
oh
Not astral bug
no idea then lol
Mint just nagged me about it here because I was here 
Astral has no bugs 
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
Would you also want a GOP test on this thing
why not? of course. 🙂
what do you think the issue could be?
Is there an ISO in the zip I can throw on a USB real quick?
does Limine work on this one?
Yes
you don't have to. just copy those 2 dirs into the stick root dir.
alright
Any need to mark the partition as fat32 & boot/esp?
probably fw bug. it confuses where to draw. there are 2 gpu. basically I don't know.
hm
no need. just fat
Il put it on my to test list once my headache goes away
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.
Limine draws using the framebuffer though
at least by default
does limine assume argb8888 pixel format or check it? maybe it's rgb565 here?
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
does it use the default mode for ConOut or change it? on my machine ConOut is not affected.
it doesn't change it, but in that picture it is most likely not using ConOut
yeah, it looks like mismatched resolution/line width. but I think, limine does use PixelsPerScanline?
yes
it works just fine on most machines. that i know of, this is the only machine to exhibit such an issue
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.
cc @fleet osprey
@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
that would be a pretty bad firmware bug
it could've gone unnoticed since big boy bootloaders prefer blit
how would you even detect that and fall back to ConOut?
u just prefer blit as well instead
how would booted OSes get a framebuffer??
thats the neat part
well yeah
but like
the vast majority of hardware that Limine sees works just fine with it
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
not sure how u would work around this one
maybe i should buy the machine off of techflash to test
limine GPU modeset drivers
I'll give it a try in a bit
I'd be open to it but keep in mind that it's junk
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
i said it half jokingly
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)
fair enough
I was just warning you in case you were serious 
it's basically worthless
i am aware
@fleet osprey is it running the lastest firmware version? if not maybe consider upgrading
it is
In case of 4530s it's exactly Blt not working correctly and direct drawing working. But. Windows (both 7 and 10) surprisingly can draw their logos during the boot.
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.
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.
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
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.
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
that "famous" 1366... sadly, I can't do any coding now. no electricity and new massive missile attack is approaching.
ported an irc client
connect to osdev irc
I mean I could
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)
testing this iso rn on bochs and real hardware 
bochs fails with a DIV0 
let me test it on real hardware tho
on astral?
yes
Hey hey @gleaming bay It atleast gets further than Linux
I’m sure it does
I’m about to test on real hardware
My kernel also DIV0s on bochs
And Linux can’t even boot

bochs moment
Who the fuck even tested this shit
This one seems to be failing 
I can control C it
But it just printed hardware address
And then did nothing else

Yes.
bochs is bloat yk
crazy
damn something still seems wrong with my dhcp then
dhcp is so annoying
wireshark tells me my dhcp packets are malformed then refuses to elaborate how
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
average internet moment
maybe try accessing dhcp logs on your router?
oh wait it's evalyn
maybe a pcap would help?
idk
don't think my router has that sadlçy
kerneç
ççççççççç
you can always ssh into it and look for them there :P
assuming it allows you to do so
trust me
I've tried
router manufacturers are the most antifun people in the world
🥀
welcome back
My router does let me send logs to my raspberry pi so I could test again with that enabled and maybe get some error logs or dropped packets from my desktop?
would be cool
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
sure I can add some prints in a sec
this has some logging that says what it did and is waiting on etc
il get it worked on in 3 to 7 bussness days o7
I'll be staring out a window aura farming until then
I hope you get that reference too
why don't you just start a dhcp server on your pc and connect both pc's directly or disable the routers dhcp
why dont you just add manual network configuration
I mean I very well could
It’s not a very practical solution to fuckle with a router especially when other people couldn’t using it
one can connect two computers directly alternatively
3 to 5 buissness days?
Sure
is it the wizard portal refrence
Yes
I wonder if astral can be built up enough to be able to play on hypixel lmfao
does it have internet and minecraft
i saw 1.7.10 on the screenshot
just install via version lol
doesn't watchdog flag via version tho :P
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
They don’t flag Linux :p
and they support 1.8.9
Yes
Then why could they flag astral
via version is a mod that lets you play on servers on a newer version then your game
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
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
I think it would need a new version of LWJGL to be ported tho
no?
mojang only switched to lwjgl 3 in 1.13
Do you mean you don’t have to do a ritual to the stars and sacrifice an old HP printer?
if you're lucky and jinx works on that day
basically it lets you bypass the anticheat easier
so hypixel wasnt happy if you use it
whats a LLVM pipe tho
software opengl rendering
it does runtime code gen
for opengl
via llvm
btw is it easy to port LLVM and rust
no clue
okk
jit software rendering
llvm yes, Rust is a bit harder
How is LLVM/Clang compared to somthing like GCC
it's better in some things, worse in other things
if you can port gcc then you can port llvm
I don't see why 1.8.9 couldn't be run, seeing as 1.20 was run as well as gtnh?
like thats a solved problem :p
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
And you can waste your time playing hypixel sky block and flexing on people you made an entire operating system to play Minecraft on

(my big suspicion is some page in path that does a tlb shootdown and happens super often)
True but there are a few sections of the game requiring modern versions

wontfix 

How bad is the SMP lag on real hardware?
It could be a KVM/QEMU emulation overhead quirk?
no idea
Wana make an ISO that has x11 and Minecraft on it for me to test 
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?
kvm overhead is generally quite low
Debian can run minecraft huh
so it's unlikely that real hw perf is much better
Wouldn’t that depend on if you have the right stuff for virtualization of the APIC?
If its TLB showdowns or other IPI?
tbf something was probs super scuffed seeing as I was trying to do that out of the livecd 💀
WAIT WHAT GTNH
real
SKYBLOCK OS
(thats a actrual os not just a fork of debian)
It can play factorio
whenever I have time to keep working on the wine port
and yeah that
though to play factorio it needed a different libc
btw is there any hobby desktop OS that managed to port any proper graphics card driver
I hope to be able to get this good at osdev
managarm was working on that
Managarm has partial nvidia GPU support
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
I have this screenshot saved
holyshit
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
you have only worked on this project for 3 years?
yeah p much
how long do you program per day tho