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. A Walkthrough Of The New 32 System Open-Source Linux Benchmarking Test Farm
  2. Habey MITX-6771: Mini-ITX Board With Quad-Core J1900 Bay Trail
  3. OCZ Vector 150 SSD On Linux
  4. Noctua i4 CPU Cooler: Great For Cooling High-End LGA-2011v3 CPUs
Latest Linux Articles
  1. AMD Kaveri: Open-Source Radeon Gallium3D vs. Catalyst 14.12 Omega Driver
  2. 12-Way AMD Catalyst 14.12 vs. NVIDIA 346 Series Linux GPU Comparison
  3. AMD Catalyst 14.12 Omega Driver Brings Mixed Results For Linux Users
  4. 6-Way Winter 2014 Linux Distribution Comparison
Latest Linux News
  1. FSF's High Priority Project List Now Has A Committee
  2. Details On Using OpenACC & GPUs With GCC
  3. Ubuntu 15.04 Alpha 1 For Its Various Flavors
  4. Git 2.2.1 Released To Fix Critical Security Issue
  5. WTFTW: A Tiling Window Manager Written In Rust
  6. Jolla's Sailfish OS Update 10 Is Now Available
  7. HP To Launch Linux++ Operating System Next Year
  8. Civilization: Beyond Earth Launches For Linux
  9. NIR Has Been Revised As A New IR For Mesa
  10. New 64-bit Linux Kernel Vulnerabilities Disclosed This Week
Latest Forum Discussions
  1. Debian init discussion in Phoenix Wright format
  2. The New SuperTuxKart Looks Better, But Can Cause GPU/Driver Problems
  3. XLennart: A Game For Systemd Haters With Nothing Better To Do
  4. Bench specific mount point
  5. Tool for measuring FPS in games
  6. Need some hand holding with upgrading xserver
  7. Ubuntu Developers Still Thinking What To Do About Adobe Flash Support
  8. Microsoft buying Mojang