1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

A Preview Of Kernel-Based Mode-Setting

Michael Larabel

Published on 19 April 2008
Written by Michael Larabel
Page 1 of 4 - 9 Comments

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.

Latest Articles & Reviews
  1. OS X 10.10 vs. Ubuntu 15.04 vs. Fedora 21 Tests: Linux Sweeps The Board
  2. The New Place Where Linux Code Is Constantly Being Benchmarked
  3. 18-GPU NVIDIA/AMD Linux Comparison Of BioShock: Infinite
  4. Phoronix Test Suite 5.6 Adds New Phoromatic Enterprise Benchmarking Features
  5. OpenGL Threaded Optimizations Responsible For NVIDIA's Faster Performance?
  6. Big Graphics Card Comparison Of Metro Redux Games On Linux
Latest Linux News
  1. Git 2.4.0-rc0 Does A Ton Of Polishing
  2. The Most Common, Annoying Issue When Benchmarking Ubuntu On Many Systems
  3. Mesa Is At Nearly 1,500 Commits This Year
  4. Gestures & Other GTK3 Features For LibreOffice
  5. It's Now Easier To Try PHP 7 On Fedora & RHEL
  6. BQ Is Cleaning Up Their Aquaris E4.5 Ubuntu Kernel
  7. Allwinner Continues Jerking Around The Open-Source Community
  8. NVIDIA Linux 349.12 Beta Has Improved G-SYNC & VDPAU Features
  9. Canonical Just Made It Even Easier To Benchmark Ubuntu Linux In The Cloud
  10. NVIDIA GeForce GTX TITAN X Linux Testing Time
Most Viewed News This Week
  1. Introducing The Library Operating System For Linux
  2. AMD Is Hiring Two More Open-Source Linux GPU Driver Developers
  3. New SecureBoot Concerns Arise With Windows 10
  4. GNOME Shell & Mutter 3.16.0 Released
  5. GNU Nano 2.4.0 Brings Complete Undo System, Linter Support & More
  6. Systemd Change Allows For Stateless Systems With Tmpfs
  7. GCC 5 Compiler Is Getting Close To Being Released
  8. Chromebooks Powered By The MIPS Pistachio, Linux Support Evolving
%%CLICK_URL_UNESC%%