GPU Linux
About GPU Linux
GPU Linux is a documentation project designed to simplify the installation, configuration, and optimization of GPU drivers on Linux, providing essential information in an easily accessible format. It serves as a reliable resource for gaming, video editing, and high-performance computing. This documentation is a free, collaborative, and open project, continuously enhanced through contributions from the community. All ideas, suggestions, corrections, and improvements are welcome. To contribute to the project, join the Telegram group: https://t.me/+bRjQVsxdB-dhZWFh. Document: https://gpulinux.gitbook.io/gpulinux/
AMD
Drivers Resume
OpenGL
AMD PRO OpenGL Driver (OGLP)
Mesa OpenGL Driver
OpenCL
ROCr (Radeon Open Compute Runtime)
Mesa OpenCL ICD (Installable Client Driver)
Vulkan
AMDVLK / PRO
RADV
AMD Drivers
Access https://www.amd.com/en/support/download/linux-drivers.html, download and install the amdgpu-install package.
Usage: amdgpu-install --usecase=<options> --opengl=<options> --opencl=<options> --vulkan=<options>
For more information: $amdgpu-install --help
If --usecase option is not present, the default selection is "dkms,graphics,opencl,hip".
dkms
Kernel mode driver (included in all usecases)
to only install the kernel mode driver
graphics
Open source Mesa 3D graphics and multimedia libraries
for users of graphics applications
multimedia
Open source Mesa 3D multimedia libraries
for users of open source multimedia
workstation
Open source multimedia libraries
Closed source (legacy) OpenGL
for users of legacy WS applications
rocm
OpenCL (ROCr/KFD based) runtime
HIP runtimes
Machine learning framework
All ROCm libraries and applications
for users and developers requiring full ROCm stack
wsl
ROCr WSL runtime library (Ubuntu 22.04 only)
for using ROCm in a WSL context
rocmdev
HIP runtimes
OpenCL runtime
Profiler, Tracer and Debugger tools
for developers requiring ROCm runtime and profiling/debugging tools
rocmdevtools
Profiler, Tracer and Debugger tools
for developers requiring ROCm profiling/debugging tools
amf
AMF closed source multimedia library
for users of AMF based multimedia
lrt
ROCm Compiler and device libraries
ROCr runtime and thunk
for users of applications requiring ROCm runtime
opencl
ROCr based OpenCL
ROCm Language runtime
for users of applications requiring OpenCL on Vega or later products
openclsdk
ROCr based OpenCL
ROCm Language runtime
Development and SDK files for ROCr based OpenCL
for application developers requiring ROCr based OpenCL
hip
HIP runtimes
for users of HIP runtime on AMD products
hiplibsdk
HIP runtimes
ROCm math libraries
HIP development libraries
for application developers requiring HIP on AMD products
openmpsdk
OpenMP runtime and devel packages
for users of openmp/flang on AMD products
mllib
MIOpen hip/tensile libraries
Clang OpenCL
MIOpen kernels
for users executing machine learning workloads
mlsdk
MIOpen development libraries
Clang OpenCL development libraries
MIOpen kernels
for developers executing machine learning workloads
asan
ASAN enabled OpenCL (ROCr/KFD based) runtime
ASAN enabled HIP runtimes
ASAN enabled Machine learning framework
ASAN enabled ROCm libraries
for users of ASAN enabled ROCm packages
mesa
Installs the open-source Mesa 3D driver, widely used for OpenGL support.
It is recommended for users who want stable and reliable performance in desktop applications and games, especially on modern Linux systems.
Suitable for most modern AMD GPUs.
oglp
An OpenGL driver intended for cloud or other specific applications.
Used in specific configurations for cloud computing or other needs that require a customized OpenGL implementation.
It is available only for Ubuntu 20.04. Not recommended or needed for general users or for Ubuntu 24.04 or higher.
rocr
ROCr/KFD based OpenCL
Modern GPUs: For GPUs based on GCN 3.0 (Fiji) architectures or later (such as Polaris, Vega, RDNA, etc.).
legacy
DEPRECATED
This option should be used for GPUs based on the following architectures:
Southern Islands (SI):
Radeon HD 7000 Series.
GPUs such as HD 7750, HD 7770, HD 7850, HD 7870, HD 7950, HD 7970.
Sea Islands (CI):
Radeon HD 8000 Series.
GPUs such as HD 8350, HD 8490, HD 8570, HD 8770, HD 8870.
APUs and GPUs prior to full ROCr support:
AMD APUs based on Kaveri, Kabini, or older architectures.
Integrated GPUs such as Radeon R5/R7 prior to the Vega series.
amdvlk
AMD open source implementation
Installs the AMD open-source Vulkan implementation.
Suitable for users who prefer open-source drivers and compatibility with Vulkan-based applications and games.
Recommended for most use cases on Linux where AMD Vulkan drivers are needed and open-source stability is preferred.
AMD Radeon™ RX 7000
AMD Radeon™ RX 6000
AMD Radeon™ VII AMD
Radeon™ RX 5000 AMD
Radeon™ RX Vega AMD
Radeon™ RX 500 AMD
Radeon™ RX 400 AMD
Radeon™ R9 Fury / Fury X / Nano
AMD Radeon™ R9 360 / 380 / 380X / 390 / 390X
AMD Radeon™ R9 285 / 290 / 290X
pro
AMD closed source implementation
Installs the AMD closed-source Vulkan implementation.
Provides optimized Vulkan performance for specific applications and workloads.
Typically used in professional or enterprise contexts where performance is a critical factor and the closed-source driver is better supported.
AMD Radeon™ PRO W7000
AMD Radeon™ PRO W6000
AMD Radeon™ PRO VII
AMD Radeon™ PRO W5000
Radeon™ PRO WX x200
Radeon™ PRO WX x100
Radeon™ PRO AMD
Radeon™ Pro Duo
FirePro™ Wx100
FirePro™ Wx000
Open Source Drivers
OpenGL $sudo apt install mesa-va-drivers libgl1-mesa-dri libgbm1 mesa-utils
OpenCL $sudo apt install mesa-opencl-icd ocl-icd-libopencl1 clinfo
Vulkan $sudo apt install mesa-vulkan-drivers vulkan-tools
Examples
For video editing: $sudo amdgpu-install --usecase=graphics,multimedia,opencl,amf,hip,rocm --opengl=mesa --opencl=rocr --vulkan=amdvlk $sudo apt install mesa-utils clinfo vulkan-tools
For gaming: $sudo amdgpu-install --usecase=graphics --opengl=mesa $sudo apt install mesa-va-drivers libgl1-mesa-dri libgbm1 mesa-utils $sudo apt install mesa-opencl-icd ocl-icd-libopencl1 clinfo $sudo apt install mesa-vulkan-drivers vulkan-tools
Settings
Add permission for Render/Video $sudo usermod -a -G render,video $LOGNAME
Include in ~/.bashrc export LD_LIBRARY_PATH=/opt/amdgpu/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH export PATH=/opt/amdgpu/bin:$PATH
Utilities
Check OpenGL: $glxinfo | grep OpenGL
Check OpenGL: $xeglgears
Check OpenCL: $clinfo
Check Vulkan: $vulkaninfo | grep "GPU"
References
Linux® Drivers for AMD Radeon™ and Radeon PRO™ Graphics https://www.amd.com/en/support/download/linux-drivers.html
Radeon™ Software for Linux® Installation https://amdgpu-install.readthedocs.io/en/latest/preamble.html
Intel
<missing>
NVIDIA
<missing>
Video Editing
Codecs & Plugins
$sudo apt install lsp-plugins alsa-utils lmms libxine2-plugins gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav libvdpau-va-gl1 libx264-dev libx265-dev libavcodec-extra ffmpeg ubuntu-restricted-extras
DaVinci Resolve
This repo allows you to package DaVinci Resolve as a Flatpak for use on Linux Flatpak based systems, especially e.g. Fedora Silverblue where there aren't easier installation options. https://github.com/pobthebuilder/resolve-flatpak
Install DaVinci Resolve or DaVinci Resolve Studio on Debian (convert .run in .deb) https://www.danieltufvesson.com/makeresolvedeb
DaVinci Resolve on Linux (Debian) - with media tips https://github.com/flolu/davinci-resolve-linux
Kdenlive
<missing>
Blender
ZLUDA is a drop-in replacement for CUDA on non-NVIDIA GPU. ZLUDA allows to run unmodified CUDA applications using non-NVIDIA GPUs with near-native performance. https://github.com/vosen/ZLUDA
Updates
[2024.12.24] Shaba Piffer: First Version; About, AMD, Video Editing, Updates.
[YYYY.MM.DD] Name: Updates.
Last updated