• Please review our updated Terms and Rules here

Why is there no generic Kernel Mode Setting VESA driver yet?

vilaskafre

Banned
Joined
Jul 18, 2020
Messages
1
While I personally don't have any current hardware that don't have Kernel Mode Setting, and even VirtualBox has it now, as well as most QEMU options however there are still some cards out there that don't have a driver, and have to use the VESA fallback I think, which doesn't present a /dev/dri/card0 for things like Weston.
For these obscurer devices, why doesn't the VESA driver do mode setting? Is there some restriction that makes it not possible?
 
I've never looked into it, but as a guess I'd suppose that while VESA standardized some things, the actual I/O port writes required to set a particular mode were not among them. So, you still need the VESA BIOS to do those things, which probably requires switching to real mode.
 
There is uvesafb, but it requires a userspace daemon to handle the CPU emulation for the VESA BIOS.

But generally, if there is no need for a driver, it won't be written. Linux development nowadays is not driven by hobbyists anymore, but companies. And while they have to make sure to not break backwards compatibility, new support for old devices is not important to them. And - to be honest - who has an obscure device without KMS and wants to use it with a modern kernel and Weston in a production environent?

To my knowledge, the Cirrus KMS driver is not verified on real hardware either. It was written specifically for the Cirrus emulation employed by emulators (mainly Qemu) and does not handle any other Cirrus cards except for this specific one.
 
That's certainly true. I note the Linus has suspended floppy support, as the fellow whose responsibility it was no longer has a floppy-capable system.

Gone are the old days, when OS development meant keeping at least one representative specimen of each system for testing.
 
Back
Top