Red Hat Patch Proposal To Split FBDEV Core Support
For nearly the past decade there has been calls for deprecating the Liux kernel's frame-buffer "FBDEV" device code though the code remains within the kernel. While these days most display drivers are DRM-based even in the embedded world, a lot of FBDEV code still ends up in kernel builds even when just wanting to use DRM's FBDEV emulation layer. But a patch proposal out of Red Hat would further split-up the FBDEV core support to allow less of it to be built.
Now that Linux 5.14 is bringing the SimpleDRM code, it's possible to boot from SimpleDRM to the real DRM driver for the GPU/display device without having to use a legacy FBDEV driver like the EFI frame-buffer or SimpleFB for early console support. Red Hat's Javier Martinez Canillas is working on the ability to build Fedora's kernel so that the DRM FBDEV emulation layer is available but that the rest of the FBDEV frame-buffer code and drivers are disabled.
Right now that DRM FBDEV emulation layer depends upon the CONFIG_FB build option that in turn includes a lot of frame-buffer code. Proposed patches from Javier restructure it to introduce a new "CONFIG_FB_CORE" option and making the DRM emulation layer depend just on that rather than the full "CONFIG_FB". Thus Fedora and other modern Linux distributions could avoid building/including a lot of that FBDEV code that should no longer be needed.
"I have tested and works with CONFIG_DRM_FBDEV_EMULATION=y and CONFIG_FB disabled. This config automatically disables all the fbdev drivers that is our goal," Javier noted in the RFC patch series.
All the FBDEV drivers remain within the kernel but hopefully this serves as a stepping stone towards ultimately being able to remove a lot of this legacy FBDEV code from the kernel in the future.
Now that Linux 5.14 is bringing the SimpleDRM code, it's possible to boot from SimpleDRM to the real DRM driver for the GPU/display device without having to use a legacy FBDEV driver like the EFI frame-buffer or SimpleFB for early console support. Red Hat's Javier Martinez Canillas is working on the ability to build Fedora's kernel so that the DRM FBDEV emulation layer is available but that the rest of the FBDEV frame-buffer code and drivers are disabled.
Right now that DRM FBDEV emulation layer depends upon the CONFIG_FB build option that in turn includes a lot of frame-buffer code. Proposed patches from Javier restructure it to introduce a new "CONFIG_FB_CORE" option and making the DRM emulation layer depend just on that rather than the full "CONFIG_FB". Thus Fedora and other modern Linux distributions could avoid building/including a lot of that FBDEV code that should no longer be needed.
"I have tested and works with CONFIG_DRM_FBDEV_EMULATION=y and CONFIG_FB disabled. This config automatically disables all the fbdev drivers that is our goal," Javier noted in the RFC patch series.
All the FBDEV drivers remain within the kernel but hopefully this serves as a stepping stone towards ultimately being able to remove a lot of this legacy FBDEV code from the kernel in the future.
28 Comments