logoalt Hacker News

josephglast Saturday at 10:58 AM2 repliesview on HN

I've been using a 4090 on my linux workstation for a few years now. Its mostly fine - with the occasional bad driver version randomly messing things up. I'm using linux mint. Mint uses X11, which, while silly, means suspend / resume works fine.

NVIDIA's drivers also recently completely changed how they worked. Hopefully that'll result in a lot of these long term issues getting fixed. As I understand it, the change is this: The nvidia drivers contain a huge amount of proprietary, closed source code. This code used to be shipped as a closed source binary blob which needed to run on your CPU. And that caused all sorts of problems - because its linux and you can't recompile their binary blob. Earlier this year, they moved all the secret, proprietary parts into a firmware image instead which runs on a coprocessor within the GPU itself. This then allowed them to - at last - opensource (most? all?) of their remaining linux driver code. And that means we can patch and change and recompile that part of the driver. And that should mean the wayland & kernel teams can start fixing these issues.

In theory, users shouldn't notice any changes at all. But I suspect all the nvidia driver problems people have been running into lately have been fallout from this change.


Replies

homebrewerlast Saturday at 12:52 PM

They opened a tiny kernel level sliver of their driver, everything else (including OpenGL stack et al) is and will still be closed.

Sadly, a couple of years ago someone seriously misunderstood the news about "open sourcing" their drivers and spread that misunderstanding widely; many people now think their whole driver stack is open, when in reality it's like 1% of the code — the barest minimum they could get away with (I'm excluding GSP code here).

The real FOSS driver is Nova, and it's driven by the community with zero help from Nvidia, as always.

show 1 reply
nirvlast Saturday at 11:59 AM

No browser on Linux supports any other backend for video acceleration except VAAPI, as far as I know. AMD and Intel use VAAPI, while Nvidia uses VDPAU, which is not supported anywhere. This single fact means that with Nvidia graphics cards on Linux, there isn't even such a simple and important feature for users as video decoding acceleration in the browser. Every silly YouTube video will use CPU (not iGPU, but CPU) to decode video, consuming resources and power.

Yes, there are translation layers[1] which you have to know about and understand how to install correctly, which partially solve the problem by translating from VAAPI to NVDEC, but this is certainly not for the average user.

Hopefully, in the future browsers will add support for the new Vulkan Video standard, but for now, unfortunately, one has to hardcode the browser launch parameters in order to use the integrated graphics chip's driver (custom XDG-application file for AMD APU in my case: ~/.local/share/applications/Firefox-amdgpu.desktop): `Exec=env LIBVA_DRIVER_NAME=radeonsi DRI_PRIME=0 MOZ_ENABLE_WAYLAND=1 __NV_PRIME_RENDER_OFFLOAD=0 __GLX_VENDOR_LIBRARY_NAME=radeons i /usr/bin/firefox-beta %u`.

[1] https://github.com/elFarto/nvidia-vaapi-driver/

show 2 replies