A Preview Of Kernel-Based Mode-Setting

Published on April 19, 2008
Written by Michael Larabel
Page 1 of 4
Discuss This Article

There are many new and innovative features brewing within the X.Org development community right now -- among the many are Gallium3D, the TTM memory manager, and MPX (Multi-Pointer X) -- but one of the features that has risen towards the top of the list and delivers visible benefits to the end-user is kernel-based mode-setting. As implied by its name, kernel mode-setting involves moving the mode-setting code for video adapters from the user-space X server drivers into the Linux kernel. This may seem like an uninteresting topic for end-users, but having the mode-setting done in the kernel allows for a cleaner and richer boot process, improved suspend and resume support, and more reliable VT switching (along with other advantages). Kernel mode-setting isn't yet in the mainline Linux kernel nor is the API for it frozen, but Fedora 9 shipping next month will be the first major distribution carrying this initial support. In this article we're looking more closely at kernel mode-setting with the Intel X.Org driver as well as showing videos of kernel-based mode-setting in action.

There is currently work underway in porting the Radeon driver to do kernel mode-setting (the driver is named radeon_ms), but for Fedora 9 the only X.Org driver with this support is the open-source Intel driver. Support for the kernel mode-setting interaction isn't in the mainline xf86-video-intel driver, but the Fedora 9 Intel driver is based upon the intel-kernelmode branch. The intel-kernelmode branch is in turn based upon the intel-batchbuffer branch. Intel-batchbuffer is also the branch that contains the initial DRI2 support, TTM memory management, Render improvements, and other bleeding-edge advancements. Other drivers will turn to using kernel mode-setting once the API is stabilized and can be found in the mainline Linux kernel. On the Mesa/DRM side is a modesetting-101 branch.

Suspend and resume support is improved with kernel mode-setting as the kernel no longer relies upon external resources for restoring the graphics adapters. With the process now being in-kernel, it's able to restore the mode automatically and more quickly. Likewise, virtual terminal switching is also improved as a result. Kernel mode-setting will also allow for an improved debugging experience, as this will eliminate the "hard hang" and make it possible to display a graphical error message (think the "Blue Screen of Death" for Linux). This technology leads to a flicker-free boot experience by only needing to set the video mode once, instead of turning on and off when starting the boot process (in the case of Fedora, with Red Hat Graphical Boot) and then properly initializing the device when the X server has finally started and loading the GNOME Display Manager. Kernel mode-setting has been one of the items on Keith Packard's (Intel) list of features for a happy Linux desktop.

The kernel mode-setting components ship by default with Fedora 9, but the Intel kernel mode-setting isn't enabled by default. In order to make the switch, i915.modeset=1 must be set as one of the kernel command line arguments through GRUB on boot or modifying /boot/grub/grub.conf. Until kernel mode-setting is used by default, this command is necessary to let the system know to use this method as opposed to mode-setting via the user-space X driver.

<< Previous Page
1
Latest Hardware Reviews
  1. Intel Haswell HD Graphics 4600 vs. AMD Radeon Graphics On Linux
  2. Intel Haswell HD Graphics 4600 Performance On Ubuntu Linux
  3. Intel Core i7 4770K "Haswell" Benchmarks On Ubuntu Linux
  4. The First Experience Of Intel Haswell On Linux
Latest Software Articles
  1. Optimized Binaries Provide Great Benefits For Intel Haswell
  2. 11-Way Linux, BSD Platform Comparison
  3. SNA Acceleration Works Great For Intel Core i7 Haswell
  4. The Linux Evolution For Intel Haswell's Performance
Latest Linux News
  1. NVIDIA Brings Their Linux Driver To ARM
  2. D Language Still Showing Promise, Advancements
  3. Planetary Annihilation Released For Linux Gamers
  4. Gentoo Starts Work On KDE-Wayland Support
  5. NVIDIA To License Its Kepler GPU Technology
  6. KDE's KWin Made Lots Of Progress In 4.11
  7. Ubuntu Announces Carrier Advisory Group
  8. Qt 5.1 Release Candidate 1 Has Arrived
  9. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  10. Subversion 1.8 Presents New Features
  11. LLVM 3.3 Officially Released
Latest Forum Talk
  1. D Language Still Showing Promise, Advancements
  2. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  3. Planetary Annihilation Plans To Come To Linux
  4. The Wayland Situation: Facts About X vs. Wayland
  5. Intel GPU Driver Tries To Rip Out FBDEV Support
  6. Mir Still Causing Concerns By Ubuntu Derivatives
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite