Do you use that somewhat old AMD GPU on Linux and are not able to run games with Vulkan, or achieve satisfactory performance? Perhaps what you need is just to activate the correct driver.
Here’s how to enable the best driver for GPUs from the ‘Sea Islands’ and ‘Southern Islands’ families on Linux.
Drivers for your AMD GPU on Linux
AMD video cards have two drivers that can be enabled by default in Linux distributions, being ‘Radeon’ and ‘Amdgpu’.
What defines which one is enabled by default is your GPU model.
Very old GPUs are generally only compatible with the ‘Radeon’ driver, while the most current models use ‘Amdgpu’.
However, there are two of AMD’s GPU families that are compatible with both drivers.
I’m talking about ‘Sea Islands’ and ‘Southern Islands’.
In these GPUs the compatibility with ‘Amdgpu’ is in an experimental phase, so it is not activated by default, it is necessary to activate it manually through a simple and quick procedure.
If you want to gain a broader understanding of the types of drivers that exist for AMD GPUs on Linux before performing the procedures shown below, read This article that we wrote about it.
Identifying your AMD GPU and driver in use
Below is a list of all GPU models from the ‘Sea Islands’ and ‘Southern Islands’ families.
If your GPU is on that list, then the procedure is likely to be necessary.
• Tahiti, Bonaire, Hawaii, Pitcairn, Cape Verde, Oland.
There is a very simple command that will tell us whether the GPU in use at the moment is or is not compatible with ‘Amdgpu’.
Simply copy the command below, paste it into the terminal and press’Enter‘:
lspci -k | grep amdgpu
Two lines similar to these will appear:
Kernel driver in use: radeon
Kernel modules: radeon, amdgpu
The driver that appears in the “Kernel driver in use” line is the one that is currently activated, whereas the contents of the “Kernel modules” line are the drivers that are available for use.
If the command above did not return anything, then your GPU is only compatible with the ‘Radeon’ driver.
If in your case the driver in use at the moment is ‘Amdgpu’, then you don’t need to do anything else, the best option is already activated.
However, if the driver currently in use is ‘Radeon’, and ‘Amdgpu’ is appearing as available, follow the procedure below to activate it:
How do I activate ‘Amdgpu’ on my ‘Sea Island’ or ‘Southern Island’?
First let’s edit the settings file for Grub so that during the boot the system knows that it should use ‘Amdgpu’.
sudo nano /etc/default/grub
You will have a similar, but not necessarily identical, screen below:
At the end of the line “GRUB_CMDLINE_LINUX”, Before closing quotes, paste the line:
radeon.cik_support=0 amdgpu.cik_support=1 radeon.si_support=0 amdgpu.si_support=1
It should look like the example below:
Now to save press the key combination “Control + O» and «Enter”.
Then close the text editor with “Control + X”.
To activate the new settings, it is necessary to update Grub with the command below:
On Linux Mint, Ubuntu and derivatives:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
In Manjaro, Arch and derivatives:
sudo grub-mkconfig -o /boot/grub/grub.cfg
Restart the machine, and you’re done!
If you run the command “lspci -k | grep amdgpu”You will see that the driver in use is now ‘Amdgpu’.
Do you like Linux and technology? Have a question or problem that you can’t solve? Come be part of our community in Diolinux Plus!
It’s all personal for today! ?
Have you seen any errors or would you like to add any suggestions to this article? Collaborate, click here.