Kernel Mode-Setting Push For Linux 2.6.29 Kernel
David Airlie has just called upon Linus Torvalds to pull the kernel mode-setting framework and Intel KMS driver support into the Linux 2.6.29 kernel. If you're a faithful Phoronix reader this shouldn't come as a surprise since Intel, Red Hat, and others have been busy hacking away at kernel mode-setting to get it ready to merge.
The core kernel mode-setting code will now be in the next mainline kernel release along with the Intel i915 KMS driver, but the kernel must be built with the CONFIG_DRM_I915_KMS option since KMS isn't yet enabled by default. It was just in the previous kernel release, the Linux 2.6.28 kernel, that the Graphics Execution Manager made its way upstream since GPU memory management within the kernel is a prerequisite for having mode-setting done also in the kernel.
Kernel mode-setting allows for faster VT switching, improved suspend-and-resume support, a flicker-free boot experience, eliminating the need for X to be banging on the hardware, and various other benefits. While KMS is finally entering the mainline Linux kernel, it's been shipping as a preview feature in Fedora since earlier this year (A Preview of KMS). Kernel mode-setting is also depended upon by Red Hat's Plymouth boot project as well as Wayland. For more on kernel mode-setting, checkout The State of Kernel Mode-Setting or our other articles.
All that will be supported by KMS in the 2.6.29 kernel is Intel hardware. ATI does have kernel mode-setting support, but it's not ready to be merged into the mainline kernel due to its dependence on the TTM memory manager rather than GEM. We previously talked about the GEM-ified TTM manager for the ATI driver, but a new version of TTM must come about or the Radeon memory management code be redesigned so that it can be pushed upstream. If this work can be accomplished in the next three months we could possibly see it in the Linux 2.6.30 kernel. Any NVIDIA kernel mode-setting support is still a ways out since the third-party Nouveau driver depends upon Translation Table Maps as well and there isn't even a stable 2D Nouveau driver out yet.
The mailing list message asking Linus to pull KMS and the i915 KMS driver into Linux 2.6.29 can be read on the DRI development list.
The core kernel mode-setting code will now be in the next mainline kernel release along with the Intel i915 KMS driver, but the kernel must be built with the CONFIG_DRM_I915_KMS option since KMS isn't yet enabled by default. It was just in the previous kernel release, the Linux 2.6.28 kernel, that the Graphics Execution Manager made its way upstream since GPU memory management within the kernel is a prerequisite for having mode-setting done also in the kernel.
Kernel mode-setting allows for faster VT switching, improved suspend-and-resume support, a flicker-free boot experience, eliminating the need for X to be banging on the hardware, and various other benefits. While KMS is finally entering the mainline Linux kernel, it's been shipping as a preview feature in Fedora since earlier this year (A Preview of KMS). Kernel mode-setting is also depended upon by Red Hat's Plymouth boot project as well as Wayland. For more on kernel mode-setting, checkout The State of Kernel Mode-Setting or our other articles.
All that will be supported by KMS in the 2.6.29 kernel is Intel hardware. ATI does have kernel mode-setting support, but it's not ready to be merged into the mainline kernel due to its dependence on the TTM memory manager rather than GEM. We previously talked about the GEM-ified TTM manager for the ATI driver, but a new version of TTM must come about or the Radeon memory management code be redesigned so that it can be pushed upstream. If this work can be accomplished in the next three months we could possibly see it in the Linux 2.6.30 kernel. Any NVIDIA kernel mode-setting support is still a ways out since the third-party Nouveau driver depends upon Translation Table Maps as well and there isn't even a stable 2D Nouveau driver out yet.
The mailing list message asking Linus to pull KMS and the i915 KMS driver into Linux 2.6.29 can be read on the DRI development list.
10 Comments