Kernel Log: Coming in 3.5 (Part 4) - Drivers
by Thorsten Leemhuis
In conjunction with a new version of X Server, Linux 3.5 will offer better support for hybrid graphics. The Radeon driver will be a bit faster and support HDMI audio transport on more graphics chips. The audio drivers will support the Xonar DGX and Creative's SoundCore3D.
Changes in the way the graphics driver stores data in video memory mean that the Radeon driver in Linux 3.5 will now get better performance out of R600 to R900 (Radeon HD 2400 to 7670) GPUs. According to the commit comments, in tests using Lightsmark and Doom 3, frame rates on a Radeon HD 5750 rose by more than a third. The performance boost on other cards can, however, be different or absent altogether.
Kernel developers have also significantly improved support for audio transport via HDMI on recent Radeon GPUs, so that most Northern Islands GPUs (many Radeon 6000 series models) are now supported. As with the previous Evergreen generation (many Radeon 5000 series models), for now the HDMI audio function still needs to be explicitly enabled using the 'audio' parameter with the kernel's 'radeon' driver.
The nouveau driver in 3.5 is able to utilise hardware acceleration on Kepler chips, which are to be found on many GeForce models in the latest 600 series. For the time being, this requires a firmware file which has to be extracted from the proprietary NVIDIA driver.
Information on the usage of Intel's RC6 GPU power saving feature can now be found in sysfs. Previous versions of the kernel already had some code to support the graphics core on Intel's Haswell processors, and there is now more of the same that will allow Linux 3.5 to finally address the graphics core in Ivy Bridge's successor, which is due for release in the first half of 2013 (1, 2, 3).
The kernel has also gained rudimentary drivers for graphics chips in the AST 2000 (ASpeed technologies) and Matrox G200 series and for Cirrus graphics cores emulated via QEMU. Since the former two chips have in recent years been used predominantly in servers, the lack of support for acceleration in the relevant drivers is bearable.
The vga-switcheroo driver, used to switch between or enable a second graphics chip, now links with the audio subsystem to enable or disable audio transport via HDMI outputs connected to hot-pluggable graphics chips.
Current state of development
Since the release of Linux 3.5 rc6 last weekend, a few more changes hit the main development tree; it's is still unclear how many more pre-releases there will be before Linux 3.5 is published.
The exynos (Samsung SOC graphics cores), i915 (Intel), Nouveau (NVIDIA), Radeon (AMD) and udl (USB Display Link) graphics drivers now support prime. Prime is a framework aimed at improving support for hybrid graphics. It makes use of DMA sharing, which has been extended in 3.5. The new functionality is explained in the commit comments and in the documentation included in the commit.
X Server 1.13 will include prime support, code for which has recently been merged into the development version. A number of demo videos can be found on Dave Airlie's blog. Airlie is the driving force behind the prime infrastructure for the Linux kernel and X.Org. Airlie's main git pull request email for Linux 3.5 also mentions various further changes to the DRM graphics drivers in the kernel which he maintains.
Support for the epaper controllers used in Thalia's oyo 1 and oyo 2 ebook readers (and elsewhere) has been merged into the kernel's framebuffer graphics drivers. Among other things, this enables them to run ScummVM, as illustrated in this video posted by the developer responsible for the changes. The kernel does not yet support the Wi-Fi chip used in these readers, however.
Linux 3.5 now supports Asus' Xonar DGX sound card. The HD-audio driver now supports the Creative SoundCore3D function. Takashi Iwai explains several additional changes in the sound drivers maintained by the Alsa Project in his main git pull request email for Linux 3.5. He also notes that the streaming logic for USB audio support has been completely rewritten, and that this change therefore has to be a prime suspect if users notice problems with USB audio hardware.
A driver for GCT's GDM72xx WiMAX chip has been merged into the staging area. Drivers for the Management Engine Interface (MEI) used on many Intel motherboard chipsets have successfully exited the staging tree. The same feat has finally been achieved by the core functions for supporting Industrial I/O (IIO), a bus system used in industrial applications to communicate with voltage, temperature and light sensors, accelerometers, etc. (1, 2, 3). Many IIO drivers remain in the staging area for drivers which do not yet meet kernel quality standards.
- Several changes have been made in the platform driver for Sony laptops (see 'Minor Gems' at the end of this article) to improve support for newer Sony devices. These changes will, for example, allow the driver to activate the keyboard backlight on Vaio SA/SB/SC and CA/CB models.
- Kernel developers have removed the long deprecated USB device filesystem, as modern distributions and userland tools no longer require this representation of USB devices, previously mounted on /proc/bus/usb/.
- A driver for the Afatech AF9033 DVB-T demodulator has been merged into the media subsystem, which contains drivers for remote controls, webcams and DVB and video hardware. Mauro Carvalho Chehab explains several further changes in this subsystem in his main git pull request email for Linux 3.5.