Open source NVIDIA drivers are finally a thing?

I've ran this test before, but I forgot the results, so I ran it again today.

nvidia proprietary vs nouveau. Same computer, same video card.

Nouveau
Code:
=======================================================
    glmark2 2023.01
=======================================================
    OpenGL Information
    GL_VENDOR:      Mesa
    GL_RENDERER:    NV164
    GL_VERSION:     4.3 (Compatibility Profile) Mesa 24.3.2
    Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0
    Surface Size:   800x600 windowed
=======================================================
[build] use-vbo=false: FPS: 5791 FrameTime: 0.173 ms
[build] use-vbo=true: FPS: 8712 FrameTime: 0.115 ms
[texture] texture-filter=nearest: FPS: 8285 FrameTime: 0.121 ms
[texture] texture-filter=linear: FPS: 8269 FrameTime: 0.121 ms
[texture] texture-filter=mipmap: FPS: 8268 FrameTime: 0.121 ms
[shading] shading=gouraud: FPS: 8440 FrameTime: 0.118 ms
[shading] shading=blinn-phong-inf: FPS: 8386 FrameTime: 0.119 ms
[shading] shading=phong: FPS: 8362 FrameTime: 0.120 ms
[shading] shading=cel: FPS: 8424 FrameTime: 0.119 ms
[bump] bump-render=high-poly: FPS: 8565 FrameTime: 0.117 ms
[bump] bump-render=normals: FPS: 8407 FrameTime: 0.119 ms
[bump] bump-render=height: FPS: 8160 FrameTime: 0.123 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 9608 FrameTime: 0.104 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 9860 FrameTime: 0.101 ms
[pulsar] light=false:quads=5:texture=false: FPS: 6726 FrameTime: 0.149 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 4785 FrameTime: 0.209 ms
[desktop] effect=shadow:windows=4: FPS: 3397 FrameTime: 0.294 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 1988 FrameTime: 0.503 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 1872 FrameTime: 0.534 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 2417 FrameTime: 0.414 ms
[ideas] speed=duration: FPS: 432 FrameTime: 2.319 ms
[jellyfish] <default>: FPS: 7320 FrameTime: 0.137 ms
[terrain] <default>: FPS: 154 FrameTime: 6.507 ms
[shadow] <default>: FPS: 5470 FrameTime: 0.183 ms
[refract] <default>: FPS: 1278 FrameTime: 0.783 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 8430 FrameTime: 0.119 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 8429 FrameTime: 0.119 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 8577 FrameTime: 0.117 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 8384 FrameTime: 0.119 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 8391 FrameTime: 0.119 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 8352 FrameTime: 0.120 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 8596 FrameTime: 0.116 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 8431 FrameTime: 0.119 ms
=======================================================
                                  glmark2 Score: 6694 
=======================================================

nvidia proprietary
Code:
=======================================================
    glmark2 2023.01
=======================================================
    OpenGL Information
    GL_VENDOR:      NVIDIA Corporation
    GL_RENDERER:    NVIDIA GeForce RTX 2080 SUPER/PCIe/SSE2
    GL_VERSION:     4.6.0 NVIDIA 565.77
    Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0
    Surface Size:   800x600 windowed
=======================================================
[build] use-vbo=false: FPS: 7922 FrameTime: 0.126 ms
[build] use-vbo=true: FPS: 14488 FrameTime: 0.069 ms
[texture] texture-filter=nearest: FPS: 14324 FrameTime: 0.070 ms
[texture] texture-filter=linear: FPS: 14053 FrameTime: 0.071 ms
[texture] texture-filter=mipmap: FPS: 14093 FrameTime: 0.071 ms
[shading] shading=gouraud: FPS: 15026 FrameTime: 0.067 ms
[shading] shading=blinn-phong-inf: FPS: 14582 FrameTime: 0.069 ms
[shading] shading=phong: FPS: 14541 FrameTime: 0.069 ms
[shading] shading=cel: FPS: 14454 FrameTime: 0.069 ms
[bump] bump-render=high-poly: FPS: 14348 FrameTime: 0.070 ms
[bump] bump-render=normals: FPS: 14325 FrameTime: 0.070 ms
[bump] bump-render=height: FPS: 14231 FrameTime: 0.070 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 14705 FrameTime: 0.068 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 14389 FrameTime: 0.070 ms
[pulsar] light=false:quads=5:texture=false: FPS: 13892 FrameTime: 0.072 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 6424 FrameTime: 0.156 ms
[desktop] effect=shadow:windows=4: FPS: 6924 FrameTime: 0.144 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 1457 FrameTime: 0.687 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 1972 FrameTime: 0.507 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 1711 FrameTime: 0.585 ms
[ideas] speed=duration: FPS: 8076 FrameTime: 0.124 ms
[jellyfish] <default>: FPS: 12051 FrameTime: 0.083 ms
[terrain] <default>: FPS: 2361 FrameTime: 0.424 ms
[shadow] <default>: FPS: 10196 FrameTime: 0.098 ms
[refract] <default>: FPS: 5186 FrameTime: 0.193 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 14478 FrameTime: 0.069 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 14511 FrameTime: 0.069 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 14351 FrameTime: 0.070 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 13926 FrameTime: 0.072 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 14445 FrameTime: 0.069 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 14630 FrameTime: 0.068 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 14450 FrameTime: 0.069 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 14259 FrameTime: 0.070 ms
=======================================================
                                  glmark2 Score: 11537 
