Setup guide · Windows
How to use AnyPS5 on Windows
Convert a PS5 executable into a Windows program with the official relinker, set up the folder it runs from, and get past the most common errors. 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.exe(the converter) andprx-windows-v0.1.1.zip(the system libraries). Then open PowerShell in your download folder and check both hashes against our download page:PowerShell Get-FileHash .\relinker-v0.1.1.exe -Algorithm SHA256 Get-FileHash .\prx-windows-v0.1.1.zip -Algorithm SHA256 -
Create a working folder
Make a folder such as
C:\anyps5, move both downloads into it, and create asourcefolder for the game's executable and modules:Folder layout before conversion C:\anyps5\ ├── relinker-v0.1.1.exe ├── prx-windows-v0.1.1.zip └── 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, so use one of those names. Files still inside a SELF container are rejected: the relinker only accepts plain ELF files. -
Convert the executable
Open PowerShell in
C:\anyps5, create an output folder and run the relinker:AMD processor mkdir game .\relinker-v0.1.1.exe --windows source\eboot.elf game\app.exeIntel processor mkdir game .\relinker-v0.1.1.exe --windows --to-intel source\eboot.elf game\app.exeDo not leave out
--windows: without it the result is a Linux program even if you name itapp.exe, and v0.1.1 only prints a warning about it.--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 and prints each one as a
Guest module:line. They are written undergame\app0\; keep them where they are. Exit code 0 means success, 1 means invalid arguments, and 2 means the conversion failed; the reason is printed afterFAIL:. -
Add the AnyPS5 system libraries
Extract the library archive into the output folder so that a
libsfolder appears next toapp.exe:PowerShell Expand-Archive .\prx-windows-v0.1.1.zip -DestinationPath gamegame\libsshould now contain the AnyPS5.prxlibraries pluslibgcc_s_seh-1.dll,libstdc++-6.dllandlibwinpthread-1.dll. Only AnyPS5's libraries belong inlibs, never the game's original modules. -
Add the game's data
Copy the game's data files into
game\app0\, next to the convertedsce_modulefolder. The finished folder looks like this:Runtime folder C:\anyps5\game\ ├── app.exe ├── libs\ <- from prx-windows-v0.1.1.zip: *.prx and 3 MinGW DLLs └── app0\ ├── sce_module\ <- converted modules ("Guest module:" lines) └── ... <- the game's data files -
Run it
PowerShell cd game .\app.exeKeep the console open. When 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; check the games list to see how far yours has been reported to get.
Controls
Xbox-style and PlayStation controllers recognised by SDL work automatically. For keyboard and mouse, the built-in
bindings apply until you create anyps5-input.ini next to app.exe. See the
controls section for the file format.
Troubleshooting on Windows
Error 193: "not a valid Win32 application"
Windows tried to load something that is not a Windows program or library. Usually an original PS5 module ended
up in libs: remove it, because libs is only for AnyPS5's own libraries. The same error
appears when the game was converted without --windows; convert it again with the option.
Error 126: "the specified module could not be found"
A library in libs is missing one of its own dependencies. Extract the whole archive so that the three
MinGW DLLs sit in libs. AnyPS5 does not look for them on the system PATH, so copies
elsewhere do not help.
"create direct memory backing of … bytes"
On Windows, the direct memory a game allocates (up to 13,824 MiB per title) is committed in full immediately. If installed RAM plus the page file cannot cover it on top of everything else that is running, the allocation fails. Enlarge the page file or close other applications.
A crash while Vulkan devices are listed
The "OpenCL, OpenGL, and Vulkan Compatibility Pack" can install Mesa Dozen, and some drivers crash while it is being enumerated. If your PC has another Vulkan driver, disable Dozen for the current PowerShell session before starting the game. Do not do this if Dozen is your only Vulkan driver.
$env:VK_LOADER_DRIVERS_DISABLE = '*dzn*'
.\app.exe The wrong graphics card is used
Current builds run on the first suitable Vulkan device and prefer a dedicated card. The project's documentation
for the main branch adds ANYPS5_GPU to pick another one by part of its name; the names are printed at
start-up. This variable may not exist in v0.1.1.
$env:ANYPS5_GPU = 'RTX'
.\app.exe The game stops with an error about a function
That function is not implemented in AnyPS5 yet, and there is nothing to fix on your side. 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.
Sources: USAGE.md, INPUT_MAPPING.md, v0.1.1 argument parser and the release files.