#TIL that there are #UEFI-only computers being sold now with no legacy BIOS compatibility mode.

That kind of sucks for experimenting with alternative OSes.

I've heard there's a software shim in development to replace this lost functionality, but it's still very early/alpha/basic/incomplete.

@rl_dane I'm not even joking, if I meet the dipshit that created UEFI, I _will_ give them a piece of my mind, and it will _not_ be kind.

@OpenComputeDesign @rl_dane
Okay no, UEFI absolutely does need to exist, it makes low level development go from rawdogging interrupts to just writing C code with the efi stdlib. Is the UEFI (edk2) code good though? No, hell, absolutely not. It feels like the code was made by a bunch of random university students without much of a coherent thought on anything.

I've attached two images of the VFR compiler source code (part of EDK2 BaseTools that I've been fighting with for the past couple of days), it's horrid. The styling is all over the place, barely any comments, a BUNCH of codegen (that happens to be incorrectly implemented so if you use more than 1 build job, you create a race condition with modifying the source *as it's being processed by the compiler* from which you get build fails once every 10 or so attempts that are HELL to debug without knowing what is happening), CRLF + NL mess (why do text editors on Windows even do this?!), dependencies from the freaking 90's with support for SGI workstations and more.

Oh yeah, if you've noticed, all of this was just for the VFR compiler, just a single dependency of EDK2. Onto EDK2 code itself - it's actually pretty decent!... as long as you only look at the base and not at edk2-platforms...

@9vlc @rl_dane

I, don't really understand who this is for though? Is this for kernel developers?

@OpenComputeDesign @rl_dane
Kernel and bootloader development.

@9vlc @rl_dane

I see...

But, kernels and bootloaders not only already exist, but there are many more for BIOS than for UEFI. So even if it's _easier_ on UEFI, it really just means you have to rewrite everything that was already working, from scratch.

And I also feel like, it's not really reasonable to throw all your users under the bus for arguably more elegent programming

@OpenComputeDesign @rl_dane
Okay also about the *good* side of UEFI, it makes the code actually portable!
If you make a bootloader for BIOS, it'll be stuck with only one option of x86/x86_64 and even if you got some sort of a BIOS on a platform like ARM, you'd have to rewrite a ton of it since, well, the communication with BIOS is... mostly assembly.

With UEFI you can just write C and then compile it for x86, ARM, Risc-V with minimal/no changes

@9vlc @rl_dane

This is false. If you write BIOS code, sure, it will only work on an x86 BIOS. But if you write UEFI code, it won't work _anywhere_ because UEFI doesn't actually work.

@OpenComputeDesign @9vlc

😂

Ok, that was a very silly/unhelpful response, but it hit my funny bone just right.