1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems

Facebook RSS Twitter Twitter Google Plus

Phoronix Test Suite


NVIDIA Driver Brings PureVideo Features To Linux

Michael Larabel

Published on 14 November 2008
Written by Michael Larabel
Page 1 of 1 - 19 Comments

Over the course of the past few months we have been saying that the NVIDIA 180 Linux driver to be released in the fourth quarter of 2008 would hold in store a few interesting features. Well, today that closed-source driver has been released in beta form. This driver adds a new VDPAU API, which provides PureVideo-like features on Linux, adds in CUDA 2.1 support, new workstation performance optimizations, X Render improvements, and other improvements.

The two leading X video output extensions for Linux are Xv (X-Video) and XvMC (X-Video Motion Compensation), with the latter being an extension of X-Video that is able to offload some decoding of videos to the graphics processor. Right now XvMC is limited to MPEG-2 format, but there has been talk by Intel of extending XvMC to support more formats. NVIDIA has supported X-Video through their binary driver for quite some time and they even support XvMC on some graphics cards but that support was discontinued with the GeForce 8 series. On the AMD side they support X-Video / Textured Video, but not until recently did they support XvMC when they began work on their XvBA API (X-Video Bitstream Acceleration).

XvBA still hasn't been officially announced nor any header files released, but it is supported in the most recent Catalyst drivers. XvBA uses the Unified Video Decoder 2 (UVD2) found on newer ATI Radeon GPUs. NVIDIA's new VDPAU API is now what will be the competitor to XvBA -- though any driver can now implement VDPAU if they so desire. VDPAU provides PureVideo-like features, which is a technology NVIDIA has embedded into their graphics cards for several generations now with the latest iteration being known as PureVideo HD. PureVideo is described by NVIDIA as providing ultra-smooth video, superb picture clarity, and precise, vivid colors on any display. The necessary header files, wrapper library, and library / driver files ship with this just-released 180.06 driver.

So what's VDPAU? The Video Decode and Presentation API for Unix. It is currently able to accelerate the decoding of MPEG-1, MPEG-2, H.264, and VC-1 bitstreams. It also provides an API for post-processing of decoded video (to apply such operations as temporal and spatial deinterlacing and noise reduction), timestamp-based presentation of final video frames, and compositing of sub-picture elements. NVIDIA's developer documentation describes it as:

"The Video Decode and Presentation API for Unix (VDPAU) provides a complete solution for decoding, post-processing, compositing, and displaying compressed or uncompressed video streams. These video streams may be combined (composited) with bitmap content, to implement OSDs and other application user interfaces."

The VDPAU documentation is currently housed within a header file in /usr/include/vdpau/ that contains hundreds of lines of documentation and covers threading, extending the API, and more. VDPAU is also supported in the 180 releases of the FreeBSD and Solaris display drivers.

NVIDIA has published patches to enable VDPAU support for MPlayer with changes also against libavcodec, libavutil, and ffmpeg. These patches are currently available through an FTP download and NVIDIA will push them for integration into MPlayer once they have been well-tested. A GeForce 8 series GPU or newer is needed for VDPAU support.

Aside from the Video Decode and Presentation API for Unix, the NVIDIA 180.06 driver adds CUDA 2.1 support. Among other features, version 2.1 of the Compute Unified Device Architecture supports running on CPUs -- not just GPUs. As another staple to the NVIDIA 180.xx driver, this new driver adds in new workstation performance optimizations, but we are still in the process of testing out these improvements. The GlyphCache option for the X Render extension is also now enabled by default while shared memory X pixmaps is disabled by default.

Other fixes in the NVIDIA 180.06 Linux driver include a window decoration corruption with Compiz on GeForce 6/7 GPUs, improved X pixmap placement, improved compatibility with recent Linux kernels, and improved stability on some GeForce 8 GPUs and newer.

What does appear to be missing though from this initial 180.xx driver is support for OpenGL 3.0. Last month NVIDIA had delivered a beta OpenGL 3.0 Linux driver that was branched from an earlier code release, but it doesn't look like it has worked its way into the 180.06 release.

We are still testing out this new NVIDIA 180.06 driver and we will report back as soon as we have explored the changes and have begun examining VDPAU, NVIDIA's new PureVideo-like acceleration API for Linux, FreeBSD, and Solaris. NVIDIA hasn't officially announced these new drivers yet, but there are Linux x86 and Linux x86_64 pages. Before installing the 180.06 driver, be forewarned that it is considered beta quality.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. Even With Re-Clocking, Nouveau Remains Behind NVIDIA's Proprietary Linux Driver
  2. The Power Consumption & Efficiency Of Open-Source GPU Drivers
  3. AMD R600g/RadeonSI Performance On Linux 3.16 With Mesa 10.3-devel
  4. Intel Pentium G3258 On Linux
Latest Linux Articles
  1. AMD Catalyst 14.6 Does Slightly Better With APITest OpenGL Tests
  2. Updated Source Engine Benchmarks On The Latest AMD/NVIDIA Linux Drivers
  3. Nouveau vs. Radeon vs. Intel Tests On Linux 3.16, Mesa 10.3-devel
  4. KVM Benchmarks On Ubuntu 14.10
Latest Linux News
  1. KDE 4.14 Release Candidate Ships
  2. Drivers & Drama Dominated Linux Talk In July
  3. Fedora Assembles A Security Team
  4. AMD Launches The A10-7800, The 65 Watt Kaveri
  5. Builder: A New Development IDE Being Built For GNOME
  6. GDB 7.8 Betters Python Scripting, Adds Guile Support
  7. GNOME's GTK+ Is Still Striving For A Scene Graph, Canvas API
  8. Unreal Tournament Looks Great For Team Deathmatch
  9. LibreOffice 4.3 Released With Many Exciting Changes
  10. GNOME/GTK On Wayland Gains Focus At GUADEC
Latest Forum Discussions
  1. Updated and Optimized Ubuntu Free Graphics Drivers
  2. Grand Theft Auto Running On Direct3D Natively On Linux Shows Gallium3D Potential
  3. Updated graphics drivers for Ubuntu 12.04 Precise LTS
  4. Linus Torvalds On GCC 4.9: Pure & Utter Crap
  5. Debian + radeonsi
  6. AMD Publishes Open-Source Linux HSA Kernel Driver
  7. Open-source drivers on ATI R7 260X
  8. AMD Athlon 5350 APU On Linux