With recent commits to VA-API AMD proprietary AMF is virtually useless on AMD hardware except polaris/GFX8/RX 5XX/RX 4XX series, but with AMF depending on the proprietary vulkan driver and that dropping support for Polaris too, it's now actually universally useless.
on top of that the proprietary vulkan driver lost it's RT Edge to Mesa RADV So it's useless too.
The proprietary OpenCL implentation is broken, unsupported, and unusable USE ROCm.
Meanwhile the much more performant Mesa radeonSI is now fully compatible with proprietary applications such as davinci resolve .
This repository contains scripts for repacking the AMD proprietary drivers into Fedora-usable packages. It includes both 64 and 32 bit drivers.
- Proprietary drivers on AMD? thought those guys were open source ??
AMD's proprietary drivers only support a few linux distributions: Ubuntu LTS, SLES, RHEL, CentOS. Other distributions have to repackage their drivers.
While yes AMD driver stack is mostly open-source , as some parts remains proprietary like :
- The legacy/pal/orca OpenCL drivers. (required for darktable , resolve & blender (< 3.0) , they also behave better than the ROCm OpenCL implentation when using wine .)
- The industrial OpenGL drivers (required for resolve.)
- The Advanced Media Framework (required for GPU H.264/H.265 encoding)
- Vulkan drivers with ray tracing capabilities
"IMPORTANT NOTES" :
- Occasionally, the mock build may fail on 32 bit packages with the following issue:
Failed:
shadow-utils-2:4.11.1-2.fc36.i686
Error: Transaction failed
This is a known issue. You can just ignore it and re-run the build.
-
Starting from amdgpu-pro 21.50 the driver components -MUST- match the version of their firmware, and it's recommended to also match the drm version so we have repackaged the official "libdrm" along with the official amdgpu firmware used for their dkms modules, which we re-routed to be used for the amdgpu module in your kernel to fix these issues.
-
We have made these libdrm libraries load using system wrappers (vk_pro, gl_pro, cl_pro)
-
Using the official firmware will not cause any side-effects, they are practically the same as the normal ones except being properly versioned
We include a package builder script which uses mock to build packages with minimal dependencies. It will auto install the dependencies it needs (mock pykickstart fedpkg libvirt)
Use the package builder to build specific packages:
$ ./package-builder.sh
-------------------------------------
Usage: <package-name> <architecture>
-------------------------------------
You must specify a package name and an architecture.
Achitecture options are "32" for 32 bit and "64" for 64 bit
-------------------------------------
64 bit package names are:
amd-gpu-pro-firmware
libdrm-pro
amdamf-pro-runtime
amdocl-legacy
amdogl-pro
amdvlk
amdvlk-pro
-------------------------------------
32 bit package names are:
libdrm-pro
amdocl-legacy
amdogl-pro
amdvlk
amdvlk-pro
Resulting packages are placed in the "package" subfolder. Install packages like so:
$ cd packages
$ sudo dnf install *.rpm
-
install amdgpu-vulkan-switcher from https://copr.fedorainfracloud.org/coprs/gloriouseggroll/amdgpu-vulkan-switcher/
-
Run the program with
vk_pro {THE_PROGRAM}
- install amdgpu-vulkan-switcher from https://copr.fedorainfracloud.org/coprs/gloriouseggroll/amdgpu-vulkan-switcher/
AMDVLK
- Run the program with
vk_amdvlk {THE_PROGRAM}
- The only requirement to use the AMF encoder is that it requires the PRO driver to be used, so you must run the application (such as obs or ffmpeg) with vk_pro:
vk_pro {THE_PROGRAM}
Note : H265 AMF is supported only on RDNA1 cards and higher (RX 5XXX) , the rest shall use H264.
-
install amdgpu-opengl-switcher from https://copr.fedorainfracloud.org/coprs/gloriouseggroll/amdgpu-vulkan-switcher/
-
Run the program with
gl_pro {THE_PROGRAM}
- You can also use the open source zink driver:
gl_zink {THE_PROGRAM}
-
install amdgpu-opencl-switcher from https://copr.fedorainfracloud.org/coprs/gloriouseggroll/amdgpu-vulkan-switcher/
-
Run the program with
cl_pro {THE_PROGRAM}