Table of Contents
Ubuntu - GPU - AMD GPU - Setup - Setup using the AMD Installer Script
The AMD Installer Script method automates the installation process for the AMDGPU stack.
- The installer script handles the complete installation process, including setting up the repository, cleaning the system, updating, and installing the desired drivers and meta-packages.
- This supports even the very latest navi 31 GPUs, such as the Radeon RX 7900 xtx.
Download the AMD Installer Script
NOTE: Check the latest version number of the Installer Script by checking the .deb file link from https://www.amd.com/en/support/linux-drivers.
sudo apt update wget https://repo.radeon.com/amdgpu-install/22.40.5/ubuntu/jammy/amdgpu-install_5.4.50405-1_all.deb
NOTE: The installer package is updated periodically to resolve known issues and add new features.
- The links for each Linux distribution always point to the latest available build.
Uninstall the previous AMDGPU Stack (optional)
Install the AMD Installer Script
sudo apt install ./amdgpu-install_5.4.50405-1_all.deb
NOTE: Check the latest version number of the Installer Script by checking the .deb file link from https://www.amd.com/en/support/linux-drivers.
Install the AMDGPU Stack
amdgpu-install --usecase=graphics,opencl --vulkan=amdvlk --opencl=rocr --no-dkms
NOTE: This chooses to install various optional elements, such as opencl with rocr and vulkan.
- The pro option, used with vulkan requires AMD EULA to be accepted.
- If this is not wanted, then remove this pro choice, which will use the Community version.
amdgpu-install --usecase=graphics,opencl --vulkan=amdvlk,pro --opencl=rocr
- Various options can be selected.
- See Install options.
- See Use case options.
- –no-dkms: To turn of dkms, as this sometimes causes problems. Optionally keep dkms by removing this option.
Enable the AMD Kernel Module
Ensure there is no modprobe blacklist for amdgpu.
sudo rm /etc/modprobe.d/blacklist-amdgpu.conf
Configure Group Access
Add the user to the video group
usermod -a -G video username
Add the user to the render group
usermod -a -G render username
NOTE: This is an alternative method to configure group access:
sudo usermod -a -G render,video $LOGNAME
Optionally, install fresh firmware files
Grab the latest firmware from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git.
Drop these firmware files into /lib/firmware/amdgpu/ and rebuild any initramfs:
wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/snapshot/linux-firmware-20230515.tar.gz tar -xf linux-firmware-20230515.tar.gz sudo cp linux-firmware-20230515/amdgpu/* /lib/firmware/amdgpu/ sudo update-initramfs -uk 'all'
NOTE: The latest firmware files should probably provide support for newer GPUs.
Check that the GPU is being picked up
sudo apt update sudo apt install mesa-utils glxinfo | grep OpenGL
returns:
OpenGL vendor string: AMD OpenGL renderer string: Radeon RX 7900 XTX (gfx1100, LLVM 15.0.3, DRM 3.48, 5.19.0-43-generic) OpenGL core profile version string: 4.6 (Core Profile) Mesa 22.3.0-devel OpenGL core profile shading language version string: 4.60 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 4.6 (Compatibility Profile) Mesa 22.3.0-devel OpenGL shading language version string: 4.60 OpenGL context flags: (none) OpenGL profile mask: compatibility profile OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.2 Mesa 22.3.0-devel OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20 OpenGL ES profile extensions:
NOTE: This should show useful info on the GPU.
- Mesa is the open source implementations of OpenGL and Vulkan that AMD GPU users typically use.
Test the GPU
glxgears -info
NOTE: This should show some gears spinning around, together with frames per second.
Optionally, Purge nvidia drivers
Remove the Nvidia packages and any Nvidia related kernel arguments you might have (DRM Kernel Mode Setting or whatever).
sudo dpkg -P $(dpkg -l | grep nvidia-driver | awk '{print $2}')
NOTE: The Nvidia drivers will not load if there is no Nvidia card installed.
- Leaving the NVIDIA stack installed ensures that it is ready if you ever need to switch to a backup GPU in a hurry.
Optionally, setup environment variables for hardware acceleration
# For VDPAU export VDPAU_DRIVER=radeonsi # For VA-API export LIBVA_DRIVER_NAME=radeonsi # For GPU Vulkan Support, if the non-pro driver is used. export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json:/usr/share/vulkan/icd.d/radeon_icd.i686.json # For GPU Vulkan Support, if the pro driver is used. export VK_ICD_FILENAMES=/opt/amdgpu-pro/etc/vulkan/icd.d/amd_icd64.json
NOTE: These are only needed if these processes do not function correctly.
- To allow these to be there permanently, upon boot, place into ~/.bashrc or ~/.profile.
Optionally, Xorg configuration
If using Xorg.
Xorg will automatically load the driver and it will use the monitors EDID to set the native resolution.
- Configuration is only required for tuning the driver.
- If you want manual configuration, create /etc/X11/xorg.conf.d/20-amdgpu.conf, and add the following:
- /etc/X11/xorg.conf.d/20-amdgpu.conf
Section "OutputClass" Identifier "AMD" MatchDriver "amdgpu" Driver "amdgpu" EndSection