#Astral
1 messages Ā· Page 30 of 1
probably two different devices
or maybe there's something you can do that i don't know of
nah it's the same evdev device, I've messsed with this
I don't recall how they differ in the reporting
but as in you open the same /dev/input/eventX to get events for everything relating to that logical device
all joysticks, buttons, analog triggers, etc
And how does it distinguish between joysticks?
damn yall gonna make me actually check
hang on š„
Testing ... (interrupt to exit)
Event: time 1772632522.737772, type 3 (EV_ABS), code 3 (ABS_RX), value 167
Event: time 1772632522.737772, -------------- SYN_REPORT ------------
Event: time 1772632522.749928, type 3 (EV_ABS), code 3 (ABS_RX), value 237
Event: time 1772632522.749928, -------------- SYN_REPORT ------------
Event: time 1772632523.038773, type 3 (EV_ABS), code 3 (ABS_RX), value 213
Event: time 1772632523.038773, -------------- SYN_REPORT ------------
Event: time 1772632523.050368, type 3 (EV_ABS), code 3 (ABS_RX), value 128
Event: time 1772632523.050368, -------------- SYN_REPORT ------------
Event: time 1772632524.506777, type 3 (EV_ABS), code 0 (ABS_X), value 133
Event: time 1772632524.506777, -------------- SYN_REPORT ------------
Event: time 1772632524.518359, type 3 (EV_ABS), code 0 (ABS_X), value 231
Event: time 1772632524.518359, -------------- SYN_REPORT ------------
Event: time 1772632524.539778, type 3 (EV_ABS), code 0 (ABS_X), value 232
Event: time 1772632524.539778, -------------- SYN_REPORT ------------
Event: time 1772632524.551720, type 3 (EV_ABS), code 0 (ABS_X), value 233
Event: time 1772632524.551720, -------------- SYN_REPORT ------------
Event: time 1772632524.561811, type 3 (EV_ABS), code 0 (ABS_X), value 234
Event: time 1772632524.561811, -------------- SYN_REPORT ------------
Event: time 1772632524.572847, type 3 (EV_ABS), code 0 (ABS_X), value 235
Event: time 1772632524.572847, -------------- SYN_REPORT ------------
Event: time 1772632524.806778, type 3 (EV_ABS), code 0 (ABS_X), value 137
Event: time 1772632524.806778, -------------- SYN_REPORT ------------
Event: time 1772632524.818787, type 3 (EV_ABS), code 0 (ABS_X), value 132
Event: time 1772632524.818787, -------------- SYN_REPORT ------------
Event: time 1772632524.829844, type 3 (EV_ABS), code 0 (ABS_X), value 131
Event: time 1772632524.829844, -------------- SYN_REPORT ------------
Event: time 1772632524.851990, type 3 (EV_ABS), code 0 (ABS_X), value 130
Event: time 1772632524.851990, -------------- SYN_REPORT ------------
^C
moving right joystick vs moving left joystick
looks like the code changes
so yeah, ABS_X vs ABS_RX
np
guys when operating systems become legally required to do age verification we are all moving to astral right
or mammagarm
managarm
managram
Send me ur id rn
sure
this would be funnier if I sent your id
but I dont have it
can u send it for funnies so I can send it in response to that
ill delete these messages

mammography
mammogram
Here bro
I donāt even have an ID yet š

Iām 17
Wait wait let me get my id
I think I can get one
I havenāt been able to update my legal documented yet
mammogram? 
mammogarm
its mammogarm not mammogram 
Managerms 
manganarm
Should I pull out the āpissagarmā thing I made a few weeks ago 
(The logo tinted yellow)
lmao what
Wait let me see if I can find it
Lmfao
Apparently Im gonna have to implement age verification in astral by the 17th because of a brazilian law
ā ļø
And you cant self declare you have to send me an id according to the law
š š
Just don't support Brazil 
I have no idea how they even expect this to wprk
Do I have to send my id every time I spin a vm?
Iirc they want verification to happen every time the device is started
Just have an automated AI system do it. and then have it allow the mc lovin image
If anyone asks just say the AI messed up

Then also have it save the ID on disk images and send the mc login image etc etc
By their definition of operating system uefi is an operating system
Will firmware start asking for id?
A router firmware would be an operating system
Will I have to give my id when I buy a router?
When I power on the router?

