by Thorsten Leemhuis

Earlier this month, Linus Torvalds released 2.6.32-rc6 â due to the Kernel Summit, RC6 was not released the usual week after RC5, but two weeks after. As usual at this point in the development cycle, mostly minor patches have been merged over the past few days to avoid making changes that might introduce new bugs in the three to six weeks that remain until the final release of Linux 2.6.32.

Having looked at the network subsystem changes in the previous issue, the Kernel Log will now discuss the most important advancements in the field of graphics hardware support. Some of these changes have probably been eagerly awaited by many users since AMD resumed closer cooperation with the open source developers.

3D and KMS for Radeon

The kernel and its Direct Rendering Manager (DRM) will now offer 3D support and kernel-based mode setting (KMS) for AMD's series R600 and R700 GPUs. These are used in the Radeon series 2000, 3000 and 4000 models â which includes most of the Radeon graphics cards sold in the past couple of years as well as various AMD series 700 motherboard chip-sets.

For the 3D support and KMS to function, however, suitable (developer) versions of Libdrm and MesaÂ 3D as well as Radeon graphics drivers for X.org need to be installed. Compiling this software stack is a task for advanced users â however, the Fedora project plans to provide all the necessary components in an experimental package with FedoraÂ 12, which is scheduled for release in mid November.

The Radeon KMS will also offer basic support for activating TV outputs. While the KMS driver for Intel graphics chips already offered this feature, it now supports a greater number of SDVO chips and more of their respective features (1, 2, 3).

From version 2.6.32, the Intel KMS code will also compress the frame buffer, which reportedly reduces power consumption by up to 0.5 watts; in addition, the new "Dynamic Clock Frequency Control" feature is to further reduce power consumption by reducing the LCD refresh rate, the memory's self refresh and the clock rate to prolong notebook battery life. The Intel driver now handles the graphics memory more efficiently, (1, 2) and will attempt to re-initialise crashed GPUs.

Coordinated

The kernel hackers have also integrated the VGA arbitration patches (1, 2, documentation). In systems with several graphics cards, the patches cooperate with X Servers from version 1.7 to ensure that the respective graphics card will actually receive the VGA commands sent to it by the X Server â which reportedly allows much more flexibility when implementing multi-seat environments.

Further changes to the kernel code responsible for graphics support:

The "video=" parameter can now be used for setting a specific output screen resolution for individual monitors, or all monitors, in the KMS code.



The firmware previously tied in with the code for Radeon drivers has been shifted into separate files and will from now on be loaded using the firmware loader. The developers also made a similar change to the driver code for Matrox graphics cards.

A new addition is the frame buffer driver for Qualcomm MSM/QSD SoCs, which are used in devices like the HTC Dream (aka T-Mobile G1, aka ADP1).

The developers have reworked the code paths used for initialisation by the kernel's Radeon drivers. This is intended both to facilitate maintenance and improve suspend and resume behaviour â the relevant commits are listed at the end of this article. These driver maintenance measures should also simplify the merging of several KMS code segments for AMD and Intel GPUs.

The frame buffer driver for VIA graphics hardware now also supports the VX855 chip-set. Furthermore, the kernel hackers have rewritten the VIA driver's 2D engine.

The new tracepoint support offers enhanced DRM code monitoring for Intel's current graphics chip-sets.

The developers say they have also fixed numerous bugs with Intel series 8xx chip-sets that have occurred since GEM was introduced in 2.6.27.

The KMS code for Radeon graphics hardware now supports Surround View â which involves running a Radeon graphics card in parallel with the chip-set graphics.

Minor gems

Many further 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 point to the relevant commits in the web front end of the Git branch at kernel.org Linus Torvalds uses for maintaining the kernel sources. There, the commit comments and the patches themselves provide extensive further information on the respective changes.

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

(crve)