AnyPS5 Guides
Set up AnyPS5 on Linux
Relink to ELF, keep Linux libraries together and diagnose the Vulkan memory path.
Relink and launch from the runtime folder
Choose the Linux relinker and Linux-native libraries. Linux output is ELF by default. Keep app0/ resources next to the output, put AnyPS5 libraries in libs/, and run from that directory so relative paths resolve consistently. The commands below use example paths, which you must replace with your own.
chmod +x ./relinker-v0.1.1
./relinker-v0.1.1 ./source/input.elf ./runtime/app.elf
cd ./runtime
chmod +x ./app.elf
./app.elfCheck the driver’s memory route
Some Linux driver paths use dma-buf through /dev/udmabuf; NVIDIA uses a different path. A missing device, denied permission or too-small size limit can prevent a run. Identify which path your driver uses and read the current upstream udmabuf instructions before changing system settings.
Shader caches, window visibility, compositor and first-run compilation can change FPS substantially. Report whether the cache was warm, whether the window was visible and how long the sample ran. Keep menu, cutscene and gameplay measurements separate.
Separate launch, device and memory failures
Check the log for the selected Vulkan device before comparing a community benchmark. On a machine with two GPUs, a valid Vulkan device can still be the integrated one. Current main accepts ANYPS5_GPU as a case-insensitive part of the device name and fails with a list of candidates if none match. Use the exact names printed by your build; do not assume this setting exists in an older release.
For dma-buf drivers, a permission error opening /dev/udmabuf can lead to copy-based fallback and later GPU memory failures. First check whether the device exists and whether your session has access; group changes require a new login. A size limit is a separate condition from access permission. Follow the driver-specific upstream instructions and retain the original settings for comparison instead of raising unrelated system limits for every GPU.