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

OpenBenchmarking.org

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. 13-Way Low-End GPU Comparison With AMD's AM1 Athlon
  2. ASUS AM1I-A: A Mini-ITX Board For Socketed Kabini APUs
  3. Mini-Box M350: A Simple, Affordable Mini-ITX Case
  4. Overclocking The AMD AM1 Athlon & Sempron APUs
Latest Linux Articles
  1. Ubuntu 12.04 LTS vs. 14.04 LTS Cloud Benchmarks
  2. Ubuntu 12.04.4 vs. 13.10 vs. 14.04 LTS Desktop Benchmarks
  3. AMD OpenCL Performance With AM1 Kabini APUs
  4. A Quick Look At GCC 4.9 vs. LLVM Clang 3.5
Latest Linux News
  1. Borderlands Is Being Considered For Linux
  2. Mesa 10.0 & 10.1 Stable Get Updated
  3. Getting Hit By The Variable Performance Of The Public Cloud
  4. Git 2.0 Test Releases Begin With Many Changes
  5. Wine 1.7.17 Works On Its Task Scheduler, C Run-Time
  6. The Improv ARM Board Still Isn't Shipping; Riding A Dead Horse?
  7. Debian To Maintain 6.0 Squeeze As An LTS Release
  8. Wasteland 2 Is Finally Released For Linux Gamers
  9. FreeBSD Advances For ARM, Bhyve, Clang
  10. Ubuntu 14.04 LTS "Trusty Tahr" Officially Released
  11. Ubuntu 12.04 LTS vs. 14.04 LTS Server Benchmarks
  12. QEMU 2.0 Released With ARM, x86 Enhancements
Latest Forum Discussions
  1. Suggestions about how to make a Radeon HD 7790 work decently?
  2. Updated and Optimized Ubuntu Free Graphics Drivers
  3. The GNOME Foundation Is Running Short On Money
  4. Radeon 8000M problematic on Linux?
  5. Linux Kernel Developers Fed Up With Ridiculous Bugs In Systemd
  6. After Jack Keane, RuseSoft will briing Ankh 3 to Linux through Desura
  7. Suspected PHP Proxy Issue
  8. Change installation destination from home directory