Ex windows user here. I really like my Linux installation, but I don’t know where the drivers are at, or if I should worry about it.
It feels great to have one less thing to worry about (I use an AMD GPU), but GPU drivers in Windows seem to have their own release cycle, fixing game compatibility and bugs, while in Linux it also feels like we have to wait for a next kernel release to get that fix.
Or maybe it’s mesa? I don’t really understand that.
TL;DR: where are the open source drivers at? Mesa or the kernel? And also, is the release cycle the same or close to Windows counterpart? Or it just doesn’t matter?
the linux kernel provides the hardware compatibility in a general sense.
Then the driver for your specific card is coming as a kernel module, in your case amdgpu, which is the open-source driver that works very well, but amdgpu-pro is the proprietary driver from AMD and most NVidia users will also install the proprietary module.
Finally you have libraries implementing APIs to OpenGL, Vulkan, video decoding, etc. All of those are bundled in software packages, that depend on your distro. In your case you can most certainly install a MESA package that will give you everything you need, compatible with the Kernel you have.
In summary, drivers come in 3 parts: Linux kernel, kernel module, libraries. Usually you install a driver that provide you the module and libraries compatible with the kernel. You rarely have to worry where they exist on the filesystem, and nowdays most distro will automatically detect and install what you need.
Refer to the other comment for where it is. The release cycle depends on your distro. If you use arch, you'll always get the latest stuff as it releases. That's the thing that makes arch a good choice for gaming.
Other distros are generally more delayed or only release major versions that don't break anything.
For nvidia this means you have specialized distros created for the sole purpose of having a working nvidia driver that come in different versions because even the 'stable' versions aren't very stable.
With AMD, you basically don't need to worry.
The second part is bonkers. Most distro ship with the non free Nvidia driver and work well with it. Shit starts hitting the fan if you try to use the setup from nvidias website, which is not a problem of any distro but a user error
My Tipp: don't use niche distros: arch, debian, fedora, mint...all of them work well with the non free Nvidia kernel module. For fedora you have to add an additional repository if I remember correctly but that's it
Ok, I think I get it. But let’s say that AMD releases a windows driver with a fix for a new game. How much should I wait for that same fix to arrive in arch? Will it arrive as a new kernel? As a new mesa version? Or something else?
I personally use an Nvidia card, so someone more knowledgeable can correct me.
For the open source drivers, Its a combination of both an AMDGPU (newer cards) or ATI (older cards) kernel module, alongside the mesa package, which provides 3D acceleration and OpenGL support. There is a separate package for Vulkan support too, either vulkan-radeon or amdvlk. For hardware video decoding, there is libva-mesa for VA-API, and mesa-vdpau for VDPAU support.
So yeah, Windows has one monolithic drivers .exe, and Linux has it all split out into separate chunks. How quickly you get updates depends on your choice of linux distro.
It's a mix of mostly (using Arch Linux package names here) mesa, vulkan-radeon, linux-firmware and linux (in particular the amdgpu module). Your package manager should update all of these for you when prompted and updates are available.