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. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Raspberry Pi Gets New Wayland Weston Renderer
  2. Debian GNU/Hurd 2013 Release Brings New Packages
  3. Intel Ultrabook Performance Is Faster With Mesa 9.2
  4. Hot Relocation HDD To SSD Support For Btrfs
  5. Phoronix Test Suite 4.6.0 "Utsira" Released
  6. New Intel X.Org Driver Supports All Of Haswell
  7. SQLite Now Faster With Memory Mapped I/O
  8. Microsoft Releases Skype For Linux 4.2, Has Bug-Fixes
  9. Qt For Tizen Launches, Based On Qt 5.1
  10. KTAP Released For Linux Kernel Dynamic Tracing
  11. Linux 3.10-rc2 Kernel Takes In A Few Extra Pulls
Latest Forum Talk
  1. Microsoft Releases Skype For Linux 4.2, Has...
  2. Raspberry Pi Gets New Wayland Weston Renderer
  3. Kubuntu, KDE Has Little Hope For Ubuntu's Mir
  4. Debian GNU/Hurd 2013 Release Brings New Packages
  5. Hot Relocation HDD To SSD Support For Btrfs
  6. Qt For Tizen Launches, Based On Qt 5.1
  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