Testing Out ATI Kernel Mode-Setting On Ubuntu
Kernel mode-setting for Intel graphics hardware can already be found in the mainline Linux kernel and will be included by default in the release of Ubuntu 9.10 later this year. While Intel's kernel mode-setting support has been maturing in a steadfast manner, this support has not been moving along quite as fast for ATI and NVIDIA hardware. It is possible we will see ATI/AMD kernel mode-setting along with the necessary memory management support enter the Linux 2.6.31 kernel and potentially see this feature appear in Ubuntu 9.10 as an end-user option, but currently this support is still deemed under development. For those with ATI Radeon hardware looking to test out kernel mode-setting, there is now a Launchpad PPA and a LiveCD available for testing out these mode-setting capabilities atop Ubuntu.
The Radeon KMS PPA can be found and discussed here. Enabling kernel mode-setting for ATI hardware on Ubuntu currently requires specialized snapshots of the kernel DRM, a Linux 2.6.30 kernel that is built with the memory management and KMS support, a snapshot of Mesa 7.6, and a version of the xf86-video-ati DDX driver that is derived from a v12.2.99 Git snapshot. The Ubuntu xorg-edgers project has also pushed out an Ubuntu LiveCD spin that comes with these packages installed by default to assist in the testing process.
We tested out this xorg-edgers LiveCD with the ATI kernel mode-setting packages on a Lenovo ThinkPad T60 notebook that was using an ATI Mobility Radeon X1400 graphics processor. The kernel mode-setting had worked without issues. The LiveCD was installed to a Corsair Flash Survivor GT USB drive. However, as can be seen from our video above, the boot experience is not exactly pleasant with kernel mode-setting in general nor is it very fast. Canonical was planning to adopt Red Hat's Plymouth to provide a pleasant, flicker-free boot experience in Ubuntu but that decision was recently retracted. Canonical instead will continuing to be use USplash, which does not directly take advantage of kernel mode-setting, and instead will be investing their resources in improving the overall startup time. They hope to reach a ten second boot time by Ubuntu 10.04 LTS, but at this time that is still a far reach.
While the boot experience is not as fashionable as Fedora with Plymouth on KMS and its fancy plug-ins, VT switching is, of course, very clean and prompt when using the kernel mode-setting driver. The virtual terminal also remains at the panel's native resolution and is much faster. Other general benefits of kernel mode-setting include the ability to run the X Server without root privileges (read: better security) and the ability to display graphical panic messages if something goes awry. There are also projects like Wayland that further leverage kernel mode-setting and newer technologies within the X.Org stack.
It is not clear yet whether we will see kernel mode-setting for any ATI Radeon hardware within Ubuntu 9.10 (or whether it will enter the Linux 2.6.31 kernel), but we are certainly hopeful and look forward to more distributions adopting kernel mode-setting. Kernel mode-setting for NVIDIA hardware via the Nouveau project is likely out of the question until at least Ubuntu 10.04 LTS with the Linux 2.6.32/2.6.33 kernels. There is also no kernel mode-setting at this time for the ATI Radeon R600/700 (HD 2000 series and later) hardware.
If you enjoyed this article consider joining Phoronix Premium to view this site ad-free, multi-page articles on a single page, and other benefits. PayPal or Stripe tips are also graciously accepted. Thanks for your support.