I’m planning on changing to Linux eventually, but my PC has a 4060ti. I have heard that Nvidia drivers are a pain to install, and I don’t have the means to change to a non-Nvidia GPU. Am I in trouble?

  • azvasKvklenko@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    1
    ·
    5 hours ago

    It really depends on how the distro you’re using is integrating them and while installing them is usually the easy part, working around certain quirks they come with can be a bit tedious in my experience.

    The proprietary driver comes in binary form and is shipped with a small kernel module that handles loading the binary driver. The Linux kernel modules that aren’t part of Linux itself (which most drivers are) must be compiled for specific kernel and its binary can work only for that specific kernel and nothing else. This means that even if then driver is the same but kernel changes, the nvidia module must still be recompiled. There are two ways distros handle that: 1) by running the compilation process in the background while installing or updating the driver package 2) by shipping binary form of the nvidia module, in case where it’s distro that always recommends synchronization of all packages so that kernel and modules always match. Historically this caused way more problems than it sounds, compilation might have failed for certain kernels occasionally leaving users with broken video after simple system update. Overall though it mostly works fine, especially nowadays.

    Another quirk is that the user-space part of the driver that exposes OpenGL and Vulkan interfaces for applications are also proprietary and closed source, and they must also match exactly with the kernel part of the driver. This creates another problem for sandboxed applications using for instance Flatpak. Applications in container won’t use the system-wide libraries, but rather ship their own - and that’s by design for good reasons. Flatpak will automatically detect NVIDIA and install matching driver just fine, but then after installing system upades, you must always update your flatpaks as well or the ones that use GPU in any way will simply fail to launch or fall back to software rendering making it extremely slow. This doesn’t happen for open source drivers, because Mesa can work with basically any kernel, so Mesa in Flatpak can be in completely different version than the one installed as system package. Moreover, I experienced problems with storage space because Flatpak wouldn’t automatically remove old NVIDIA drivers and after a year or so it was a chunky pile of NVIDIA drivers.

    And even when it works, there can still be missing functionality or integration with the OS might not be perfect. Last time I used them I was limited to X11 with many quirks regarding multi monitor setup and vertical synchronization. Wayland is technically usable now on NVIDIA, but not perfected yet.