This article is more than 1 year old
Fedora starts to simplify Linux graphics handling
Changes will make things less challenging for developers, but maybe not for users
The Fedora development team are planning some significant changes to the way the distro handles graphics, which will help to push forward the state of Linux graphics support – but it may hinder troubleshooting when things go wrong.
The planned changes are coming in two stages. Initially, the imminent Fedora 36 release will remove the old fbdev
driver, leaving only DRM and KMS. Then for Fedora 37, which is due later this year, it's proposed that the driver be removed from the X.org server as well.
These steps are associated with the planned transition to requiring UEFI firmware, with a later goal of removing legacy BIOS support altogether.
The tools are already in place: this is not adding any new or experimental technology, but rather removing some old tools and drivers that in modern PCs are no longer needed, and which make graphics handling more complicated.
The kernel's fbdev
device has been deprecated since 2015. It's a very old-fashioned mechanism for the kernel to display graphics on the system console, which was introduced in kernel 2.1.109 back in 1999.
A visible use was the Tux logo that some distros display with the kernel messages during startup. It did have other uses, though, such as the ability to display software-defined fonts on the console, handy for those who use characters, or entire alphabets, not covered by the PC's character set. Last century, it was also used on some computers that don't have a native text mode, such as early Macintosh models.
Out of the frame
The functionality is not disappearing. What is going is the software and drivers that enable the kernel to do this directly. They will be replaced by a new driver called simpledrm
, which emulates the old framebuffer. It sets up the display using KMS, which all distros have used for many years.
KMS stands for Kernel Mode Setting. It's a mechanism for the Linux kernel to switch the display into a particular mode, very early in the boot process, so that the system startup looks smooth, without sudden jerky changes of graphics mode when the display server starts. KMS in turn uses DRM to accomplish this. Not Digital Rights Management, in this context, but Direct Rendering Manager, which is how the kernel talks directly to GPUs.
For now, simpledrm
will replace fbdev
, but it's not yet possible to completely remove this, partly because fbcon
, the kernel console driver, requires it.
Once the old fbdev
device is gone, the plan is that Fedora 37 will continue this process by removing the X.org drivers for both fbdev
and the generic VESA driver. Eventually, X.org itself will be removed, as the various desktops that Fedora offers shift over to Wayland.
Most users shouldn't notice any difference. Virtually all distros, even text-only server distros, already use KMS to configure a console graphics mode, enabling people to use other alphabets and writing systems.
- Ubuntu 22.04 LTS arrives on everything from a 2GB Pi to AWS Graviton
- Next versions of both Fedora and Ubuntu head into beta
- GParted 1.4: New version of live partition-manipulation tool
- GNOME 42's inconsistent themes are causing drama
The only potential problem that the Reg FOSS desk can envision is with troubleshooting. If a Linux system won't boot properly, one of the first troubleshooting steps to try is to add nomodeset
to the kernel parameters – for example, see this Dell page. It stops the kernel from trying to set the graphics mode, and it's useful because that is a step which quite often goes wrong.
In theory, this should still work, as the simpledrm
console driver handles three cases where KMS doesn't work: efifb, a generic UEFI frame buffer, simplefb for some Arm64 machines, and vesafb, a generic method for Intel machines. ®
But as Yogi Berra said: "In theory, there's no difference between theory and practice. In practice, there is."
It is possibly relevant to note that on the day before Ubuntu 22.04 was released, the developers turned off some experimental features relating to Wayland support: switching to X.org by default on machines with only an nVidia display, and disabling 3D acceleration when running Ubuntu in a VM under Ubuntu. Some of this technology is not ready for prime-time just yet.
Of course the goals of Fedora and Ubuntu are very different: indeed, those of an Ubuntu LTS release, which will be supported until 2027, are diametrically opposed to Fedora, which doesn't have long-term support releases. These pro-active moves from Fedora should help to reveal issues in the Linux graphics stack. We can hope that by the time Ubuntu 24.04 appears, this stuff will be a lot more stable, including for RHEL 10.