=======================================================

Note the proprietary drivers are almost twice as fast as nouveau.
 


I know this thread is about nvidia, but I have been asked many times if AMD Radeon cards are any good in Linux.
Judge for yourself.

glmark2 scores.
Code:
=======================================================
    glmark2 2023.01
=======================================================
    OpenGL Information
    GL_VENDOR:      AMD
    GL_RENDERER:    AMD Radeon RX 7800 XT (radeonsi, navi32, LLVM 19.1.5, DRM 3.59, 6.12.9-200.fc41.x86_64)
    GL_VERSION:     4.6 (Compatibility Profile) Mesa 24.3.2
    Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0
    Surface Size:   800x600 windowed
=======================================================
[build] use-vbo=false: FPS: 19457 FrameTime: 0.051 ms
[build] use-vbo=true: FPS: 31863 FrameTime: 0.031 ms
[texture] texture-filter=nearest: FPS: 31088 FrameTime: 0.032 ms
[texture] texture-filter=linear: FPS: 31100 FrameTime: 0.032 ms
[texture] texture-filter=mipmap: FPS: 31258 FrameTime: 0.032 ms
[shading] shading=gouraud: FPS: 31894 FrameTime: 0.031 ms
[shading] shading=blinn-phong-inf: FPS: 31538 FrameTime: 0.032 ms
[shading] shading=phong: FPS: 31191 FrameTime: 0.032 ms
[shading] shading=cel: FPS: 31449 FrameTime: 0.032 ms
[bump] bump-render=high-poly: FPS: 29961 FrameTime: 0.033 ms
[bump] bump-render=normals: FPS: 30715 FrameTime: 0.033 ms
[bump] bump-render=height: FPS: 30713 FrameTime: 0.033 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 31866 FrameTime: 0.031 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 27441 FrameTime: 0.036 ms
[pulsar] light=false:quads=5:texture=false: FPS: 30677 FrameTime: 0.033 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 16133 FrameTime: 0.062 ms
[desktop] effect=shadow:windows=4: FPS: 18072 FrameTime: 0.055 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 3065 FrameTime: 0.326 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 3598 FrameTime: 0.278 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 4552 FrameTime: 0.220 ms
[ideas] speed=duration: FPS: 14218 FrameTime: 0.070 ms
[jellyfish] <default>: FPS: 26368 FrameTime: 0.038 ms
[terrain] <default>: FPS: 6387 FrameTime: 0.157 ms
[shadow] <default>: FPS: 24536 FrameTime: 0.041 ms
[refract] <default>: FPS: 10742 FrameTime: 0.093 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 31621 FrameTime: 0.032 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 29965 FrameTime: 0.033 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 30290 FrameTime: 0.033 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 29791 FrameTime: 0.034 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 29833 FrameTime: 0.034 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 29795 FrameTime: 0.034 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 29886 FrameTime: 0.033 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 29903 FrameTime: 0.033 ms
=======================================================
                                  glmark2 Score: 24876 
=======================================================
 
At the moment Nvidia’s open source drivers seem like too much of a hassle to install. maybe in the future it will be adapted into the debian repos, like how they have AMD open source drivers.
 
What do you think?
This was 12 years ago. Nvidia has gotten a lot better on Linux since then. Last time I used an Nvidia gpu(RTX 3090) everything worked just fine, except for a glitch with Steam on Wayland which was a known issue. Not sure what the status currently is but wouldn't be suprised if that is not an issue anymore with the 560 drivers that came out this last year.
 
Last edited:
At the moment Nvidia’s open source drivers seem like too much of a hassle to install. maybe in the future it will be adapted into the debian repos, like how they have AMD open source drivers.
Btw. Debian comes with Nouveau driver by default but their repo does have nvidia driver package which even though is not latest version from Nvidia site is still far better than Nouveau.

You can safely install it without having to worry about breaking things across kernel upgrades like this:

First step is is to enable contrib, non-free and non-free-firmware in package manager, to do this:

Bash:
# Required by nvidia-driver deps
sudo add-apt-repository contrib
sudo add-apt-repository non-free

# Required by nvidia driver
sudo add-apt-repository non-free-firmware

# To install 32 bit Nvidia libs - nvidia-driver-libs:i386
sudo dpkg --add-architecture i386

Next step is to detect and install Nvidia driver

Bash:
# Update package repository index
sudo apt update

# Install package to let us detect which driver we need
sudo apt install nvidia-detect

# Detect which driver needs to be installed
sudo nvidia-detect

# Depending on the output above, replace nvidia-driver with the one that was detected
sudo apt install nvidia-driver

# Reboot for changes to take effect
systemctl reboot

Upon reboot you can run nvidia-smi program which will list your GPU stats and driver version:
 

Members online


Top