This shit is so bad
Is it even enforceable tbh
Like esp to hobby systems
yall really expected legislators to be competent at understanding technology? 
This law is just straight up unenforceable
they see "operating system" as Windows, iOS, and maybe macOS
Nothing should need an ID unless itās in person and they need to verify my age and itās just the other person there checking it
Linux is "that guy is hacking throw him in jail", and hobby OSes don't exist
No automated systems should be grabbing this crap especially random companies not related to governance agencies
nothing makes me feel like theres an illuminati more than like
50 different jurisdictions across the planet
simultaneously introducing "operating systems must enforce age verification" laws
my conspiracy theory is that microsoft and apple are behind this somehow to try to curb open operating systems
Microsoft has embraced Linux (using it for some infra), they've extended it (WSL), now they're extinguishing it
Them doing this to kill *nix so they can unveil windows 12 and have nothing to stop them


gavin newscum
The fuck how many
various US states, the UK, Australia, France, Spain, and more are all on record for trying to introduce age verification for something
my conspiracy theory is that age verification companies are introducing laws to sell more age verification services
Wait, is this for real? I thought it was a joke
An easy explanation is lobby
that's exactly what i was saying lol
It has been in the works for years
Just that nobody wants to be first
Now that it's become a trend, everyone wants to jump on the bandwagon
To implement the new hip policy and show how well-prepared they are for the internet age
but it's weird, considering that stuff like gdpr was passed 10 years ago, and now it feels like they're reversing the course and everyone is just basically doing mass surveillance
The point is as usual to make the regulations so vague that should they decide they want to charge some undesirable entity with some crime, they will find a crime to charge them with
Yes just donāt support brazil at this point
Issue: I am brazilian š
Ouch! Sad times when you'll have to give your id to your ps5, your printer, your router, your washing machine, etc. at each startup
No need for conspiracy, it's just a kind of Brussels effect
https://en.wikipedia.org/wiki/Brussels_effect
The Brussels effect is the process of European Union (EU) regulations spreading well beyond the EU's borders. Through the Brussels effect, regulated entities, especially corporations, end up complying with EU laws even outside the EU for a variety of reasons. The effect is named after the city of Brussels, the de facto capital of the European Un...
Silk issue
Alright, no Maestro for brazil nor california 
how long until someone goes to those lawmakers and tells them that that's not how operating systems work
I'm willing to bet they're untouchable
until they aren't
by that time it'll be too late
Don't open source licenses have that baked in?
Like that the author is not responsible for the software
huh probably
but like, maybe I'll add a "Not for use in Brazil nor California" or something
That's what one of the articles said foss projects would probably do
Because how are you enforcing that on non-corporations backed Linux distros
I wouldn't put any extra notices tbh given that its obviously a law that you shouldn't follow
yes actually
nearly every open-source license notes how there is no warrenty to the software and that all authors of the software hold no liability for any damage that the software causes
here's the MIT License's version of that text:
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
such clauses only protect against civil lawsuits though
you can't just put instruction on how to build a chemical weapon onto a github repo and then say: no liability btw
I think the more interesting question in this regard is: what is an operation system and which operating systems are affected?
ig one would have to look into the exact wording of the law
likewise, you can't just make an illegal gambling site and say: only for ppl who promise that they're allowed to use it
that's not gonna fly, you'll still be prosecuted for not taking the appropriate safety measures
VII ā sistema operacional: software de sistema que controla as funƧƵes bĆ”sicas de um hardware ou software e permite que aplicaƧƵes de internet, programas de computador, aplicativos ou outros softwares sejam executados por meio dele;
System software that controls the basic functions of hardware or software and allows for internet applications, computer programs, applications or other software to be executed using it
You could argue by this definition that firmware is an operating system and must implement age verification
You could argue even CPU microcode to some extent
california words it like this:
This bill, beginning January 1, 2027, would require, among other things related to age verification with respect to software applications, an operating system provider, as defined, to provide an accessible interface at account setup that requires an account holder, as defined, to indicate the birth date, age, or both, of the user of that device for the purpose of providing a signal regarding the userās age bracket to applications available in a covered application store and to provide a developer, as defined, who has requested a signal with respect to a particular user with a digital signal via a reasonably consistent real-time application programming interface regarding whether a user is in any of several age brackets, as prescribed. The bill would require a developer to request a signal with respect to a particular user from an operating system provider or a covered application store when the application is downloaded and launched.
I'm not a lawyer but it seems that the intent here is to provide age verification for built in app stores
so you may be fine if you have none
It also talks specifically about "account setup"
so if you don't have any account setup, this probably doesn't apply to you
(e) (1) āCovered application storeā means a publicly available internet website, software application, online service, or platform that distributes and facilitates the download of applications from third-party developers to users of a computer, a mobile device, or any other general purpose computing that can access a covered application store or can download an application.
also:
(1) Provide an accessible interface at account setup that requires an account holder to indicate the birth date, age, or both, of the user of that device for the purpose of providing a signal regarding the userās age bracket to applications available in a covered application store.
it does not mandate verification of the user's input afaict
is creating a local user considered "account setup"
(2) (A) A developer that receives a signal pursuant to this title shall be deemed to have actual knowledge of the age range of the user to whom that signal pertains across all platforms of the application and points of access of the application even if the developer willfully disregards the signal.
(B) A developer shall not willfully disregard internal clear and convincing information otherwise available to the developer that indicates that a userās age is different than the age bracket data indicated by a signal provided by an operating system provider or a covered application store.
^ so basically if the OS says: this user is 13 and steams sells it a 18+ game, Steam will be liable
that's the intention here afaict
neither "account" nor "account setup" are defined in the bill so it's up to interpretation 
nice
also:
(a) (1) āAccount holderā means an individual who is at least 18 years of age or a parent or legal guardian of a user who is under 18 years of age in the state.
so for everybody below 18, their parent needs to fill in the age form 
that's clearly very realistic and will never be bypassed in some way 
It's certainly a trend in a bad direction
indeed
itll probably be a good idea to put user creation behind a bunch of commands so theres no consistent "account creation screen"
i miss it when i could use my computer and feel like i had control over the software
broski did someone take away your linux priveleges 
sort of? i run linux on my pc at home but i have to use windows for university so that's what my laptop runs
oh
ok they did do that 
yeah x3
I don't even have accounts
I am just not going to comply. I don't live in one of the affected places, I'm not in thier jurisdiction, and I have no business presence for my os for them to levy a fine against.
time to add ANOTHER gcc build to the world build
why?
glibc?
nah
bro's secretly been hiding some new architecture port of Astral this entire time and is planning to cross compile it from Astral x86_64 
Astral for the Nintendo Wii?
would be super based 
wouldn't work with the current codebase
Dri was a mistake, gpu drivers shouldve been kept centralized on xorg-server
But nooo for egl you need dri because fuck you
Hoping that I dont have to TOUCH /dev/dri for software rendering
egl = epic games launcher? it works on unreal engine, so the requirement is probably for all unreal games I guess
(for everyone wandering why the egl feels so slow, that's because it uses unreal engine locked to 30fps, hence why animations seems laggy)
what
egl is opengl thing not epic games launcher š
oh ok, sorry for being dumb 
uh what
im pretty sure i had egl without dri
btw i had to implement mincore for egl to work
It forced me to switch between xlib to dri to enable it
And now In trying to just get hw accel to work since its not working
Nor hw accel
š
Just sw opengl
why
but trolling shall resume
what did you do
do you have SDL?
I forced dri2 to use mesa surfaceless and forced it to initialize configs because surfaceless doesn't return values it likes
yeah
can you port something i made real quick i wanna see how good performance is
mhm it may be annoying tho as the build system uses meson
I have meson ported
ok try this
I wanna see how the gears demo runs specifically
it should be easily portable, you can probably build it from within astral itself
trolled
lmfao
do you not have it
huh
idk works on my machine ā¢
this is the non portable part though (the sdl setup)
yeah i wonder why
missing feature test macros perhaps?
gettimeofday is depredated btw
mlibc is more strict with that than glibc
ah maybe
what should I use instead? Also this is a test harness
clock_gettime
the actual code is extremely portable
APPLICATION USAGE
Applications should use the clock_gettime() function instead of the obsolescent gettimeofday() function.
you only need floats
makes sense, it got deprecated in posix-2024
the function is entirely gone from the spec
bruh
actually i think i know why I use it
i based myself off the actual gears code
which uses it
which upstream

are you implementing drm now
astral
no
why not
do drm
Too lazy
I went through probably more effort to not do drm at all than to just implement something like vgem but I digress ā ļø
you dont need gem š
Trolling
i love trolling
inb4 oom
those whose noes
wait does it just work without issues?
based based based based based
cc @prime juniper
those who know
remember the SDL meme
those who dont know
i had to comment out something in stk to free SDL resources
if you don't comment it out it deadlocks
so did my thing work or not :(
it didn't even compile
that and probably other stuff
"s/gettimeofday/clock_gettime" 
@grand shadow lib/irrlicht/source/Irrlicht/CIrrDeviceSDL.cpp
comment out this line
i need to do some debugging on why it deadlocks
I don't have the source bro

are you deadass
surely mathew wouldn't do a 180 like that
Your kernel will soon be the only non Linux compatible one 
not if i rewrite it again
(considering)
freebsd binary compat 
i still need to write my kernel


i realize this is very hypocritical but just pick a design and stick with it
yeah
a rewrite is pretty much the least productive thing you can do
or so we're being told...
im probably going to not do a microkernel
im being skill issued and i'm not having fun
Marvin after realizing you only need 15k loc for kde
yeah frrrrr
If you do a mono kernel
lol
wanna do evdev first?
some practice before doing it in your kernel 
well it's not like zinnia has any posix yet š
so it's not even a rewrite, just adding posix code to the kernel instead š
@grand shadow so how are u doing it without source if not Linux compat
inb4 someone gave bro a build farm
Inb4 astral becomes an LFS project
I donāt like the shift to binary compat Iām seeing ngl
Cringe
it was revealed to me in a dream
(I got wine to finally work with opengl etc)
based
the performance is not that bad honestly
awesome
hell yeahhh
@prime juniper I have pushed working wine to astral repos if u want to try it on managarm later
Not really
Only needed to update wine, enable mingw and opengl, and do some astral related stuff to mesa
Might write a blog poest about this
Noted. Thanks!
Very nice
It's indeed weird that both astral and Managarm run into STK hangs
Fwiw marvin patched out an sdl function to make it work
So digging into that function with printf debugging might help to find the hang
It's probably not that difficult since we already know which function hangs
The stk thing was on wine so might not be the same issue
ah
I still have some more wine work to do
I want to run cogmind
But thats a 32 bit binary
iirc you need to implement the LDT for 32 bit windows
I think I already know how I am going to implement the ldt stuff I just need to look at the wine source and see wtf to do
is there anything beyond the ldt that is needed?
ah, so the new compiler was for 32 bit mlibc?
:^)
it was originally going to be for mingw which is needed for full wine but then I realized I could just take it from the debian repos
I don't think you need 32 bit mlibc for 32 bit wine, I think it does some crazy ldt shit
don't you need 32 bit libs on linux to run 32 bit windows games?
not anymore I think
iirc they were working on some wow64 stuff to not need that anymore
New WoW64". which runs Wine as a 64-bit Linux application in a 64-bit prefix. 32-bit Windows applications are supported via thunking to 64-bit Wine code. This is most similar to WoW64 on Windows.
yup
so I think I just need the ldt hooks and to let it do its magic
damn u even fixed the memory counters
yeah it takes it from sysinfo() now
still no procfs
astral uses a pretty tiny amount of memory
I remember testing linux with dwm on my old desktop and it taking liek what, 300 mb
fvwm is bigger than that
when minecraft legacy console edition port???
talk is cheapo
also when Astral aarch64 port, I have machines to test it on 
trust, very normal aarch64 machines with no quirks 
I think it works with wine
u would just need to build it
Oh math did you need me to do any more testing?
I am home now with the laptop that has the AHCI drive idgaf about etc
Sadly the laptop has no network card that would work

do u not have lspci there
what are those realtek cards
oh I see
8136
yeah that aint happening
š
Install is fucked so it canāt mount root fs
Mom can we have lspci?
No we have lspci at home.
Lspci at home;
I may have yanked out the ram while using it when it was open š

I wanted to recreate a video 
It did not work well
Sadly
This is my laptop and I will do what I want with it
girl when the machine uprising happens I don't want to be u
Hey I also did a deep surgery on this just to replace the CMOS battery
I could of thrown it out
If it still works it deserves a life
Not like I do it daily lol
damn those are nice specs
don't those go up to like 15k even
$800 actually
i wonder why astral is so slow on software rendering
huh what
lmao who thought it was broken
brand new in box on ebay
no clue why it was selling for so low
you bought a stolen laptop probably
but I got it 
TS probably porch pirate'd
the seller looked legit
I've had it for several months and nobody's showed up at more door so 
$800 is far to good to be true for this not to be stolen
even came with AppleCare for Enterprise until 2027
yeah probably stolen or you got extremely lucky
Like I said if it was a stolen package it wouldn't be set up so you'd not get it locked down or tracked
ok finally got wine to build with wow64 and it hits the "no ldt support on this platform" print
because it needs to set up a descriptor for the fs segment
Well WOW64 needs a 32 bit code segment
that is also true
port NBCraft instead
it's more legal
it's my reverse engineered and enhanced "MCPE"
wtf and this is inside a vm
run hi3rd lol
tbh the final goal of my kernel is basically beable to run hi3rd
then i can finally call it elysiaos
@robust geyser once I get 32 bit wine working I will git clone your fork and we will work on ts together to get this done already
I really want to have astral running o nthat machine already
real
damn I thought I wouldn't have to mess with any descriptor tables after finishing the astral idt/gdt stuff but here I am
anyways I think I have a general idea of how I am going to do it?
Surely you can
per process ldt, initially unallocated -> allocate ldt on first arch_ctl(SET_LDT_ENTRY) call -> validate ldt bits to see if the user process is not trying to do anything spooky -> load ldt -> ipi other cpus running same process to load it too and reload segment registers if nescessary
wow64
you can run 64-bit windows apps without it
Like why do you need to mess with fking LDTs
but its a nescessity for 32 bit windows apps
unless you have a 32 bit userspace which then go wild
I do not want to do multilib in astral soooo
compatibility mode
cant you just load 32-bit cs/ds/es/fs/gs/ss and be done
to run 32 bit code in 64 bit long mode
its cleaner this way and everyone else does it with an ldt so there is probably some other reason
who is this "everyone else"
linux/x86 macos?
again
cant you just use 32 bit segment registers and run 32 bit code
why do you need an LDT
i thought we basically left those behind when moving to 32- and later 64-bit
there must be some other reason for it, plus wine seems to expect an ldt when doing wow64 stuff anyways
it explicitly complains if you don't implement ldt stuff
š
sooo I probably want to do that for completeness sake
I don't think anyone is gonna run yeti ski free on astral but worth
I wonder how does running 16-bit stuff even work
If I can not run yeti ski free on astral I will riot
Isnāt 16bit code really similar to 32bit code for the most part? Thatās also why x86s was stupid because it cut out 16bit code by just removing some extra prefixes etc for no reason
it just has different address/operand size defaults
64 bit windows can't run 16 bit windows applications
were we only taking about 32 bit, x86?
bsaed
can it? windows 64 bit can't, I tried to run simtower a few years ago and just got an error that 16 bit programs are unsupported
yeah
Wine is a compatibility layer to allow application software and computer games developed for Microsoft Windows to run on Unix-like operating systems. Wine is free and open-source software and is predominantly written using black-box testing reverse engineering, to avoid copyright issues.
Wine is primarily developed for Linux, macOS and FreeBSD. ...
in the end I used PCEm
yeah but isn't that enough of a difference that you can't run 16-bit code as 32-bit code?
correct
if you disasm 32-bit code in 16-bit mode, each use of a 32-bit register will instead be disassembled as a 16-bit one and vice versa
so safe to say it isn't compatible
but the default address/operand size is just a bit in the code segment descriptor
if you set the bit, it's 32 bit by default, otherwise it's 16 bit
ah yeah, idk why I was thinking that you would only be able to use a 32-bit code segment in compatibility mode
in fact I have even done that myself when doing a direct switch from real mode to 64-bit
š«©
ts is annoying
I have to either make sure that the descriptors are still valid during a context switch
and to do that I either make the fs/gs load failable
and catch the gpf
or I never let userspace unset a descriptor
which also sounds stupid
thats a problem for tomorrow me
š®āšØ
I think I might just make it a separate asm "try_load function" that on failure will just zero the segment
wdym by "still valid"?
ah if a thread concurrently clears them?
Yeah
Sounds pretty annoying tbh
What's even the expectation
Ig w/o kernel entries, it'd just keep the hidden portion of the selector
But the kernel can't provide that level of transparency (?)
I have my fs/gs be null everytime in the kernel/64-bit userspace, so I really dont clear/set fs/gs during a context switch
That allows me to manually set that elsewhere, which makes life simpler
I guess if fs/gs = 0 then I set the fsbase/gsbase regs but if its nonzero I do a try-move
And fallback to 0
In case #gpf
Do fsbase/gsbase matter in compatibility mode?
Not really, mostly speaking about a context switch
In compatibility mode it takes those bases from the gdt/ldt entry
actually yeah that makes sense as for why it needs the ldt, it needs to be able to set the fs base
No?
I mean yes, but gsbase works the same
Started writing down on paper the api to the new page cache, really want to get this done
Wine takes a long time to create a wineroot from how abysmal my io performance is
I want to change that.
Plus support clustered pagein (page tables)
Because I take a lot of unescessary faults
Just remembered there is an hda driver + oss implementation that worksish deep in fork hell
ldt š„
Gotta have that 16 bit windows programs
reversi
"windows 3.1 SMP" - me
windows 3.1 on limine x86-64
if someone decompiles NT 3.1 and makes it boot under limine then that would be funny 
you could probably just make an ELF to PE shim that pretends to be ntldr
true
is it legal to decompile it
i doubt
but itll still be cool to do it
maybe make it run on x86-64
Yes
o
I myself am working on a 3.1 decomp
fair enough
microsoft summoning 3000 lawyers out of nowhere to financially ruin you with legal fees:
aint that nintendo
in the EU and for interoperability? yes*
*i am not a lawyer
not just
Microsoft is also kinda known for its litigiousness
interoperability what
between limine and windows nt
fair
NT 3.1 not 3.1*
in the US reverse engineering is protected for learning purposes too afaik
also for interoperability
(I am also not a lawyer)
- I've been able to successfully patch the kernel executable so it runs my own code instead

The goal is a Ke decomp
You mean ntldr?
lame
to be fair, 3.1 is majority assembly
there's not a high level language to decomp
no
I have done both
It can run standalone loaded by ntldr or patch the real ntoskrnl with jumps to my code
I've gotta continue the ldt struggle
I think I have most of the code done I just have to hook up the segment loads
LDT INIT... OK
š„
How does ldt even work on compat mode?
The irony
wine has a bunch of blocks of assembly code in its x86_64-signal code
š
annoying asf but what can you do
is that bad?
and there are ifdefs in these blocks of inline assembly code for different platforms
lol
its just annoying to have to read mostly uncommented and unformatted assembly but they probably had a good reason for it
abi compat wins yet again 
I don't care who torvalds sends I am not doing abi compat

what unholy fuckery.....
surely there's no way that that's a hot enough path that this could be for performance reasons
Its probably for setting up machine state going into windows
what the fuck
why dont they just call a function which calls the syscall
thats dumb
No but seriously š
What were they thinking
I am like atp genuinely curious
Same
Sometime I need to work on more qol stuff like process statistics
i may have found the perfect astral testing device & for osdev in general next time you need me to test
i could test things rn if needed
it has an RTL8169 nic
thats in its own IOMMU grouo
and PS/2 keyboard and mouse
so it should be able to run full astral?
Yooo
It was only 250 bucks too from eBay
A thinkpad A485
Itās not too slow either
Itās an AMD 2500U
Thatd be cool, I dont think Ive tried on an amd cpu for a while
My desktop is an AMD CPU
So it works fine iirc after you fixed the memory corruption
why does it have an usb controller, 2 serial controllers and whatever ipmi is
IMPI is remote management stuff
Itās a business laptop
And idk why it has EHCI š
The rest of the ports are XHCI
I really want to implement a squashfs + overlayfs combo for astral at some point
So much to do and so little time to do it
After I get 32 bit windows applications working I really should take a step back and work on my todo list and make things better
squashfs seems pretty pointless tbh
Well ideally it should be something I dont have to unpack into memory or traverse the whole file looking for piss.bin
hm i see
I do want to eventually do the livecd type of stuff so I cant just unpack an initrd forever into memory with 593738373 gb
i was planning to unload the tar file into a tmpfs then reclaim it
That is what I do already
ahh 
Plus I do want to experiment at some point with letting someone control a smallish root of astral thru ssh or whatever and have it not have permanent data be usex
Used
does astral have switch_root or similar
And a readonly fs + overlayfs over a tmpfs seems good enough
Not really
Or do u mean chroot
no
Then no
ext2 in ram
I have its cousin
i saw that ironclad did this (it loaded it as limine module)
ooooo nice
what's this red button in center
i planned to do this. then got told to do tmpfs 
mouse
trackpoint
lmao
Works on my machine
Unless they were using an ancient iso from 2022
Ask them what it was crashing on and what iso/commit/whatever and what vm etc
Inb4 bochs or smth
They possibly were using an old one so I mentioned that lmao
I asked them for a discord too so we can talk better than YouTube comments
To be clear I also shilled for managarm š£ļø š„
for what use case? I'd recommend a persistent fs, not a transient one 
Livecd/readonly image that the changes (and only the changes, readonly data is in disk) are only stored in memory
If they contact you, I would like to know what the bugs were
do they still hate my account for when i would leave slughtly mean comments on shorts telling kids to not be on youtube at a young age and other various crao

that was yearsss ago
ended up having to put this :/
tar of xzs :^)
Tar.xz but every directory is just another tar.xz
@stone narwhal
wait that person is here lmfao?
y
i was the person talking to you on youtube comments lmfao
yes, i see the username
i actually arm interested in running astral OS eyv entually and making a video on it
i just ciouldnt get it working for some reason before
What issues were you running into? Which iso were you using?
i tried the mo'st recent one at the time from github, as well as the one on the actdual astral os website
.
see this
youtube keeps removing my comments XD
even on things ive posted
yeah idk its bugged
Do u have a screenshot of the issue so I can debug it later
ill see if i have the footage but probably i dont naymore
i delete footage taht ia havent used
this was maybe a month ago or more
i think that was beore i tested it?
yeah i dont have the footage
but the issue i was getting
i dont remember ecxarcxtly what it said
wana boot up a VM and try again?
but it had cpu 1: at the front or something, it especially happened often when i tried to install packages
it would just take down the VM and freeze
Hmmm that sounds bad
what VM did you use
when i try reicording again ill save the footage and send a message here about it
QEMU
Pronably qemu
as suggested
yeah that s what i tried, with the sulppliied flags on the site and stuff
Is it the same commandline as recommended? I will take a look at it once I get the time
Alright
yes, but i think maybe i gave it more memory or something
buyt i also just tried running it normally
it wouyld happen somewhat unpredictably, but most often when id try to install packages
sometimes just randomly
really not sure why though
How many cpus did you give it? Just 2?
i jsut used the default parameters in the command on astral-os.org
though keep in mind i was running it from the ISO instead of properly installing it on a new disk image or whatever
i did use the secondary file (root.img) as another disk as it shows to do
Alright
is that known to' cause issues?
Never hit into that so probably good to look into it
im actulaly editing a new OS exploration funnily enough so im oiccupied
ipmi is based
and if i try again i'd rather record it rather than just running it on its own
so maybe in the next few days ill try again and report back
sadly idk where it is or how to use it on my laptop š
i have some servers with it
remote control 
i can also load ISOs via the webui
makes osdev on real hw very fun
@grand shadow
Uhhhh can u mount the image and take an addr2line
Actually wait
I think the viritoblock driver thats pushed is nonworking
š
I can look at this at home
I was in the process of converting it to do scatter gather
im too lazy rn
š
What is it?
basically server remote control
you can control fans, temps, remote console, virtual media
you can also get IP KVMSs etc
truee
my server cost me 900⬠+ whatever ram costs
the nvidia cops are coming
possibky like 6 grand atp
512gb ddr4
oh abs
i got it for free :3
insane
sombody is gonna rob you if you keep talking about that ram
try me
its going fine, slowly working towards getting 32-bit wine applications working
that'll probably come automaticall since I'm wiring up ldt stuff
the mysterious leaq in the end of the linux asm block
(its probably just restoring missing state from syscall
this code is so evil
I feel like if I make one mistake I will spend 1000 years debugging it
evil leaq
Worked On My Machine⢠when I tested it on my Ryzen 4750U thinkpad
that was the one with the PS/2 support that technically worked but was like massively behind or something
how long ago was that again
someone a while back pushed an i/o apic fix
(I was setting some stuff completely wrong)
gigabrain
signal: bad user stack 000000007FFBFC18 (altstack 0000000000000000) handling signal 11 trapno 14
first try of 32 bit wine
certaeinly no fun
#1061407633745125397 message
oh yeah and this #1061407633745125397 message
certainly has been a while, maybe some time yu can try it again
I have that laptop here rn and some spare time
send a build 
in fact I actually have this whole week off for spring break

hang on let me try writing it again
might need to grab a new flash drive lmao
that time it worked lol
shitty flash drive ig
that does not sound good
oh holy shit PS/2 just works
any bugs that might happen I will call hardware bugs

yopooo?
me when random person in random pr in github just fucking fixes my shit for free
hell yeah
wish I knew who that guy was to thank him
fastfetch fastfetch fastfetch
oh yeah its writing to port e9 hopefully theres nothing important there
YEAHHH
@analog berry astral curse is no more
ps/2 has been solved
gotta see GPU: AMD Radeon whatever iGPU garbage blah in fastfetch
btw do you want me to try this on a Chromebook as well 
I have a shitty old Acer Chromebook with an ancient Celeron
modded with UEFI fw
This nugget
this does not meet Ubuntu's minimum system requirements btw
it's too ass
the installer won't even boot, it doesn't even enough RAM
had to init=/bin/bash and set up swap before boot
just to get the installer to load
I could have just went with a better distro but I also intentionally wanted it to suffer under the crippling weight of GNOME
Itās this abysmal piece of junk if you care about specs
pretty sure it doesn't even have xhci so it's probably gonna take it a hot minute to boot
holy slop system
my laptop also is over i2c but it has a ps/2 mode
However:
power button even works
if we ever get the Astral 32-bit x86 port I have an old Dell Inspiron I can try it on
Pentium M
thats outside my scope
1GB RAM
like
completely
I have not written the kernel thinking of 32 bit architectures at all
oh nice I also have an old dell machine with a pentium m

its a craptop from 2004
š
I had to use that as my main laptop with lfs a few years cuz my old one broke
it was both fun and excruciating
this one is extra bad because it has r300 graphics
and Mesa just kind has terrible support for those
like if you try to initialize anything with Mesa the system hardlocks
can't even ping it
fuckin completely dead
good thing I don't plan on having hw accel anytime soon
I went so far as to do an evil hack in my mesa patch to not need to implement /dev/dri
while using the glx dri backend
wait what does that do
I thought it worked normally w/o /dev/dri
at least for software rendering
I know I've been able to run it on Linux systems that only have fbdev drivers, no DRM (even unaccelerated)
it just unconditionally passes some modes from the driver to xorg
so that xorg can actually boot
and give me accel
"""accel""
interesting
so it's faster than whatever it does by default w/o /dev/dri?
pls give patches I could make massive use of that 
I have no idea I just had to do that to get accel at all š
I would've kept the old xlib backend but like
egl doesn't support that
and you need egl for wine opengl
ah
so its either that or no wine gaming
I think xlib might be what it's using currently on my fbdev systems then
because I can do glxgears and whatnot
but it's like 5fps
very awful
software rendering isn't supposed to be fast but that's still pretty bad
damn
Impossible
Most laptops still use the PS/2 protocol.
update Flanterm
All of my other ones have used USB trackpads 
Wait, is its "disk" eMMC? I wouldn't call it junk then. š from the osdev perspective.
yes, it is indeed eMMC :P
it's in a pretty weird spot tbh
where it's trying to be good for "desktop" style usage
but it's arguably too weak for it
but it's also not an embedded device either
Can you tell me the info on its host controller? I assume it resides on pcie? what lspci says? is it intel's one embedded inside that celeron or what is that? Genuinely intrigued.
hang on, I can grab a whole hw-probe
https://linux-hardware.org/?probe=4ddb165318 here's all of the info on it
@mild sentinel oh yeah I remmeber you wanted an iso
This one doesnt have any logging tho
Does this do the nic driver etc?
Yeah send me one with logging just incase
And then I should hopefully be able to DHCP and get packages š
wine debugging? thats like, debugging while consuming wine yeah? sign me up!
I wish but I don't like wine
ok it is just a mismatch between how my code expects the ldt index and what the code is passing
seems to have been fixed, running into another issue now it seems
but fs seems to be loaded with the 32 bit ldt selector :D
cr2: 000000000000003c gs: 0000
rax: 00230000ffffffff fs: 010f
rbx: 0000100000a6c640 es: 001b
rcx: 000010000039ed37 ds: 001b
rdx: 0000000000000000 cs: 0023
r8: 0000000000000000 ss: 001b
r9: 0000000000000000 r10: 0000000000000000
r11: 0000000000000246 r12: 0000000000000000
r13: 0000000000000000 r14: 0000000000010000
r15: 0000000000000000 rdi: 0000100000a6c640
rsi: 0000000000000000 rbp: 00000001000ff980
rip: 00001000003f3e46 rsp: 00000001000ff700
err: 0000000000000000 rfl: 0000000000010206
I gotta wake up in 6 hours so I will look into why this gpf is gpfing tomorrow
sleep is for the weak 
Do not the gpf
seems like a libc non canonical address access, spooky š»
oh, tcb is fucked
well thats fun
forgot to add some very specific code to save the pthread fs base
woopsie
well thats going to be extremely annoying to debug
register state seems to be borked
and mmap gets some invalid values
huh it is calling into mlibc with a ldt fs
that can't be goo
d
I think its just some stupid stuff relating to context switching that I messed up
this shit is extremely annoying to get right I must say
Didnt try but dont see why not, it runs opengl
time to port the metaverse before it shuts down
ok I think it might be signal memes
it might be getting a signal and then getting another signal and I don't think I handle recusive altstacks properly
oh no I do
nvm
lol
this is certainly a very damn annoying bug to try to catch
whats the bug
fsbase is bad
well I am trying to get wine to work with 32 bit applications
and in that I am deep in ldt bullshit
ohhh
the rip is in libc code (thread_mutex_timedlock):
auto tcb = get_current_tcb(); // <----- does asm volatile ("movq %%fs:0, %0" : "=r"(ptr)); inside it
return tcb->tid; // <----- dies here
the backtrace is in wine code:
0x64541 <allocate_virtual_memory+321>
0x67762 <NtAllocateVirtualMemory+306>
0x3c301 <__wine_syscall_dispatcher+413>
so I need to figure out why the fuck is __wine_syscall_dispatcher not working and if the way I'm doing it depends on some linux semantics that I obviously don't follow becasue I am linux
but I think it did run 32 bit code at this point if it is running syscalls, so thats a nice detail
(__wine_syscall_dispatcher is one of these huge asm sections)
"movq 0x320(%r13),%rsi\n\t" /* amd64_thread_data()->pthread_teb */
"testq %rsi,%rsi\n\t"
"jz 2f\n\t"
"mov $1, %edi\n\t" /* ARCH_CTL_SET_FSBASE */
"mov $1, %eax\n\t" /* SYSCALL_ARCHCTL*/
"syscall\n\t"
"leaq -0x98(%rbp),%rcx\n"
"2:\n\t"
this code looks sane


