<bslsk05>
developer.arm.com: Documentation – Arm Developer
<Mondenkind>
keeping them close lets you share most of the circuitry
<mjg>
running 32-bit binaries was one of the seeling points over itanium
<clever>
but yeah, i can see compat being a problem, then you need 2 completely different decoders
<clever>
Mondenkind: yep
<geist>
clever: and no, you can't. it's close but a few of the opcodes are moved around
<geist>
the obvious one being the REX prefix having previously been used for a one byte 32bit op
<geist>
you lose it, but you get the prefix
<Mondenkind>
with that said. _now_, I think you could get away with cleaning up the encoding, and making a jit old->new
<clever>
geist: what i meant, was more, you could have re-designed x86-64 to not be a train wreck
<clever>
but then you cant share any decoder logic between 32bit and 64bit
gbowne1 has quit [Remote host closed the connection]
<mjg>
amd64 is slowly getting to death row anyway
<geist>
well, that's precisely what ARM does
<Mondenkind>
(old 32-bit _and_ 64-bit)
<geist>
hence why the arm32 -> arm64 transition is a lot cleaner IMO
<geist>
at the expense of having two decoders
<clever>
and the 32bit decoder being optional
gbowne1 has joined #osdev
<geist>
but then they also defined the system as booting in the highest mode, so they can slowly phase out the 32bit mode, which they're doing.
<clever>
yep
<geist>
intel is only now really starting to talk about finally phasing out < 64bit moe
<clever>
while x86 boots in the lowest mode, like a 286, or older??
<geist>
yep, like an 8086. real mode
<clever>
some x86 chips still have the a20 gate active?
<geist>
yep
<mjg>
is that true for something freshey?
<mjg>
i thought most of that luller got fucked after uefi?
<geist>
i dunno, i literally booted dos on my ryzen a few years ago
<geist>
boots and ran just fine. i was a bit surprised, but it was pretty neat
<mjg>
but you switched to legacy mode first?
<mjg>
the bios
<kazinsal>
iirc one of the last stages in the CSM boot process before popping down to real mode and handing over control is "disable A20"
<clever>
but i think a20 only matters, for programs that place a section near the top of the lower 1mb
<geist>
nope, was using the CSM stuff
<clever>
and expect access to wrap around to 0
<geist>
yep, himem.sys
<mjg>
hm
<geist>
thats its original purpose, you load it you get UMB (upper memory block) and then you can use loadhigh for other drivers
<mjg>
that's both impressive and kind of a disappointment
<geist>
mjg: yah *even crazier* i booted from a usb floppy drive
<mjg>
you just know that level of compat comes at a cost
<clever>
geist: i still never really learned how all of that highmem stuff in dos worked
<mjg>
now *that* i aspect i think i understands, there is some low level bullshit (probably provided by bios) which lets you do dogslow reads
<mjg>
from anything
<clever>
did dos ever use the segment remapping stuff?
<geist>
i'm sure that has it's limitations. probably ceases to look like a DOS machine as soon as you try to find the real FDC
<clever>
that kind of was an ancestor of the mmu?
<geist>
clever: very very much
<mjg>
i booted something after illegally burning an fd image onto a cd
<geist>
well, okay. not in the strictest sense. classic dos is real mode, so you dont use GDT/etc to remap because that only kicks in when you go to protected mode
<mjg>
after the boot loader finished loading the kernel (super slow) it claimed it has no idea what cd is
<clever>
geist: i discovered why one sata drive in my nas was performing poorly a few months ago, the bloody bios put it into pata emulation mode
<clever>
so even modern linux can be fooled by that stuff
<mjg>
;d
bauen1 has quit [Ping timeout: 260 seconds]
<mjg>
there was a video somewhere recounting a lot of evil concerning x86 boot process
<geist>
that's baiscally what 286 protected mode is: it's stilla 64bit machine, but it extended 8086 to have 4 rings, redefines how segments work (they';re now handles into a table instead of a << 4 offset), and then added GDT/LDT and IDT tables to let it all be indirected
<mjg>
where the person (people?) presenting claimed it is a miracle it even boots
<clever>
the weird part, is that a single sata controller, was doing both sata and pata at the same time
<mjg>
does anyone remember what i'm talking about?
<geist>
but otherwise 286 is still dealing with 64K segments, just via handles now
<clever>
2 over the sata api, and 1 over pata
<geist>
also this is why 286 machines can address up to 24 bits, because the original GDT has iirc 20 bit offset/lengths in units of 16 bytes?
<geist>
something like that
<kazinsal>
yeah
<geist>
then 386 extended the segments out to full 32bit, which is why the base/length stuff is split across the GDT entries in a weird ass way
<clever>
i read one thing about some AMD chips with the PSP, and how it starts booting with an arm core
<kazinsal>
reminds me I gotta get some new tantalums for the PS/2
<clever>
the arm core handles dram init, copies the x86 bios to ram, and maps that to the legacy reset vector
<clever>
and any changes to dram config, require a hard reset of the x86, and message passing to the arm, so it can redo things
<bslsk05>
wiki.osdev.org: Global Descriptor Table - OSDev Wiki
<geist>
the top byte (bits 63-48) were clearly unused in 286, since base [31..24] and limit [19..16] were unused
<geist>
as well as the flag bits which are all only concerning 386
<kof673>
ralf brown interrupt list: > Notes: Errors on a floppy may be due to the motor failing to spin up quickly enough; the write [or read] should be retried at least three times, resetting the disk with AH=00h
<kof673>
seems pretty reliable to me /s
<geist>
yah if you write a bare metal floppy driver you have to kick the disk motor yourself
<geist>
and keep a timer to keep the motor running for a second or so after the last transaction
<clever>
i was also recently looking back at ipxe and the sanboot command
<geist>
and of course wait for it to spin up
<clever>
from what i can see, ipxe will hijack the bios soft-irq's for hdd access
<clever>
and re-map the local hdd's to an iscsi device
<clever>
then anything using the legacy api (dos, grub, win95 in some modes), will route thru ipxe and over iscsi
<kof673>
yeah, was gonna say....there is an interceptor pattern there basically if one goes through the trouble
<clever>
obviously, it stops working when you switch to proper drivers, but by then, linux would have an initrd, and can iscsi itself
gbowne1 has quit [Read error: Connection reset by peer]
masoudd_ has joined #osdev
netbsduser has joined #osdev
<kazinsal>
that's one thing I need to fiddle with a bit, is PXE shenanigans. currently I netboot grub for rapid build testing but I'd like to NIH the rest of my bootstrap process, including PXE
<kazinsal>
finally drop multiboot entirely
netbsduser has quit [Ping timeout: 252 seconds]
jjuran has quit [Read error: Connection reset by peer]
jjuran has joined #osdev
SGautam has quit [Quit: Connection closed for inactivity]
rustyy has quit [Quit: leaving]
rustyy has joined #osdev
ThinkT510 has quit [Quit: WeeChat 4.2.1]
netbsduser has joined #osdev
ThinkT510 has joined #osdev
rsjw has quit [Quit: leaving]
netbsduser has quit [Ping timeout: 256 seconds]
Matt|home has joined #osdev
ski has joined #osdev
GeDaMo has joined #osdev
netbsduser has joined #osdev
<sham1>
Dropping Multiboot? Nice
netbsduser has quit [Ping timeout: 255 seconds]
<kazinsal>
yeah my osdev dream goal (which is unlikely to happen, for many reasons) is to have my OS be the core of a combined hardware/software product, and NIHing things when you know the exact set of hardware you're running on is sooooooo much easier
<kazinsal>
nothing I do from an osdev perspective is particularly genericizable
<mjg>
fucking pitbulls
masoudd_ has quit [Ping timeout: 264 seconds]
<Ermine>
heat: with the hw decoder? <--- yes
jjuran has quit [Quit: Killing Colloquy first, before it kills me…]
jjuran has joined #osdev
xFCFFDFFFFEFFFAF has joined #osdev
bitoff__ has joined #osdev
bitoff_ has quit [Ping timeout: 256 seconds]
<kof673>
pitbulls are not a problem, only nature can overcome nature > In most accounts, Hercules subdues and steals the mares, killing Diomedes and feeding him to his own horses
<Reinhilde>
Humans are a force of nature
<kof673>
well, he wars lion skin when taking on the lion :D medusa sees her reflection, etc. :D
<kof673>
*wears
elastic_dog has quit [Ping timeout: 256 seconds]
xFCFFDFFFFEFFFAF has quit [Read error: Connection reset by peer]
elastic_dog has joined #osdev
netbsduser has joined #osdev
bitoff__ has quit [Read error: Connection reset by peer]
bitoff__ has joined #osdev
theyneversleep has joined #osdev
masoudd_ has joined #osdev
carbonfiber has joined #osdev
masoudd_ is now known as masoudd
joe9 has quit [Quit: leaving]
navi has joined #osdev
heat has joined #osdev
<heat>
mjg, mothercrapper the x86 boot process is absolutely INSANE
<heat>
from the firmware down to the bootloader and down to the kernel
<heat>
linux has like... 4 or 5 different entry points for the various ways it may be booting from
<mjg>
you need to relax heet
<mjg>
my hello world qemu kernel works every time with just one entry point
<heat>
multiboot1 is bae
<sham1>
multiboot2 or bust
<sham1>
At least MB2 gives you access to the ACPI tables
<heat>
multiboot2 is incredibly buggy
<heat>
well, the GRUB implementation, which is virtually (if not literally) the only one
<heat>
there was a bug some years ago where GRUB just zeroed the RSDP in memory. and bugs where they changed what "image base" meant in the relocatable kernel bits
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
<clever>
heat_: i figured out what was causing the 4k alignment issues on the pi5, the x86 wine!? :D
<bslsk05>
forums.raspberrypi.com: Just a moment...
<Ermine>
my bad, i didn't change the situation yet...
<kof673>
"various ways it may be booting from" yes, > loadlin is a Linux boot loader that runs under 16-bit real-mode DOS
<clever>
kof673: i dont have the full details, but ive also ran linux on a treo 650, its normally palmos based
<clever>
the cpu lacks an mmu, so any application can just turn irq's off and jump to the linux entry-point
<clever>
but, how do you get processes without an mmu? :D
<clever>
a vfork() only libc!
<kof673>
for "those" and similar, wikipedia says mmx-like and sse-like instructions on arm 5!
<kof673>
i mean that is not surprising, just assumed those names would be x86-only
theyneversleep has quit [Remote host closed the connection]
<Ermine>
fk noname android devices with borked fastboot
goliath has joined #osdev
bauen1 has joined #osdev
Vercas9 has quit [Ping timeout: 260 seconds]
Vercas9 has joined #osdev
heat has joined #osdev
heat_ has quit [Ping timeout: 240 seconds]
Bergerag has joined #osdev
gildasio has quit [Ping timeout: 260 seconds]
heat has quit [Remote host closed the connection]
heat has joined #osdev
gildasio has joined #osdev
pog has quit [Quit: byee]
xFCFFDFFFFEFFFAF has joined #osdev
gog has joined #osdev
mjg has quit [Ping timeout: 256 seconds]
xenos1984 has quit [Ping timeout: 240 seconds]
xenos1984 has joined #osdev
xFCFFDFFFFEFFFAF has quit [Read error: Connection reset by peer]
masoudd_ has joined #osdev
masoudd has quit [Ping timeout: 272 seconds]
<Ermine>
mjg@fook.org
<Ermine>
fook, can't coonect to this one
<gog>
fook
<heat>
fook yoo all
<gog>
rude
<gog>
i'm leaving because you were rude and mean
<Ermine>
heat: how dare you to make gog upset
<heat>
gog no dont leave no no please no
<gog>
i'm jk
<gog>
but i am leaving
<gog>
but not because i'm upset
* gog
sniffles
<heat>
wtf i start watching the game and we start losing
<heat>
fuckign hell
<Ermine>
Stop watching it so they could start winning again
<heat>
oh well, stream died anyway
<Ermine>
Idk where my boss gets this Chinese tech
<GeDaMo>
China
<Ermine>
yes but
<heat>
i think you're just sad you have to deal with random chinese vendors and their hacked up tech stack with no regard for the GPL
<Ermine>
This vendor doesn't even have website or email or someting
<Ermine>
Yeah, I'm sad
<heat>
i remember seeing a guy go to actual china and ask for the GPL source code
<heat>
they eventually gave it to him IIRC
<Ermine>
I remember hearing that story
<Ermine>
Well, this is what I'm going to say the boss
<Ermine>
Either he gets sources or firmware file, and then there's a prospect of getting something interesting out of it, or this tech can go straight to an utilization facility
<GeDaMo>
Is that what the kids call landfill these days? :|
<Ermine>
There's bunch of noble metals in electronic devices, you don't want them to get lost on landfills
<GeDaMo>
e-waste stream then :P
<heat>
Ermine, why do you want to mess with that phone's kernel anyway?
Vercas92 has joined #osdev
Vercas9 has quit [Ping timeout: 260 seconds]
Vercas92 is now known as Vercas9
<Ermine>
heat: boss is interested in how to get linux on rk3588 devices
xenos1984 has quit [Ping timeout: 272 seconds]
Matt|home has quit [Quit: Leaving]
xenos1984 has joined #osdev
Bergerag has quit [Ping timeout: 268 seconds]
[itchyjunk] has joined #osdev
netbsduser has quit [Ping timeout: 240 seconds]
<geist>
huh i think someone linked this here weeks ago and i only know got around to reading it, been sitting on a tab on my browser ever since
<kof673>
context: someone told me "egypt guy" who tries to derive things from there, is really just PIE which is......person who didn't read his books or the modern accepted stuff then lol
<Ermine>
and have played for 6hrs
<zid>
I have a couple of hours in eu4
<zid>
1828 infact
<Ermine>
2018 even
<heat>
wow i haven't played hoi4 for 2 years
<heat>
rad
<zid>
holy shit stellaris takes a while t load
<zid>
hrmph if I click achievements it asks me to log into my paradox account
<heat>
zid btw eu5 is going to start in the mid 1300s again
<zid>
sweet
<Ermine>
And 4hrs of them is from 2 weeks ago when I tried tutorial campaign and Ethiopia pissed me off
<heat>
i don't like it, it'll mean the 1300-1500 period will naturally suck ass
<bslsk05>
'THE 10 best Evangelion Rebuild Sound Tracks' by Bobby T (00:35:48)
<heat>
CompanionCube, modern day mod is so hecking boring holy hell
<heat>
1) play germany
<heat>
2) wait 3 hours clicking a button once every few minutes
<heat>
3) form the EU
<nikolar>
Lol
<CompanionCube>
heat: i think millenium dawn was slightly better when that was a thing, but then it merged with the other one that was more into realism, which sucked and had less content i think?
<heat>
idk i lost track
<heat>
they both felt samey to me, but i was never into those mods
<zid>
best eu4 mod is just the 10x multiplier on traditions one
<zid>
ottomans have 100% CCR, france has 1000% morale, etc
<heat>
lol
<nikolar>
Prussians have like 1500% discipline
<zid>
gl forming prussia
<zid>
prussia just vanity, it forms too late
<zid>
by the time prussia is formable you've already eaten all of india and half of europe
<nikolar>
Yeah fair
<zid>
ever done an alien robots game?
<zid>
If they occupy a province, they just core it
<nikolar>
I haven't
<zid>
it's kinda good training for lategame eu4 :P
<zid>
manage 80 wars at once with massively overbought armiesetc
<nikolar>
Heh yeah makes sense
<heat>
geist, how much of the x86 crap bonanza are you mitigating in zircon?
<geist>
some of it, but by far not all of it
<geist>
got the heavy hitters for at least plain spectre stuff
<heat>
yeah i've been lightly reading into some of this stuff and i need to sprinkle some verw's at least :p
<geist>
the most annoying by far are toolchain level fixes, like the huge hit it is to make an indirect call
<heat>
yeah
<geist>
by dumping the BTB. makes a virtual call literally like 100 cycles
<geist>
instead of basically free
<geist>
as you can imagine that works against C++ pretty hard
<heat>
the really big annoying thing is that toolchains don't let you know where you can patch things
<Ermine>
seems like android target triplets have android api level in them
<heat>
linux's objtool does instruction-level analysis to understand where these things are and let the kernel patch at boot time
<heat>
without it, if you build a kernel with rethunks you'll need to take the hit regardless
<geist>
you can have indirects go through a helper function and then patch that at boot
<geist>
which is what we do
<heat>
yeah but it still sucks
<Ermine>
Like aarch64-unknown-linux-android24
<geist>
so that in the best case it's just bounching through an additional function
<geist>
it sucks but a lot less
<Ermine>
oh, patching
<geist>
really one of the biggest thing that sucks is you have no choice but to build up ridiculous amounts of tables for every cpu and every microarch and have all these patchups based on that
zetef has quit [Ping timeout: 252 seconds]
<heat>
wait, where's your __x86_return_thunk?
<geist>
dunno, haven't looked at that in years
<heat>
right, you're a riscv guy now
<heat>
recovering ARM addict :P
<geist>
well, that and a lot of the x86 stuff was done by someone else
<geist>
at least these sploit level stuff
<geist>
i did the basics and then he came in and messed it all up by slowing it down :)
<heat>
shots fired
<geist>
heh we knew it
<Ermine>
Who runs lk on x86 devices anyway?
Left_Turn has joined #osdev
<heat>
we were talking about zircon, not lk
<Ermine>
ah
<geist>
some people do. intel has some internal use for it that i honeslty dont know what
<geist>
which is why they posted some x86 patches and occasionally still do
<Ermine>
Maybe they're replacing minix in their me...
<geist>
nah it's some security thing, that's about all they told me
<geist>
probably some sort of equivalent to trusty from android for x86 android or something
netbsduser has quit [Ping timeout: 255 seconds]
<nikolar>
geist: Trusty consists of:
<nikolar>
A small OS kernel derived from Little Kernel
<geist>
yep
<geist>
nvidia had a similar thing called tLK
<nikolar>
Mystery solved
<heat>
hah lk is running in SMM? lovely
<geist>
in that case it's probably either an intel project to run a hypervisor (though i dont think so, they have their own little type 2 i see show up on occasion) or its some guest in a hypervisor
<geist>
since intel i think doubles down on using virtualization for security bits
<heat>
yeah it could be a hypervisor or it could be running in SMM, who knows
<geist>
probalby not SMM. isn't SMM intrinsically 16bit only?
<geist>
or something like that?
<heat>
no
<geist>
or can you go to full protected mode in there?
<geist>
or i guess you could thunk to it
<heat>
you can do whatever you set your mind to
<geist>
zombocom!
<heat>
unless you set your mind to switching rings, that probably won't work, but i'm not super familiar with how that works
<geist>
yeah dunno. SMM is one of those thigs i've never looked at seriously since you can't easily get to it
<geist>
i dunno of bochs or qemu fully emulates it either
<heat>
but yeah you're probably right. if x86 android still has a semi-conventional UEFI firmware stack, LK will be the hypervisor
spare has joined #osdev
<geist>
but then of course how much does x86 android matter outside of an emulator environment
<geist>
it did temporarily there when intel was interested in making mobile x86, but they dont seem to be so anymore
<geist>
so it may be dead internally
<heat>
idk, good question
<heat>
it could be that this is not for android at all
<geist>
or it's possible it was just some internal testing project or something
<geist>
i know at least one particularly large ARM soc vendor uses the hell out of LK for their testing and factory diagnostics on their soc teams
<heat>
i think apple uses linux
<heat>
It Is Known
<geist>
it's a great size for booting up and running lots of test cases on emulation especially, pre-tapeout, where you want to get from 0 to some working code in the shortest amount of time
<geist>
but want something bigger than just bare metal
<heat>
yep
<heat>
UEFI people would USE FUCKING PYTHON AHHHHHHHHHHHHHH
<heat>
at least its not the UEFI shell
<geist>
someone told me they were running on some emulator thats doing something like 10khz, and they could get to a usable LK environment and running their tests in < 10 minutes
<geist>
but if it was booting linux it takes over 2 hours to just get to the point where they can start the test
<heat>
lol
<Ermine>
Microsoft made VBS thing for windows, so maybe intel follows this
<Ermine>
And MS trusty is securekernel.exe
<geist>
but yeah i'd be chuffed to hear that LK runs on intel chipset stuff
<geist>
but frankly Zephyr is the replacement for LK, in my opinion. if there was another thing out there that most closely does the same thing its that
<geist>
it seems fairly close in design and is a real project with multiple people working on it
<heat>
hello intel, run onyx for everything, its very good and has zeroo bogz, thank heat
<geist>
it checks a lot of the same boxes in terms of getting you a sandbox to start writing code
<Ermine>
Btw, heat, Onyx must be a nice line in your CV
<heat>
yeah its nice
MiningMarsh has joined #osdev
<heat>
i'll just say that if you do it for the CV you'll be dead inside in no time
<geist>
+1 agree
<heat>
i'm completely dead inside but for unrelated reasons
<geist>
there are i'm sure far easier ways to impress people with your CV
<Ermine>
I don't do onyx for cv
<geist>
AI, webdev, etc is what 95% of them care about anyway. you say you wrote an OS it may be impressive but i can tell you abot 80% of the people out there dont even know what that is
Shaddox404 has joined #osdev
<geist>
they assume OS == linux
<geist>
or windows, and then have no real concept of kernels/etc
<Shaddox404>
Hello!
<geist>
it's like saying you have extreme skills in cleaning and diagnosing and building custom carbourators
<Ermine>
For my purposes osdev stuff is irrelevant
<geist>
it may be fantastic, but most people dont even know what it is
<Ermine>
So I do osdev for hobby
<geist>
hi Shaddox404
<gog>
hi
<Ermine>
In systems programming area the most useful line would be ability to write OPTIMAL stuff for linux, making it parallel, etc
<gog>
i'm a web developer
<gog>
i'm sorry
<geist>
dont be. it's what people want
* geist
pets gog
* gog
prr
<Ermine>
And probably GPGPU stuff
<Shaddox404>
Question: Why are the front end of OSes not that well done? I mean i have seen that there are "hacks" to both Windows and Linux desktop envs. Is there a reason why there isnt a less "hacky" approach?
<heat>
onyx engineer job posting
<heat>
requirement: - be gog
<heat>
we want gog
<geist>
not sure i agree with the premise of your question Shaddox404
<geist>
what do you mean 'not well done'?
<gog>
as in they're too rare
<heat>
Ermine, i mean that depends on what you call systems programming honestly
<gog>
bleeding in the middle
<Shaddox404>
I mean, why do they employ a "hacky" approach to get, say a variant of blur in the UI... Why the hacky approach for that?
<heat>
what's a hacky approach there
<gog>
in modern windows? they don't. they have proper compositing now
<gog>
xorg has compositing too
<gog>
wayland always did
<geist>
yep
<Shaddox404>
I'm sorry, I'm rying to explain my best. I have seen a few places (last I saw was in KDE Plasma) where some of the stuff for window related things are called "hacks"
<Shaddox404>
*trying
<geist>
well, they're probably just referring to the fact that nothing is perfect
<geist>
trying to bolt on newer things onto older stuff tends to require some hackery. but then it depends on the details
<gog>
perfect is the enemy of good anyway
<heat>
yeah a desktop is incredibly hard to get right
<geist>
but thats just how things are in most areas of computer programming
<geist>
you cant always get it right the first time and it's very hard to start over and do it right
<Ermine>
Linux tries to do that for like 25 years
<geist>
so sometimes you have to accept that you can't do something optimally, thus you 'hack' it in
<heat>
lets say i use opengl 4 for my WM. your GPU shits the bed and only works with the opengl 2 codepaths. I'll add a hack and you can toggle that if your WM is fucked
<bslsk05>
phabricator.kde.org: ⚙ D21153 [Notifications KCM] Hack scroll bar not crashing
<geist>
eventually it gets bad enough, and a new project starts up to reimplement everything in a modern way (see, say wayland vs X) or (windows 10 compositor vs whatever was before)
<heat>
Shaddox404, yeah but >Actual bug was addressed :)
<Ermine>
It's about graphics, and this is the hardest stuff in osdev
<Shaddox404>
So hacks here are like workarounds created because there is an issue related to QT, so its a temporary fix?
<heat>
Ermine, oh absolutely not the hardest bit is the kernel
<heat>
i am not biased not one bit nuh uh
<Ermine>
What is the hardest then?
<heat>
the kernel
<gog>
well if you look at commentary, they didn't end up using the hack
<gog>
the title of the discussion is misleading
<geist>
getting the energy to stick with it every time
<Shaddox404>
Yes yes, but i want to know the context...
<heat>
the context for what?
<Ermine>
Also, Qt is the hell of the framework
<Shaddox404>
of the term "hack" being used here
<gog>
the context is in the code
<geist>
well in this case it was a workaround for some bug in lower layer code, and thus was a 'hack' and probably intended to be temporary
<gog>
and it was never merged
<geist>
but it didn't get taken because the lower layer code was fixed
<heat>
hack: fixing something in a incorrect/unclean way such that it fixes the bug but forces you to take a shower
<geist>
and thus wasn't needed
<geist>
yah
<Shaddox404>
Ahh i see
[itchyjunk] has quit [Ping timeout: 260 seconds]
<heat>
the linux kernel also has hacks
<gog>
this is all very normal programming things
<heat>
it's actually *full* of hacks
<Shaddox404>
So when parts of it are rewritten in Rust, will those hacks be gone?
<heat>
lmao
<heat>
no
<Ermine>
Also hw is cursed sometimes
<gog>
a lot of bugs like this come from interoperating with other code. rust doesn't fix that problem, it just makes certain limtied guarantees about safety of memory accesses
<Shaddox404>
well, for starts, Nvidia hardware and linux are like oil and water
<heat>
the desktop is particularly annoying because most other components and layers are entirely blackboxes WRT to the WM
[itchyjunk] has joined #osdev
<gog>
really? i have a dual-gpu laptop with nvidia and amd and they do work together decently
<heat>
the GPU drivers are black boxes, the desktop apps are black boxes, and people expect things to just work
<Ermine>
OPTIMUS
<Ermine>
because OPTIMAL
<gog>
yes
<heat>
mjg loves nvidia OPTIMUS
<gog>
PESSIMUS
<Ermine>
AMD PESSIMUS
<gog>
anyhow rust doesn't fix any of this really
<heat>
hey google, how do you say crapper in latin
<gog>
it just makes certain errors with memory accesses less likely
<Shaddox404>
Oh I had a lot of issues when trying to run linux on a GTX 1060 laptop that i previously had
<gog>
idk how long you've been using linux but you have no idea
<gog>
i can run windows games nearly flawlessly on linux now
<heat>
to be fair it's still crap and i wouldn't trust anyone non-technical to use it
<gog>
even 10 years ago this was tricky and often didn't work well
<Shaddox404>
Its been 1 year since I shifted to Linux
<gog>
yeah
<Ermine>
I was surprised when hoi4 run almost without lags on my intel integrated graphics
<Shaddox404>
Thank Valve ngl, without the Steamdeck, the wine/proton development would have not progressed as much
<gog>
no, without wine proton wouldn't exist
<heat>
how would i explain to my cousin that his game doesn't work because glibc removed the sysv symbol hash table and battleeye has a stroke because of that
<gog>
don't get things backwards. valve leveraged literal decades of man hours that went into wine
<gog>
it progressed quickly because of changes in the technology stack that large companies invested in sure
<heat>
woman hours where
<gog>
but only after it proved to be a serious platform
<Shaddox404>
Oh yea, definitely, props to Wine for that
<Ermine>
heat: I've tried to scare my sister by telling that I'll install linux and her games wouldn't work
<gog>
my wife uses linux sometimes and it's fine
<Shaddox404>
I remember that in 2016-2017 when i was still learning about linux, it supported games upto Windows XP only
<heat>
threatening to install linux was an NKVD torture method
<gog>
lmao
<Shaddox404>
NKVD?
<Ermine>
lmao
<gog>
in soviet russia, kernel boots you!
<Shaddox404>
lol
<Ermine>
Yeah, we commit warcrimes towards each other from time to time
<Ermine>
Anyway, there are no cinematics in RTW and needed winetricks are borked
<heat>
as long as medieval 2 works, i'm fine with that
<gog>
baldur's gate threeeeeeee
<gog>
:3
<heat>
RTW has really aged over the last 20 years
<Ermine>
Everything else works in RTW
<gog>
i should play it's been a minute
<heat>
i literally can't play it, it feels very rudimentary
<Ermine>
It even did stop crashing in tutorial campaign
<Ermine>
But Rise of Nations degraded somewhat. It reacts slowly to mouse clicks...
<Shaddox404>
gog Have you played Descent?
<gog>
no
<Shaddox404>
Alright
<Ermine>
Need to try Genshin Impact, people say it now works under linux
<heat>
hey gog you're an old person
<heat>
where were you when franz ferdinand was shot
<gog>
i was not in belgrade
<gog>
i mean sarajevo
<gog>
i was NOT in sarajevo
<heat>
you were definitely not named gavrilo
<gog>
no my name is gog
<Ermine>
Gog is to Icelandic to be named gavrilo
<Ermine>
gog*
<Shaddox404>
or just Good Old Games
<Shaddox404>
by CD Projeckt Red
<Shaddox404>
Yea, I mean i asked because, i thought you'd be into retro and 90's games
<gog>
not especially
Turn_Left has joined #osdev
<Ermine>
gzdoom works!!!
xenos1984 has quit [Read error: Connection reset by peer]
<heat>
Ermine, does any AC freak out with musl?
<Ermine>
?
<heat>
anti-cheat
<geist>
heh i thought you meant EFLAGS.AC
<Ermine>
Wine doesn't work with musl afaik
<Ermine>
because multilib
<Ermine>
So idk
<heat>
lovely
<Ermine>
I heard that it could work if they ported their stuff to PE format
<Ermine>
I usually fall asleep while it updates repos
Shaddox404 has quit [Quit: User Offline.]
<heat>
out of all the package managers i've used, dnf is like... okay
<gog>
when pacman is rewritten in rust will it finally be as slow as apt
<heat>
pacman - apk - dnf - apt speed wise, with the freebsd and netbsd package manager somewhere in the middle
<heat>
no gog, because of zero cost abstractions
<gog>
ah right
<gog>
the magic bullshit
<gog>
thank you
<heat>
and fearless threading
<gog>
NO FEAR
<nikolar>
FEARLESS CONCURRENCY
<heat>
i want a package manager written in java
<heat>
with oop patterns
<gog>
PackageExtractorFactoryBuilder
<heat>
singleton
<heat>
singletons are living proof that if you cleverly rename something they'll eat it all up
<Ermine>
what's about am and pm?
<Ermine>
I believe there's a package manager written in java
<heat>
globals are bad and stupid, singletons are a genius and integral part of building software using industry-proven OOP patterns
<nikolar>
That's just how it goes heat
xenos1984 has joined #osdev
Turn_Left has quit [Remote host closed the connection]
Turn_Left has joined #osdev
<Ermine>
heat: fk you've opened my eyes
<Ermine>
Ah, gradle is definitely java and it can into Maven
<Ermine>
maven central*
<Ermine>
My friend made an abstact class from which all classes in his project was derived. And I've told him to name factory of these objects Iluvatar
Turn_Left has quit [Read error: Connection reset by peer]
elastic_dog has quit [Ping timeout: 256 seconds]
<Ermine>
Back to android: seems like they don't use modules much