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

Nouveau Gets Further Freed From Ctx_Voodoo

Nouveau

Published on 23 February 2010 10:05 PM EST
Written by Michael Larabel in Nouveau
27 Comments

One of the issues that was widely discussed when Linus Torvalds brought up finally merging the Nouveau DRM into the Linux 2.6.33 kernel was a microcode problem. The past few generations of NVIDIA graphics processors require this specialized microcode/firmware to be loaded in order to provide acceleration of any sort. At first it was it was a mystery what this microcode actually did, but it turns out that it's used for GPU context switching and the like. This wound up being a sticky situation.

The Nouveau DRM was pulled into the Linux 2.6.33 kernel and the microcode of concern ("ctx_voodoo" as it's been called) was left to be loaded externally rather than embedded in the driver itself due to copyright concerns.

Since then, however, the Nouveau development community had created its own NV40 microcode replacement to alleviate the ctx_voodoo usage for the GeForce 6 generation of graphics cards. Emerging now is also a free software alternative to loading the ctx_voodoo microcode for the NV50/NV8x/NV9x/NVAx class hardware. In other words, the newer NVIDIA graphics processors no longer need to deal with this messy firmware.

Unlike the NV40 firmware replacement, this solution for newer NVIDIA GPUs isn't generated firmware being loaded by the driver, but rather the needed microcode is generated in real-time by the driver. With the massive patch (2,000+ lines of code), the Novueau DRM generates its own ctxprogs firmware without any dependence on any potentially copyrighted NVIDIA firmware.

This embedded ctxprogs and ctxvals generator should work for these newer families of NVIDIA GPUs, but it's quite different from NVIDIA's blob, so the developer (Marcin Koƛcielnicki) is looking for many individuals to test out this newest code and look for any regressions. The Nouveau Gallium3D driver also needs to be tested using this ctxprogs/ctxvals generator.

This generator isn't yet merged into the Nouveau DRM, but for now the large patch can be found on this web-page. Hopefully it will be tested and ready for merging into the Linux 2.6.34 kernel next month. The message announcing this NV50/NV8x/NV9x/NVAx ctxprog and ctxvals generator can be found on the Nouveau mailing list.

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. Even With Re-Clocking, Nouveau Remains Behind NVIDIA's Proprietary Linux Driver
  2. The Power Consumption & Efficiency Of Open-Source GPU Drivers
  3. AMD R600g/RadeonSI Performance On Linux 3.16 With Mesa 10.3-devel
  4. Intel Pentium G3258 On Linux
Latest Linux Articles
  1. Nouveau vs. Radeon vs. Intel Tests On Linux 3.16, Mesa 10.3-devel
  2. KVM Benchmarks On Ubuntu 14.10
  3. X.Org Server 1.16 Officially Released With Terrific Features
  4. Ubuntu With Linux 3.16 Smashes OS X 10.9.4 On The MacBook Air
Latest Linux News
  1. NVIDIA Is Working Towards VDPAU H.265/HEVC Support
  2. Hawaii Bug-Fixes Start Hitting Mainline RadeonSI Gallium3D
  3. The FFmpeg vs. Libav War Continues In Debian Land
  4. Grand Theft Auto Running On Direct3D Natively On Linux Shows Gallium3D Potential
  5. GCC As A Just-In Time Compiler Is An Interesting Project
  6. Age Of Wonders III Is Still Being Ported To Linux
  7. Git 2.1 To Further Mainline Windows Support Patches
  8. Debian 8.0 Jessie Is Settling For Linux 3.16
  9. Meson: A Next-Gen Build System Showing Promise
  10. Linux 3.16-rc7 Calms Things Down For The Linux 3.16 Kernel
Latest Forum Discussions
  1. Debian + radeonsi
  2. Open-source drivers on ATI R7 260X
  3. Updated and Optimized Ubuntu Free Graphics Drivers
  4. List of Linux friendly Kickstarter projects
  5. Linus Torvalds On GCC 4.9: Pure & Utter Crap
  6. Porting Mesa to the Playstation 2
  7. ASRock AM1H-ITX: One Of The Best AM1 Mini-ITX Motherboards
  8. Table test