Using Nouveau With Gallium3D Video Decoding

Posted by Michael Larabel on April 27, 2011

Yesterday we reported on the Gallium3D VDPAU state tracker being worked on more by Christian König now that the XvMC state tracker for the Gallium3D driver architecture is largely complete. Christian's been focusing on bringing up the XvMC/VDPAU state trackers up on the R600g driver for the Radeon HD 2000 series GPUs and newer, but how's the code working on other Gallium3D drivers?

Gallium3D video decoding support was actually started with a focus on using the Nouveau driver for NVIDIA hardware around three years ago. It was started by Younes Manton, a student X.Org developer, as a Google Summer of code project. While XvMC was working okay back then with the hardware and open-source driver at that time, it's no longer in shape.

As said in this email message by Younes, there was a developer who has written basic NVIDIA NV50 support code for this video decoding work, but it's now outdated and hasn't been merged into the Mesa video branch. Another individual had also wrote NV40 support code.

One of the commonly talked about benefits of the Gallium3D driver architecture is that the GPU hardware drivers are simpler and that more code is shared between drivers. It's supposed to be to the point that one Gallium3D state tracker providing support for APIs such as OpenGL, OpenCL, OpenVG, OpenGL ES, XvMC, VDPAU, etc can in turn target any Gallium3D hardware driver in a near seamless manner. However, at this point, it doesn't work so well with all of the Gallium3D drivers still maturing and being in heavy development along with the core Gallium3D code itself.

The XvMC and VDPAU state trackers (and others) can't magically run on all drivers that don't provide the necessary interfaces to begin. For some of this video work, changes may be needed just not to the Gallium3D user-space driver, but to the kernel DRM driver as well.

The R300 Gallium3D driver for providing hardware support up through the Radeon X1000 series was also the first target for the ATI XvMC work. The support here should be a bit better, but at the moment the R600g driver is in the best shape.

Besides the differing states of driver support for XvMC / VDPAU, all of this work is still currently living in Mesa's pipe-video branch, which means regardless interested users will need to be building their own Mesa code if wishing to experiment with shader-based video acceleration under Gallium3D.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. GCC 4.8.0 vs. LLVM Clang 3.3 Compiler Performance
  2. Intel Linux OpenGL Driver Leading Over Apple OS X
  3. The Cost Of Ubuntu Disk Encryption
  4. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
Latest Linux News
  1. A New X.Org-Free Wayland LiveCD Released
  2. Unity 8, Mir Made Progress This Week On Features
  3. LLVM Clang 3.3 RC2 Is Ready For Testing
  4. AMD RadeonSI Gallium3D Begins Simple CL Demos
  5. Intel Shows Off GNOME3-Based Tizen Shell
  6. Linux Desktop Security Could Be A Whole Lot Better
  7. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  8. New NVIDIA Linux Driver Supports The GeForce GTX 780
  9. Chrome 28 To Offer More Speed Improvements
  10. Digia Announces "Boot To Qt" Project
  11. X.Org Libraries Hit By Round Of Security Issues
Latest Forum Talk
  1. AMD RadeonSI Gallium3D Begins Simple CL Demos
  2. Debian GNU/Hurd 2013 Release Brings New Packages
  3. GCC 4.8.0 vs. LLVM Clang 3.3 Compiler Performance
  4. Steam: No used games...
  5. KDE 4.11 Will Be The Last Major KDE4 Workspaces...
  6. Linux Desktop Security Could Be A Whole Lot Better
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite