For a few days I tried to create a org.freedesktop.Platform.GL.amdvlk package but I didn't get it work due to my lack of Flatpak Runtime knowledge and the few documentation about GL extensions.
I was starting to give up using AMDVLK in Flatpak when I think about, can I inject AMDVLK in the default Mesa driver org.freedesktop.Platform.GL.default? I tried and it works.
Here is the "hack" I did to make it work.
Download the latest Debian/Ubuntu release from https://github.com/GPUOpen-Drivers/AMDVLK/releases/latest
Currently it's amdvlk_2025.Q1.3_amd64.deb, open it with an archive manager and open the data.tar.gz archive.
Open the folder ~/.local/share/flatpak/runtime/org.freedesktop.Platform.GL.default/ (this is the default "user" location, it is an another place for "system" Runtime).
Go in the following subfolder x86_64/24.08/active/files/ (24.08 is the current runtime-version used by Steam).
In this subfolder, put the AMDVLK files from the archive like this:
.
├── bin
├── glvnd
├── lib
│ ├── amdvlk64.so
│ └── vulkan
│ └── icd.d
│ └── amd_icd64.json
├── OpenCL
├── share
├── vdpau
└── vulkan
Edit the amd_icd64.json and update paths like in the other JSON files. It should be updated from /usr/lib/x86_64-linux-gnu/amdvlk64.so to /usr/lib/x86_64-linux-gnu/GL/default/lib/amdvlk64.so.
In my case I used mesa-git (https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/wikis/Mesa-git) installed in ~/.local/share/flatpak/runtime/org.freedesktop.Platform.GL.mesa-git/ because my GPU is not supported yet. In that case the path is /usr/lib/x86_64-linux-gnu/GL/mesa-git/lib/amdvlk64.so.
Then you can now launch Steam and AMDVLK should be used.
You can activate the vulkan_driver flag in your MangoHud config to see if it's loaded correctly.
![]() |
![]() |
|---|---|
| RADV (Mesa) | AMDVLK |
- It seems the environment variable
AMD_VULKAN_ICDis not working in the Flatpak environment, AMDVLK is always loading,AMD_VULKAN_ICD=RADVis not taken ito account. As a workaround:- To ensure AMDVLK is loaded, you can rename
radeon_icd.x86_64.jsontoradeon_icd.x86_64.json_ - To ensure RADV is loaded, you can rename
amd_icd64.jsontoamd_icd64.json_
- To ensure AMDVLK is loaded, you can rename
- In Steam, this may work:
VK_ICD_FILENAMES="insert you path to amd_icd64.json" %command%
- If AMDVLK is not used, try to rename
radeon_icd.x86_64.jsontoradeon_icd.x86_64.json_or move it to another folder. - If your GL runtime is a complete mess, you can
flatpak removeit andflatpak installagain.
Remove AMDVLK files or just rename amd_icd64.json to amd_icd64.json_ to disable AMDVLK.


There is an easier, less invasive solution:
/bin,/usrand/lib).amd_icd64.jsonVK_ICD_FILENAMES=/path/to/amdvlk/amd_icd64.jsonThis way you don't need to corrupt local packages to make this hack work.
It also works with mesa ZINK