Setup guide · Linux
How to use AnyPS5 on Linux
Linux is AnyPS5's default output format. Convert a PS5 executable into a native ELF program, set up the folder it runs from, and fix the permission most setups trip over. Every step follows the project's own documentation.
Step by step
-
Download and verify the official files
From the v0.1.1 release on GitHub, download
relinker-v0.1.1(the converter) andprx-linux-v0.1.1.tar.gz(the system libraries; the.ziphas the same content). Check both against our download page and make the relinker executable:Terminal sha256sum relinker-v0.1.1 prx-linux-v0.1.1.tar.gz chmod +x relinker-v0.1.1 -
Create a working folder
Folder layout before conversion ~/anyps5/ ├── relinker-v0.1.1 ├── prx-linux-v0.1.1.tar.gz └── source/ ├── eboot.elf <- the game's main executable (plain ELF) └── sce_module/ <- the modules that ship with the game (plain ELF)The executable's file name does not matter. v0.1.1 looks for the bundled modules in a folder named
sce_moduleorsce_modulesnext to the executable. Files still inside a SELF container are rejected: the relinker only accepts plain ELF files. -
Convert the executable
AMD processor cd ~/anyps5 mkdir -p game ./relinker-v0.1.1 source/eboot.elf game/app.elfIntel processor cd ~/anyps5 mkdir -p game ./relinker-v0.1.1 --to-intel source/eboot.elf game/app.elfLinux ELF is the default output, so no extra option is needed.
--to-intelrewrites the AMD-only instructions it finds in the files; it cannot fix code a game generates while running, so some games only work on AMD processors.The relinker also converts the bundled modules, prints each one as a
Guest module:line and writes them undergame/app0/. Exit code 0 means success, 1 invalid arguments, 2 a failed conversion with the reason printed. -
Add the AnyPS5 system libraries
Terminal tar -xzf prx-linux-v0.1.1.tar.gz -C game ls game/libs | headgame/libsnow holds the AnyPS5.prxlibraries. Only AnyPS5's libraries belong there, never the game's original modules. A custom--rpathat conversion time would change this location; the default is$ORIGIN/libs. -
Add the game's data
Copy the game's data files into
game/app0/, next to the convertedsce_modulefolder:Runtime folder ~/anyps5/game/ ├── app.elf ├── libs/ <- from prx-linux-v0.1.1.tar.gz: *.prx └── app0/ ├── sce_module/ <- converted modules ("Guest module:" lines) └── ... <- the game's data files -
Allow GPU memory sharing
With Mesa drivers (not the NVIDIA proprietary driver), AnyPS5 shares memory with the GPU through
/dev/udmabuf, and your user needs read-write access to it. Many distributions create it asroot:kvmwith mode0660:Terminal ls -l /dev/udmabuf sudo usermod -aG kvm "$USER" # log out and back in for the group change to applyWithout access, start-up prints
[gpu] open /dev/udmabuf: Permission deniedand some GPU writes fail withBDA access failed. -
Run it
Terminal cd game chmod +x app.elf ./app.elfWhen a game reaches something AnyPS5 has not implemented yet, it stops and prints an error that names it. That is expected for most games today; the games list shows how far yours has been reported to get.
Controls
Controllers recognised by SDL work automatically, including DualShock 4 and Xbox pads. For keyboard and mouse,
create anyps5-input.ini next to app.elf; see the
controls section for the format.
Troubleshooting on Linux
"Permission denied" for /dev/udmabuf
Your user cannot open the device. Add it to the group that owns /dev/udmabuf and log in again. An ACL
such as setfacl -m u:$USER:rw /dev/udmabuf also works, but only until the next reboot.
The wrong graphics card is used
Current builds take the first suitable Vulkan device and prefer a dedicated card. The documentation for the main
branch adds ANYPS5_GPU to choose another one by part of its name; the names are printed at start-up.
This variable may not exist in v0.1.1.
ANYPS5_GPU=radeon ./app.elf The game stops with an error about a function
That function is not implemented in AnyPS5 yet. Look up the game on our games list, search the issues, and share the exact message in Game bring-up if nobody has reported it.
Not verified yet
The official compatibility notes list this as not verified: Linux with Intel GPUs.
Sources: USAGE.md, COMPATIBILITY.md, v0.1.1 argument parser and the release files.