Kernel Log: Coming in 2.6.38 (Part 1) – Graphics
by Thorsten Leemhuis
Kernel version 2.6.38 supports AMD's new Fusion CPUs and offers 2D and 3D acceleration with many current GeForce and Radeon graphics cards. Power economy for the graphics cores in Intel processors and chip-sets has been improved; new page flipping features aim to eradicate image flickering, tearing and incomplete rendering issues.
All the parts in this Kernel Log mini-series can be found by referring to the 2.6.38 tracking page.
Less than five days after closing the 2.6.38 merge window, Linus Torvalds has already issued the second release candidate of Linux 2.6.38. Last Saturday's fast follow-up wasn't due to a major flaw in 2.6.38-rc1; it had more mundane reasons. On Sunday, Torvalds travelled to this year's Linux.conf.au (LCA), which, despite the flooding, is being held in Brisbane this week. Before travelling, Torvalds wanted to test whether he had installed all the kernel development and release components he needed on the computer he intended to take.
In his release email, Torvalds indicated that he will now be stricter and disallow anything that doesn't explicitly promote stability; any further major changes will have to wait until release .39. The current development state of 2.6.38 is, therefore, unlikely to differ much from the final release expected in late March or early April.
The Kernel Log is therefore already in a position to provide a comprehensive overview of the most important new features of release .38. As usual, we will split the information into several articles which will eventually cover the various functional areas of the kernel. The first part of the "Coming in 2.6.38" mini series describes the changes to the kernel's graphics hardware support; over the coming weeks, further articles will cover advances in terms of network support, storage hardware, file systems, drivers, architecture code, and kernel infrastructure.
The kernel's Radeon DRM/KMS drivers now support the graphics core of the Bobcat processors in AMD's Fusion range, introduced in early January (for example 1, 2, 3, 4, 5, 6). Another fast-track addition is support for the Radeon HD 62xx to 68xx models (for example 1, 2, 3, 4). These were only introduced two days after the merge window of 2.6.38 was opened. The chips on these graphics cards, available since October, are part of the "Northern Islands" (NI) family. This family also includes the GPUs (Graphics Processing Units) of the Radeon HD 6950 and 6970 models introduced in December – however, the latter are not yet supported because their Cayman chips differ substantially from the other series 6000 GPUs.
The 2D and 3D acceleration available with these AMD GPUs can be used with new versions of libdrm, Mesa 3D and the Radeon drivers for X.org. Mesa 7.10 already offers all important components for Bobcat processors, while the series 6000 Radeons still require users to access the development branch. Suitable X.org drivers can also at present only be found in the development sources.
The Radeon DRM/KMS driver now supports PCIe 2.0 link speeds. However, the double speed data transmission mode must explicitly be enabled via the "pcie_gen2=1" module parameter, as the function causes problems on some systems.
Wherever possible, the DRM / KMS driver for Intel graphics chips now activates self-refresh in the graphics cores of Sandy Bridge processors (Core i3-2000, i5-2000 and i7-2000 series) to reduce power consumption. The Sandy Bridge range was introduced in early January. Having been disabled temporarily due to problems (1, 2), this function has now also been re-activated in the Ironlake graphics core of the previous CPU generation (such as the Core i3 and some i5 and i7 models). In a commit comment pertaining to one of the patches, the developer writes that the power consumption of his Vaio Ironlake notebook was reduced by 0.5 watts. No such measured results are available for the patches which activate a power saving feature, called RC6, that automatically decreases clock speed in current and older Intel processors and chip-sets (1, 2, 3).
Changes to provide dynamic render p-state support and overclocking support now allow the graphics core in Sandy Bridge CPUs to change its clock speed. Depending on the environment, this can either improve performance or reduce power consumption. From 2.6.38, the driver for Intel's graphics cores will support a hardware feature for auto-detecting display changes – this avoids repeated, power-consuming polling cycles to detect the connected output devices.