In association with heise online

07 August 2009, 15:53

Kernel Log - Coming in 2.6.31 - Part 2: Graphics, audio and video

  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit

Kernel Log Penguin

Thorsten Leemhuis

Linux 2.6.31 will offer Kernel-Based Mode-Setting for Radeon graphics cards up to model X1950. The developers have included new drivers for X-Fi sound cards and for Intel's "Next-Generation Graphics Device". Many further improvements affect the drivers for webcams and TV hardware.

Despite the summer holiday season in the northern hemisphere, the development of the kernel has continued without interruption, and the fifth release candidate of Linux 2.6.31 has already become available. This version contains the gspca/sn9c20x webcam driver, which still managed to sneak in although the merge window has long been closed. However, this is only one of many changes in the audio and video area of Linux 2.6.31.

For other articles on 2.6.31 and links to the rest of the "Coming in 2.6.31" series, see The H's Kernel Log - 2.6.31 Tracking page.

Flicker-free X startup for Radeon graphics chips

Having added the Intel-specific GEM (Graphics Execution Manager) to the kernel with Linux 2.6.28 and Kernel-Based Mode-Setting (KMS) support, which is based on GEM, with 2.6.29, the developers have now integrated KMS code for Radeon graphics chips by AMD/ATI. To benefit from the advantages of KMS – central graphics management in one place, improved suspend, and less complex graphics drivers – and get the X Server to work with KMS, it is necessary to update the drivers, Libdrm, and Mesa3D. This involves considerable installation and tuning which is best left to the Linux distributor of your choice.

Masterminded by the programmers of the "radeon" driver, the newly integrated KMS code supports Radeon GPUs up to series R5XX – this includes all Radeon models up to and including X1950. The development of KMS for the R6xx and R7xx GPUs of the Radeon HD series 2000, 3000 and 4000 is still in progress. However, even the Radeon KMS code integrated with 2.6.31 hasn't reached full maturity yet; as a result, the developers have marked it as a staging driver for now.

Instead of GEM, the Radeon KMS code uses another new addition, the TTM GPU memory manager, for managing the memory and for coordinating access to the processing units. While TTM was originally also intended to be used with the Intel KMS driver, the Intel developers weren't too happy with it and started GEM as an alternative. However, the TTM code has since been overhauled and can now also be used via a GEM API.

Drivers for next generation Intel GPUs

The developers extended the Intel KMS driver to support monitor control via DisplayPort (DP). In addition, they made numerous corrections to improve the existing KMS and GEM code – as a result, the recently released version 2.8 of the driver reportedly works best with Linux 2.6.31.

The Intel crew also contributed further KMS code and other patches to support a series of graphics chips named IGDNG. This is probably short for "Intel Graphics Device Next-Generation" and refers to the graphics cores of the processors expected early next year.

Information about these and other changes concerning the kernel's graphics support can be found at the end of this article and in several of Dave Airlie's git pull requests (1, 2, 3, 4).

Audio drivers for X-Fi

Suitable for various sound cards of Creative's X-Fi series and mainly developed by Creative programmers, the snd-ctxfi driver has found its way into the kernel via the ALSA developers. This puts an end to a driver odyssey which had several mostly half-finished versions of both open source and proprietary drivers and gave us futile hopes for a half-way decent Linux driver for X-Fi sound chips in the past few years. However, the newly integrated driver is not fully mature yet; for instance, it doesn't support external I/O modules.

Also new is the lx6464es audio driver for various LX6464ES models by Digigram. In addition, the kernel now supports ESI's Maya44 as well as numerous PCs and notebooks – among them the MacBook 5.1 (Aluminium). As in every other new kernel version, the developers have also considerably extended the whitelists for automatically applying special hardware-specific settings ("quirks") – most of the relevant commits are appended in a list at the end of this article. One of the maintainers of the audio subsystem has summarised the most important new aspects of 2.6.31 in an email.


As usual, hundreds of changes were made to the DVB/V4L subsystem. One new addition is the stv090x driver for addressing the Intersil DVB-S/S2/DSS chips found on cards like the TechnoTrend TT-budget S2-1600. Another addition is the gspca-sn9c20x driver for sn9c201 and sn9c202 USB chips, which are used in the webcams of various manufacturers. The new kernel will offer improved support for several webcams of Logitech's QuickCam Messenger series; the ov519 gspca driver now also works with the ov511 and ov518 chips. Further background information about the changes to the Linux 2.6.31 webcam and TV drivers can be found in the git pull requests made by the maintainer of the V4L/DVB subsystem, Mauro Carvalho Chehab (1, 2, 3).

Minor gems

Many additional minor, but by no means insignificant, changes can be found in the list below. Like many of the references in the text above, the links lead to the relevant commits in the web front end of the main Linux development branch, where the commit comments and the patches themselves provide extensive further information on the respective changes.


Audio - Asoc:



For other articles on 2.6.31 and links to the rest of the "Coming in 2.6.31" series, see The H's Kernel Log - 2.6.31 Tracking page.


Print Version | Send by email | Permalink:

  • July's Community Calendar

The H Open

The H Security

The H Developer

The H Internet Toolkit