Kernel Log: Coming in 3.1 (Part 4) - Drivers
by Thorsten Leemhuis
Linux 3.1 comes with all the components that are required for using the 3D acceleration features of various current GeForce graphics chips. The Intel graphics driver is still not using an important power saving mechanism by default. The kernel now supports the Creative Titanium HD.
In the early hours of Thursday morning, Linus Torvalds released the seventh release candidate of Linux 3.1. In the release-mail for RC7 and in a Google+ post he says that he is starting to get ready to release 3.1; however, as he explains, it would not be practical to have the merge window for Linux 3.2 (which follows the release of 3.1) without kernel.org – the servers have not been reachable for two weeks now, while they are being reinstalled or checked after the recent break-in. Torvalds also mentioned that he'll be on vacation in early October and indicated that he would not release 3.1 before he comes back. That, according to Torvalds, would result in the merge window overlapping with this year's Kernel Summit, which takes place from 23 to 25 October. A release of Linux 3.1 before 9 October is therefore highly unlikely at this point.
Due to the approaching finalisation of the new version, the Kernel Log will complete its "Coming in 3.1" mini series with a discussion of the Linux kernel's hardware support improvements. Part 1 of the mini series provided an overview of the changes related to network drivers and infrastructure, while part 2 discussed the kernel's storage code and filesystems and part 3 its architecture, infrastructure and virtualisation.
Graphics drivers
In Linux 3.1, the Nouveau-DRM/KMS driver will be able to generate a "fuc" firmware for Fermi graphics chips. The firmware allows the kernel to use the 3D functions of various Fermi GPUs on the two latest GeForce graphic chip series, 400 and 500. The Nouveau wiki says that this feature will probably work on the NVC0, NVC4 and NVCE chips that are incorporated in GeForce GTX models with numbers including 460, 465, 470, 470M, 480, 480M or 560. Several other models with Fermi GPUs have known issues; some are yet untested or are only known to work with the original firmware, which can only be obtained via the proprietary NVIDIA drivers and some rather cumbersome trickery.
Using the DRM/KMS Nouveau driver's 3D features in Linux 3.1 requires the current Mesa 3D and X.org drivers. Some of the Linux distributions that are due for release this autumn are expected to contain all these components – in these distributions, 3D desktop interfaces such as the Gnome shell or Unity should, therefore, work with some of the Fermi graphics cards without requiring users to manually install the proprietary NVIDIA drivers. However, many users will probably install the proprietary drivers anyway, as the Nouveau driver's rather rudimentary 3D support isn't sufficient for sophisticated games. Furthermore, the driver doesn't support a number of power saving features and offers no fan control for many of the graphics cards; however, the Nouveau developers are working to fix these two shortcomings.
The developers of the Intel DRM/KMS driver had intended to enable the "RC6" feature by default; RC6 is a power saving mechanism that is available with many of the processors and chipsets Intel has introduced in the past couple of years (such as the Core CPUs with integrated graphics). However, the kernel hackers soon reverted the modification to enable RC6 by default, as the technology caused problems with at least one user's system. It works fine with many notebooks though, where it can sometimes reduce an idle system's power consumption by 6 Watts. This can significantly prolong a computer's battery life; less heat development also means that the fan will run less frequently or noisily. On some notebooks with RC6-compatible graphics hardware, it may therefore be worthwhile enabling and testing the feature – for this purpose, add the "i915_enable_rc6=1" parameter when loading the i915 module, or call the kernel with the "i915.i915_enable_rc6=1" parameter.
The Radeon DRM/KMS driver for Evergreen GPUs (series HD 5000) has been extended to support compute commands that allow calculations to be delegated to the graphics chips.
Next: Audio, Video, Staging, In brief