$ cat flatpaks.txt
NOTE: you need to match up the runtime with the application, we'll use fs-uae as an example here
application version runtime vkBasalt Branch
net.fsuae.FS-UAE 3.1.66 org.kde.Platform/x86_64/5.15-24.08 24.08
org.zdoom.GZDoom 4.12.2 org.freedesktop.Platform/x86_64/24.08 24.08
re.chiaki.Chiaki 2.2.0 org.freedesktop.Platform/x86_64/23.08 23.08
com.blitterstudio.amiberry v6.3.4 org.freedesktop.Platform/x86_64/23.08 23.08
com.carpeludum.KegaFusion 3.63x org.freedesktop.Platform/x86_64/23.08 23.08
com.dosbox_x.DOSBox-X 2024.07.01 org.freedesktop.Platform/x86_64/23.08 23.08
com.epicgames.ut2004 3369.2 org.freedesktop.Platform/x86_64/24.08 24.08
com.epicgames.ut99 469d org.freedesktop.Platform/x86_64/24.08 24.08
com.etlegacy.ETLegacy 2.82.1 org.freedesktop.Platform/x86_64/24.08 24.08
com.valvesoftware.SteamLink 1.3.9.258 org.freedesktop.Platform/x86_64/23.08 23.08
net.sf.VICE 3.8 org.freedesktop.Platform/x86_64/23.08 23.08
org.speed_dreams.SpeedDreams 2.3.0 org.freedesktop.Platform/x86_64/21.08 21.08
net.pcsx2.PCSX2 v2.1.71 org.kde.Platform/x86_64/6.7 23.08
org.flycast.Flycast v2.3.2 org.freedesktop.Platform/x86_64/23.08 23.08
org.duckstation.DuckStation 0.1-7371-gb2577ef8b org.kde.Platform/x86_64/6.7 23.08
installation
usual flatpak installation for application and required runtime e.g
install application flatpak
flatpak install net.fsuae.FS-UAE//3.1.66
check the runtime branch used by the application flatpak (e.g. 24.08)
flatpak info --show-runtime net.fsuae.FS-UAE
org.kde.Platform/x86_64/5.15-24.08
check if the runtime metadata supports vulkan
flatpak info --show-metadata org.kde.Platform/x86_64/5.15-24.08 | grep -A1 Vulkan
[Extension org.freedesktop.Platform.VulkanLayer]
version=24.08
install the matching vkbasalt runtime
flatpak install org.freedesktop.Platform.VulkanLayer.vkBasalt//24.08
confirm the runtime now sees the vkbasalt extension
flatpak info --show-extensions org.kde.Platform/x86_64/5.15-24.08 | grep vkBasalt
Extension: runtime/org.freedesktop.Platform.VulkanLayer.vkBasalt/x86_64/24.08
setup
provide the VKBASALT=1 env var to the application flatpak, i do this with
overrides file
$ cat $HOME/.local/share/flatpak/overrides/net.fsuae.FS-UAE
[Environment]
ENABLE_VKBASALT=1
vkbasalt
create a vkBasalt.conf for your shader and place it in the required location
for the flatpak, yes you'll probably need to manage multiple which is annoying
per application
$HOME/.var/app/net.fsuae.FS-UAE/config/vkBasalt/vkBasalt.conf
global for system installation
/var/lib/flatpak/runtime/org.freedesktop.Platform.VulkanLayer.vkBasalt//[runtime-version]/active/files/etc/vkBasalt/vkBasalt.conf
global for user installation
$HOME/.local/share/flatpak/runtime/org.freedesktop.Platform.VulkanLayer.vkBasalt/[runtime-version]/active/files/etc/vkBasalt/vkBasalt.conf
opengl flatpaks
have opengl applications use the zink renderer through env vars so it runs on
a vulkan layer then you can use shaders with opengl applications, these are
the same env vars zinkrun sets. Retain the VKBASALT=1 env var. again i do this
with an overrides file
$ cat $HOME/.local/share/flatpak/overrides/net.fsuae.FS-UAE
[Environment]
ENABLE_VKBASALT=1
__GLX_VENDOR_LIBRARY_NAME=mesa
MESA_LOADER_DRIVER_OVERRIDE=zink
GALLIUM_DRIVER=zink
LIBGL_KOPPER_DRI2=1
shaders
provide an override for the path that contains your shaders so your flatpak can access them
$ cat ~/.local/share/flatpak/overrides/net.fsuae.FS-UAE
[Context]
filesystems=/opt/reshade-shaders;