Linux 5.14 To Bring SimpleDRM Driver, VC4 HDR, Marks More AGP Code As Legacy
Years ago Phoronix readers may recall the SimpleDRM driver that was proposed as a very simple DRM/KMS driver for frame-buffer drivers. Coming with Linux 5.14 is now a new "SimpleDRM" driver that is a new take on the solution. The driver finally being mainlined is a Direct Rendering Manager / Kernel Mode-Setting driver for simple frame-buffer platform devices.
Thomas Zimmermann of SUSE who has worked on this new SimpleDRM solution sums it up as, "The new driver, called simpledrm, binds to a simple-framebuffer platform device. The kernel's boot code creates such devices for firmware-provided framebuffers, such as EFI-GOP or VESA. Typically the BIOS, UEFI or boot loader sets up the framebuffers. Description via device tree is also an option. Simpledrm is small enough to be linked into the kernel. The driver's main purpose is to provide graphical output during the early phases of the boot process, before the native DRM drivers are available. Native drivers are typically loaded from an initrd ram disk. Occationally simpledrm can also serve as interim solution on graphics hardware without native DRM driver. So far distributions rely on fbdev drivers, such as efifb, vesafb or simplefb, for early-boot graphical output. However fbdev is deprecated and the drivers do not provide DRM interfaces for modern userspace."
Zimmermann is also exploring possible flicker-free "Fastboot" support and other improvements to make with this driver. SimpleDRM has so far been tested with EFI and VESA frame-buffers.
Also sent in on Thursday as part of drm-misc-next is proper High Dynamic Range (HDR) metadata support for the VC4 driver, most notably used by the latest Raspberry Pi SBCs with Broadcom VideoCore. The pull also has overlay support for the VKMS driver, the new SVGA3 support for VMware's VMWGFX, and the core AGP code and ioctl are now placed behind the CONFIG_DRM_LEGACY build switch.
Linux 5.14+ will now treat the AGP-related kernel interface ioctls as legacy along with the other AGP helper code. These changes though do not impact the AGP support of existing drivers and just used by the user-mode drivers. The CONFIG_DRM_LEGACY Kconfig build switch has been part of the kernel already as a means of handling legacy DRI1 driver support and hiding "unsafe and dangerous APIs to user-space." We'll see how long it takes the Linux kernel to begin removing more AGP code itself but for now those still rocking out with a vintage AGP graphics card can keep on using new kernels.
The initial batch of drm-misc-next changes slated for Linux 5.14 can be found via this mailing list post. Expect more changes to build up over the coming weeks.