In association with heise online


The Nouveau DRM driver in 2.6.38 will offer all the components required to utilise the 2D and 3D acceleration features of Fermi chips; code-named NVC0, these chips are included in series 400 and 500 GeForce models (for example 1, 2, 3, 4). These functions currently require proprietary firmware as well as suitable support in the libdrm, Mesa 3D and the Nouveau driver for The successors of the current libdrm and Mesa 3d versions 2.4.23 and 7.10 will probably offer this support, as the development versions of these components already contain all the necessary prerequisites (1, 2, 3). To enhance performance and reliability, the developers have improved the Nouveau DRM/KMS driver for NV50 chips (GeForce 8, GeForce 9, GeForce 100, GeForce 200, GeForce 300) in various areas – such as the VM code and the memory management code.

Fedora has already integrated the acceleration features for Fermi chips into the Rawhide development branch that is due to become Fedora 15 in May. The distribution will from now on install the Nouveau driver's Mesa 3D support by default – this support was previously only available in an optional package classified as experimental. Other distributions are likely to follow Fedora's example sooner or later.

Fine tuned

The kernel hackers have extended the DRM infrastructure to include "precision vblank timestamps", which are explained in detail in the commit comment and are relevant to OpenML (Open Media Library) conformity. This feature enables the kernel to provide timestamps with an accuracy of a few microseconds, allowing applications to detect when the rendering of a new image has started ("double-buffer swap"). This can, for instance, be relevant for applications where it is important to precisely co-ordinate the audio output, or the control of other devices, with the rendering of the image. The technology was first implemented for experimental psychology and neuroscience applications, but it can also be applied to provide (more) jerk-free video playback, animations or desktop effects.

Such timestamps can also be utilised by the new page flipping feature available via DRI2. This feature improves the way the kernel synchronises the release of an updated image with the moment the graphics hardware starts rendering the new image (Vsync). Synchronising the release avoids such distortions as flickering, tearing or incomplete rendering, as it prevents situations where one half of a displayed image is part of the old image while the other half is part of the new image – for instance with individual movie frames. In kernel version 38, the graphics driver support required for both features will be available via the AMD drivers (1, 2) and the Intel drivers (1, 2). The NVIDIA drivers currently only support page flipping (1, 2).

The developers also added various minor improvements to vga_switcheroo, a module that allows the users of certain notebooks to switch between more powerful graphics chips and the system's own chip-set or processor graphics. The udlfb driver for incorporating USB 2.0 monitors via DisplayLink has matured enough to leave the staging area and move in with the rest of the frame buffer drivers. Usage tips for this driver can be found in the kernel documentation.

Minor gems

Many further minor, but by no means insignificant, changes can be found in the list below, which contains the commit headers referring to the respective change. Like many of the references in the text above, the links point to the relevant commit in the web front end of the Git branch for the "official" kernel sources maintained by Linus Torvalds at The commit comments available at these links and the patches themselves provide extensive further information on the respective changes.

Every link is preceded by various letters and numbers in square brackets. The letter "C" identifies patches that modify Kconfig files, which contain the help texts and configuration options displayed by "make menuconfig", "make xconfig" and similar tools during kernel configuration. "D" is used for patches that modify the documentation available under Documentation/ in the kernel branch. "N" identifies changes which create a new file. The numbers provide a rough idea of the patch size. For example, "1" is used for changes between 10 and 20 KBytes including comment, "2" for patches between 20 and 30 KBytes; changes without a number are less than 10 KBytes, while patches marked "9" are 90 KBytes or more.

For other articles on 2.6.38 and links to the rest of the "Coming in 2.6.38" series, see The H's Kernel Log - 2.6.38 Tracking page. New editions of Kernel Logs are also mentioned on and Twitter via "@kernellog2". The Kernel Log author also posts updates about various topics on and Twitter via "@kernellogauthor".

Print Version | Permalink:
  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit

  • July's Community Calendar

The H Open

The H Security

The H Developer

The H Internet Toolkit