NVIDIA 313.09 Linux Driver Packs New Features

Written by Michael Larabel in NVIDIA on 12 December 2012 at 11:44 AM EST. 37 Comments
NVIDIA
NVIDIA has released their first binary Linux graphics driver beta in the 313.xx series. The NVIDIA 313.09 Beta has bug-fixes plus new features to make for an exciting Linux gaming experience.

The release highlights for the just-released NVIDIA 313.09 Linux beta include display reprobing upon VT switching to X, unofficial GLX protocol support for new extensions, cursor bug-fixes, support for the GLX_EXT_buffer_age extension, improving the performance of glDrawPixels() command by up to 450%, a libnvidia-encode.so library fix, improving the performance of OpenGL frame-buffer object binds with Xinerama by up to 2000~3000%, and fixing performance issues when using some versions of HyperMesh with Quadro GPUs.

The newly-added unofficial GLX protocol support covers ARB_vertex_array_object and the OpenGL 3.0 commands of ClearBufferfi, ClearBufferfv, ClearBufferiv, ClearBufferuiv, and GetStringi.

While there's quite a few worthwhile changes in this release, the performance improvements for the NVIDIA 313.09 driver stand out quite a bit after NVIDIA already made impressive OpenGL performance improvements with their 310.xx driver series.

With the 310.09 driver also introducing support for the GLX_EXT_buffer_age extension, it might help fix tearing problems.

The Khronos specification describes the buffer age extension as:
The aim of this extension is to expose enough information to applications about how the driver manages the set of front and back buffers associated with a given surface to allow applications to re-use the contents of old frames and minimize how much must be redrawn for the next frame.

There are lots of different ways for a driver to manage these buffers, from double buffering, different styles of triple buffering and even n-buffering or simply single buffer rendering. We also need to consider that power management events or memory pressure events might also result in some of the buffers not currently in-use being freed.

This extension lets applications query the age of the back buffer contents for a GLX surface as the number of frames elapsed since the contents were most recently defined. The back buffer can either be reported as invalid (has an age of 0) or it may be reported to contain the contents from n frames prior to the current frame.

Once the application has queried the buffer age, the age of contents remains valid until the end of the frame for all pixels that continue to pass the pixel ownership test.
The NVIDIA 313.09 Linux graphics driver beta can be downloaded from NVIDIA.com.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week