What's new in Linux 3.1
by Thorsten Leemhuis
Among the most prominent advancements of Linux 3.1 are the kernel's 3D support for new NVIDIA graphics chips and virtualisation enhancements for KVM and Xen.
About 3 months after the version jump to 3.0, Linus Torvalds has now released the second kernel in the 3.x series. Without the break-in at kernel.org, the new version would probably have been released three to four weeks earlier, as the temporary unavailability of the central server structure slightly hampered the kernel developers' work. However, the scope of modifications compares quite well with that of the new kernel's direct predecessors, as another round of advancements enhances the range of features and hardware support of Linux. Users are likely to benefit from these advancements in the near future, because distributions such as Fedora 16, which is due to be released in November, are already planning to use kernel version 3.1.
In Linux 3.1, the Nouveau-DRM/KMS driver for example 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 such numbers as 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 tricks.
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 chip-sets 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 does work 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 to enable and test 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.
This article provides an overview of the most important changes of Linux version 3.1. More detailed information can be found in the Kernel Logs of the "Coming in 3.1" mini series, released over the past few weeks on The H Open, which form the basis of this article.
- Part 1: Networking
- Part 2: Storage and filesystems
- Part 3: Architecture, infrastructure and virtualisation
- Part 4: Drivers
In these articles, you will find the more detailed source articles that cover the important changes in each particular area. There is also the "Minor gems" section which lists the many other changes not mentioned in the main article but which, for many users, are still of great significance.
The kernel developers have added the rtl8192de driver (for example 1) that supports Realtek's RTL8192DE and RTL8188DE PCIe Wi-Fi chips. The iwlagn driver that covers the WiFi chipsets Intel currently included in many Core notebooks will support WoWLAN (Wake on Wireless LAN). The b43 driver for WiFi chips by Broadcom now supports various 802.11n-compliant WiFi cards that use Broadcom's Advanced Microcontroller Bus Architecture (AMBA) – such as the BCM43224 (PCI-ID 14e4:4353) and BCM43225 (14e4:4357) chipsets, which until now required Broadcom's staging driver brcmsmac.
However, the Linux developers usually avoid having several drivers to support one chip or a series of closely related components in the kernel. Background details can be found in a Kernel Log and in the article "Kernel comment: The obstacle course of cooperation" at The H Open. Currently it looks as though the brcm80211 brcmsmac driver will win the race to mainstream, as there are plans to move it from staging to the wireless subsystem in Linux 3.2. It remains to be seen whether the kernel developers disable some functions in the b43 driver to avoid problems and confusion.
While Linux 3.0 provided the last essential components to enable Dom0 operation for the Xen hypervisor, version 3.1 got the Xen PCI backend, which enables the kernel to pass through PCI/PCIe devices to Xen guests (for example 1, 2). KVM now offers the basic functionality for starting guest systems from within another guest system (nested virtualisation) on Intel processors (for example 1, 2). Classified as experimental and disabled by default, the zero-copy RX support for Macvtap and Vhost-net is designed to improve network performance in virtualised environments, as it reduces the administrative overhead when network data is revived or forwarded by the host.