Hans de Goede wrote:
On 4/8/22 13:18, Kevin Kofler via devel wrote:
> Still, I remain worried about the details, such as:
> * that, if VESA is needed, the VESA mode has to be configured through the
> kernel CLI,
> * that, as far as I can see, switching to another mode with kernel VESA
> requires a reboot (with different kernel CLI options),
Both are correct and are indeed somewhat of a downside, although I'm
not sure if Xorg ever automatically uses vesa as fallback of last
resort, or if this needs manual setup.
Hello,
I have checked and really Xorg uses VESA as a fallback of last resort without
any configuration, at least in Fedora 36 beta.
I have booted Fedora 36 LiveCD inside QEMU with the default "-vga std"
parameter
and in the boot menu selected Troubleshoot -> "Start using basic graphics
mode".
It used the VESA Xorg driver and the resolution could be switched at runtime.
What about virtual machines?
* Current versions of QEMU default to "-vga std": "Standard VGA card with
Bochs VBE extensions." [1] I have tested Fedora 36 beta and the bochs kernel driver
runs fine with Wayland.
* Older QEMU versions (I have 4.2.1) with the "-vga vmware" parameter do not
support the HW pitchlock and the vmwgfx kernel driver inside
the virtual machine errors out with a "Hardware has no pitchlock" message.
This works nicely with Xorg and the vmware driver, though.
It is also possible that VESA is still used with some cloud providers / etc.,
at least when the virtual machine does not use UEFI.
I have been thinking about writing a KMS version of the uvesafb kernel driver.
The uvesafb driver is able to change VESA modes at runtime using a helper program
that runs in userspace and executes or emulates VBE (VESA BIOS Extensions) code
from the video card BIOS. This will allow Wayland to run on top of VESA/VBE and the user
to switch video modes at runtime, from the GUI.
This is on my TODO list, but I am not experienced enough with kernel development to do it
yet.
After all, I am not convinced that there is much benefit in dropping the vesa
and fbdev Xorg drivers. There are instances when they could be useful, for example
when KMS / other Xorg drivers do not work due to bugs. The user should then be able
to get to a workable desktop and at least easily copy logs and submit a bug report.
I am not a stakeholder here, though.
Greetings,
Mateusz
[1]
https://manpages.ubuntu.com/manpages/jammy/man1/qemu-system.1.html