overdevelopment of virtual firmware [discussion]
Posted: Wed Nov 11, 2020 7:44 am
I'd like to open up this thread to vent about my problems with virtual firmware, in particular OVMF for QEMU.
There's a few problems with them that can hinder the OS development experience.
1. Over-compatibility
2. Availability
3. Detachment
As for availability, the only problem I have in that regard is that OVMF is only distributed in RPM packages.
As for over-compatibillity...
The OVMF firmware comes with a CSM compatibility layer. Which is perfectly fine. It became a problem when I realized that OVMF actively allowed you to use text mode in UEFI applications when using the CSM module.
As for detachment...
It seems like it defeats the purpose of an emulator. When you are trying seriously to develop an OS, you want it to work on real hardware. So this means support for all new computers, as well as some slightly older computers (so you go as far back as 2007, after that it's a bit more effort for no more reward). QEMU and its related firmware (SeaBIOS/OVMF) give you too much compatibility, that it shocks you when it doesn't work on real hardware. Hell, it won't even work in fucking VirtualBox! This might anger some people who want to be serious about their OS, including me.
What are your thoughts?
[Yes, I'm talking to you, "Bing [Bot]".]
There's a few problems with them that can hinder the OS development experience.
1. Over-compatibility
2. Availability
3. Detachment
As for availability, the only problem I have in that regard is that OVMF is only distributed in RPM packages.
As for over-compatibillity...
The OVMF firmware comes with a CSM compatibility layer. Which is perfectly fine. It became a problem when I realized that OVMF actively allowed you to use text mode in UEFI applications when using the CSM module.
As for detachment...
It seems like it defeats the purpose of an emulator. When you are trying seriously to develop an OS, you want it to work on real hardware. So this means support for all new computers, as well as some slightly older computers (so you go as far back as 2007, after that it's a bit more effort for no more reward). QEMU and its related firmware (SeaBIOS/OVMF) give you too much compatibility, that it shocks you when it doesn't work on real hardware. Hell, it won't even work in fucking VirtualBox! This might anger some people who want to be serious about their OS, including me.
What are your thoughts?
[Yes, I'm talking to you, "Bing [Bot]".]