Testing 60+ Intel/AMD/NVIDIA GPUs On Linux With Open-Source Drivers
First up are the issues encountered when testing the open-source driver on the NVIDIA graphics cards... For those out of the loop, the open-source NVIDIA driver support is provided by Nouveau, an independent, third-party driver project with the bulk of the work being done through reverse-engineering the proprietary NVIDIA Linux graphics driver. It wasn't until last year that NVIDIA began providing some support to Nouveau, which so far is in the form of a Maxwell graphics card sample, some basic documentation, code enablement for the GK20A Kepler GPU on the Tegra K1 SoC, and some other limited forms of support. Hopefully in the months ahead we will see continued (and ideally greater) support by NVIDIA Corp for this open-source driver.
The biggest limitation right now for the Nouveau driver is the lack of proper re-clocking support. With few exceptions, the Nouveau driver is limited to running at whatever frequencies the video BIOS programmed the hardware to at boot time. For most of the newer GPUs, these boot frequencies are extremely low, and thus the Nouveau performance is crippled with having the GPU core and video memory clock frequencies at a fraction of what the hardware are rated to run at. Nouveau developers have been working on re-clocking support for years, but it's one of the most complicated areas to deal with, especially for the newer Fermi/Kepler/Maxwell GPUs. This isn't an easy problem that will be fixed over night, unless NVIDIA was to devote some engineering resources to help tackle this big problem.
Regressions are also incredibly common when using the Nouveau driver between kernel and Mesa releases. With Nouveau being community driven, their resources are limited and they lack any formal QA process. With all their fiddling with the reverse-engineered driver between releases, regressions are semi-frequent for different GPUs, and I've characterized it as a game of Russian Roulette. Aside from the re-clocking issue, here's some of the problems I encountered when testing the NVIDIA graphics cards on the Linux 3.15 kernel and Mesa 10.3-devel:
GeForce 8500GT - The display would go dark after starting the OpenGL tests.
GeForce 8600GT - The GeForce 8600GT would run into issues when running Reaction Quake 3 (TTM error about failing to expire sync object before buffer eviction), Warsow would result in another problem (failed to idle channel and PGRAPH errors), and Unvanquished would result in PGRAPH errors.
GeForce 8800GT - There were GPU lock-ups with this graphics card too when loading Tesseract. There were also issues encountered about failing to idle the channel produced by the Nouveau DRM driver and PGRAPH errors with Reaction -- similar to the 8800GT. Some corrupted text was also encountered on some boots.
GeForce 9600GSO - The GeForce 9600GSO was running into font rendering issues.
GeForce GT 240 - The GeForce GT 240 would mode-set correctly and show Plymouth while booting, but when it came to loading the Nouveau DDX for the Ubuntu desktop, the screen would become corrupted in a checkerboard-like pattern. With this particular ECS GeForce GT 240 I've never got it working right with Nouveau across many different Kernel/DDX/Mesa releases while other Nouveau users have reported success with the GT 240. The proprietary NVIDIA Linux graphics driver works just fine with this ECS GeForce GT 240.
Latest Articles & Reviews
Latest Linux News
Most Viewed News This Week