It’s been a while since I had to use the Radeon graphics cards on linux. It seems like a lot has changed since and I’m a bit confused.
Can someone explain to me the concepts of it ?
Before if was simple, there was a fglrx and it sucked and that’s all I had to know and get myself nvidia.
Now there is :
radeon: drivers ( I believe this came after fglrx and sucked less ? )
amdgpu: the new good stuff, the grass is green and the girls are pretty
amdgpu-pro: ?
mesa: amgdpu but only glass is green ?
mesa NEW: ?
mesa-libOpenCL: ?
mesa-libGL: ?
mesa-dri: ?
vulkan
It would be nice if there would be some guide explaining those and probably more of what do I need to get installed on my system to get it flying on the latest rDNA/rDNA2 cards?
If you know about any article explaining it or some YouTube video, I would appreciate it.
Fedora but I guess the dri/libOpenCL/libGl/vulkan bits are distro agnostic.
Recently they’ve back-ported the drivers into f33 5.9 kernel so the graphics works out of the box I am just not sure if I should be installing the libGL, dri, vulkan, opencl bits etc or if they are mutually exclusive.
They are so I don’t have the issue with the driver as of now, it’s just I am confused about the other drivers/implementations etc.
Is Mesa Gallium driver 20.2.6 for AMD SIENNA_CICHLID the so called “Mesa new” driver?
Do I need amdgpu-pro driver from AMD site to get things like freesync working etc…
To add even more confusion, apparently a amdgpu-next is a thing…
radeon - Open source kernel driver for radeon cards, primarily for cards before GCN.
amdgpu - Open source kernel driver for amd/radeon cards, supports GCN and RDNA cards.
amdgpu-pro - Closed source userland driver that afaik sits on top of/borrows from amdgpu stuff. It provides the AMD official support for OpenGL, OpenCL and Vulcan, and maybe some more stuff? Needed to use hardware acceleration with some programs (Davinci resolve for example I think)
amdgpu-next- Development/unstable version of amdgpu. So more buggy (sometimes), or at least not as tested yet.
mesa - Open source userland driver to support OpenGL, OpenCL, Vulcan, and a couple of other APIs. Basically a open source amdgpu-pro, in some ways but not made by AMD. It is a go-between for going between a program making an API call and the driver sending information to the hardware.
mesa NEW, mesa-libOpenCL, mesa-libGL, mesa-libGL, mesa-dri - All basically versions or components of mesa. Perhaps split up for some packaging reason, or so you only have to install what you need.
vulkan - A graphics API. So you can use vulkan in your game, tell vulkan to draw a something, and vulkan will go ahead and take care of it. Similar purpose to OpenGL, but but newer.
Mesa is not a driver, it is the implementation of various graphics APIs in a unified way. It implements OpenGL, Vulkan, OpenCL, among other things.
From a program perspective, the program talks to mesa, and mesa talks to the GPU driver. That’s also why it is not AMD specific, it can talk to any GPU driver that is made to work with it. This is so that not every GPU driver has to implement the various graphics APIs individually, but have one single project that handles that.
The Intel GPU driver uses Mesa, and so does the Open Source nvidia driver nouveau.
It does, but it still has some limitations. To my knowledge FreeSync still does not work when using multiple monitors. I don’t know if it works when running multiple X Servers (i.e. one per Monitor).