Nouveau

From LinuxReviews
Jump to navigationJump to search
nouveau
Initial releasev1.0 June 18, 2012; 8 years ago (2012-06-18)
Written inC
Operating systemLinux
TypeGraphics driver
LicenseMIT Software License
Nvidia-settings.png

Nouveau is a free software graphics driver for Nvidia graphics cards. It is not very good and it performs horrible compared to the proprietary non-free binary blob driver Nvidia offers on anything but very ancient graphics cards. It can be used to get a basic 2D desktop on most not brand new Nvidia graphics cards. Accelerated 3D graphics, video playback and other features you would expect a graphics driver to provide are in practice not supported.

Nouveau does support 2D and 3D acceleration on graphics chips up to Pascal/NV130 (GeForce 1060, GeForce 1070, etc). This would be great if proper power management was supported. It's not, and the result is dismal performance.

Current Status 2020

The nouveau developers stated goal for nouveau is to create a

"Reliable Open-Source driver for Nvidia GPUs"

nouveau presentation as Fosdem 2020
January 2020

The reason they aim for reliability and not performance is that power management features can't be implemented thanks to Nvidia's firmware restrictions.

Graphics cards from Nvidia require a signed firmware for most functions. It would be possible to dump the firmware from the proprietary Nvidia driver but that would require that everyone who wants to use nouveau downloads a specific version of Nvidias proprietary drivers and extract the firmware for their card. The firmware and the firmware interfaces change from driver version to driver version so nouveau would have to base their code on a specific driver version if they were to go down that road. The nouveau developers don't want to do that.

Firmware is a problem on older cards too. nouveau can control GPU clock speed on older GeForce 700 series Kepler cards with a reverse engineered firmware but it can not control the fans which means that the graphics cards would overheat after a short period of sustained load at higher clocks.

Fosdem 2020 Presentation

Video license: Cc-by-sa-2.0, Fosdem 2020

OpenCL

The nouveau driver has some OpenCl code which, as of January 2020, doesn't work. But it's there. And you can try it by setting NOUVEAU_ENABLE_CL=1

Don't expect to be able to actually use any OpenCL software with nouveau just yet. It is more of a thing you can enable and play with if you are interested in improving the Nouveau driver.

NIR backend

nouveau has a NIR backend which can be tested by setting NV50_PROG_USE_NIR=1

Good luck with doing that. It's there, you can try it, but don't expect a problem-free experience.

IBM funding

The few paid developers who are working on nouveau are employed by the IBM subsidiary Redhat. They also have an intern who is working on a shader cache.

Links

Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.