- For the hardware renderers, a GPU capable of OpenGL 3.0/OpenGL ES 3.0/Direct3D 11 Feature Level 10.0 and above. So, basically anything made in the last 10 years or so.
- SDL-compatible game controller (e.g. XB360/XBOne)
Prebuilt binaries of DuckStation for 64-bit Windows are available via AppVeyor CI. To download:
- Go to https://ci.appveyor.com/project/stenzek/duckstation
- Click on the "Artifacts" Tab.
- Download the "duckstation-win64-release.7z" artifact. This is a 7-Zip archive containing the prebuilt binary.
- Extract the archive **to a subdirectory**. The archive has no root subdirectory, so extracting to the current directory will drop a bunch of files in your download directory if you do not extract to a subdirectory.
Once downloaded and extracted, you can launch the Qt frontend from `duckstation-qt-x64-ReleaseLTCG.exe`, or the SDL frontend from `duckstation-sdl-x64-ReleaseLTCG.exe`.
2. Select a game from the list, or open a disc image file and enjoy.
PlayStation game discs do not contain title information. For game titles, we use the redump.org database cross-referenced with the game's executable code.
This database can be manually downloaded and added as `cache/redump.dat`, or automatically downloaded by going into the `Game List Settings` in the Qt Frontend,
1. Clone the repository. Submodules aren't necessary, there is only one and it is only used for Windows.
2. Create a build directory, either in-tree or elsewhere.
3. Run cmake to configure the build system. Assuming a build subdirectory of `build-release`, `cd build-release && cmake -DCMAKE_BUILD_TYPE=Release -GNinja ..`.
4. Compile the source code. For the example above, run `ninja`.
So, if you were using Linux, you would place your BIOS images in `~/.local/share/duckstation/bios`. This directory will be created upon running DuckStation
for the first time.
If you wish to use a "portable" build, where the user directory is the same as where the executable is located, create an empty file named `portable.txt`
in the same directory as the DuckStation executable.
Your keyboard can be used to simulate the PS Controller. To bind keys to buttons, go to `Settings` -> `Port Settings`. Each of the buttons will be listed,
along with the corresponding key it is bound to. To rebind the button to a new key, click the button next to button name, and press the key you want to use
within 5 seconds.
**Controllers are not currently supported in the Qt frontend. Support for controllers and custom bindings will be coming soon.**
**Currently, it is only possible to bind one input to each controller button/axis. Multiple bindings per button are planned for the future.**
## Default keyboard bindings for SDL frontend
Keyboard bindings in the SDL frontend are currently not customizable. For reference:
"PlayStation" and "PSX" are registered trademarks of Sony Interactive Entertainment Europe Limited. This project is not affiliated in any way with Sony Interactive Entertainment.