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 Articles & Reviews
  1. OS X 10.10 vs. Ubuntu 15.04 vs. Fedora 21 Tests: Linux Sweeps The Board
  2. The New Place Where Linux Code Is Constantly Being Benchmarked
  3. 18-GPU NVIDIA/AMD Linux Comparison Of BioShock: Infinite
  4. Phoronix Test Suite 5.6 Adds New Phoromatic Enterprise Benchmarking Features
  5. OpenGL Threaded Optimizations Responsible For NVIDIA's Faster Performance?
  6. Big Graphics Card Comparison Of Metro Redux Games On Linux
Latest Linux News
  1. Git 2.4.0-rc0 Does A Ton Of Polishing
  2. The Most Common, Annoying Issue When Benchmarking Ubuntu On Many Systems
  3. Mesa Is At Nearly 1,500 Commits This Year
  4. Gestures & Other GTK3 Features For LibreOffice
  5. It's Now Easier To Try PHP 7 On Fedora & RHEL
  6. BQ Is Cleaning Up Their Aquaris E4.5 Ubuntu Kernel
  7. Allwinner Continues Jerking Around The Open-Source Community
  8. NVIDIA Linux 349.12 Beta Has Improved G-SYNC & VDPAU Features
  9. Canonical Just Made It Even Easier To Benchmark Ubuntu Linux In The Cloud
  10. NVIDIA GeForce GTX TITAN X Linux Testing Time
Most Viewed News This Week
  1. Introducing The Library Operating System For Linux
  2. AMD Is Hiring Two More Open-Source Linux GPU Driver Developers
  3. New SecureBoot Concerns Arise With Windows 10
  4. GNOME Shell & Mutter 3.16.0 Released
  5. GNU Nano 2.4.0 Brings Complete Undo System, Linter Support & More
  6. Systemd Change Allows For Stateless Systems With Tmpfs
  7. GCC 5 Compiler Is Getting Close To Being Released
  8. Red Hat Is Rolling Out A VirtIO DRM/KMS GPU Driver