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

Driver
AMD
Open Source

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".

--usecase=
Description
Application

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

--opengl=
Description
Compatibility

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.

--opencl=
Description
Compatibility

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.

--vulkan=
Description
Compatibility

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

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

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