this post was submitted on 09 Nov 2023
8 points (90.0% liked)

Linux 101 stuff. Questions are encouraged, noobs are welcome!

1060 readers
4 users here now

Linux introductions, tips and tutorials. Questions are encouraged. Any distro, any platform! Explicitly noob-friendly.

founded 1 year ago
MODERATORS
 

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?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 7 points 1 year ago

I will try to put it simply

  1. the linux kernel provides the hardware compatibility in a general sense.
  2. 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.
  3. 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.

Ok, no that simple in the end 😅