Update README.md with new CI instructions

This commit is contained in:
Connor McLaughlin 2020-02-15 21:52:05 +09:00
parent 1ccc26804d
commit 2e629a2e7d

View file

@ -10,7 +10,7 @@
- "Fast boot" for skipping BIOS splash/intro - "Fast boot" for skipping BIOS splash/intro
- Save state support - Save state support
- Windows and Linux support - macOS may work, but not actively maintained - Windows and Linux support - macOS may work, but not actively maintained
- Supports bin/cue images, raw bin/img files, and MAME CMD formats. - Supports bin/cue images, raw bin/img files, and MAME CHD formats.
- Direct booting of homebrew executables - Direct booting of homebrew executables
- Digital and analog controllers for input (rumble is forwarded to host) - Digital and analog controllers for input (rumble is forwarded to host)
- Qt and SDL frontends for desktop - Qt and SDL frontends for desktop
@ -23,13 +23,13 @@
- SDL-compatible game controller (e.g. XB360/XBOne) - SDL-compatible game controller (e.g. XB360/XBOne)
## Downloading and running ## Downloading and running
Prebuilt binaries of DuckStation for 64-bit Windows are available via GitHub Actions CI. To download: Prebuilt binaries of DuckStation for 64-bit Windows are available via AppVeyor CI. To download:
- Press the tick or cross next to the commit, shown under the "Clone or download" button - Go to https://ci.appveyor.com/project/stenzek/duckstation
- Find "Windows Build" and click "details". - Click on the "Artifacts" Tab.
- Find the "Artifacts (1)" button in the top-right corner of the page, under "Fork". - Download the "duckstation-win64-release.7z" artifact. This is a 7-Zip archive containing the prebuilt binary.
- Download the `duckstation-windows-x64-release` artifact. This is a zip file 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-x64-ReleaseLTCG.exe`. 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`.
To set up: To set up:
1. Either configure the path to a BIOS image in the settings, or copy one or more PlayStation BIOS images to the bios/ subdirectory. 1. Either configure the path to a BIOS image in the settings, or copy one or more PlayStation BIOS images to the bios/ subdirectory.
2. If using the SDL frontend, add the directories containing your disc images by clicking `Settings->Add Game Directory`. 2. If using the SDL frontend, add the directories containing your disc images by clicking `Settings->Add Game Directory`.
@ -49,21 +49,25 @@ Requirements:
2. Open the Visual Studio solution `duckstation.sln` in the root, or "Open Folder" for cmake build. 2. Open the Visual Studio solution `duckstation.sln` in the root, or "Open Folder" for cmake build.
3. Build solution. 3. Build solution.
4. Binaries are located in `bin/x64`. 4. Binaries are located in `bin/x64`.
5. Run `duckstation-x64-Release.exe` or whichever config you used. 5. Run `duckstation-sdl-x64-Release.exe`/`duckstation-qt-x64-Release.exe` or whichever config you used.
### Linux ### Linux
Requirements: Requirements (Debian/Ubuntu package names):
- CMake - CMake (`cmake`)
- SDL2 - SDL2 (`libsdl2-dev`)
- GTK2.0 for file selector (`libgtk2.0-dev`)
- Qt 5 (`qtbase5-dev`, `qtbase5-dev-tools`)
- Optional for faster building: Ninja (`ninja-build`)
1. Clone the repository. Submodules aren't necessary, there is only one and it is only used for Windows. 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. 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 ..`. 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`. 4. Compile the source code. For the example above, run `ninja`.
5. Run the binary, located in the build directory under `src/duckstation/duckstation`. 5. Run the binary, located in the build directory under `src/duckstation-sdl/duckstation-sdl`, or `src/duckstation-qt/duckstation-qt`.
### Android ### Android
**NOTE:** The Android frontend is still incomplete, not all functionality works and some paths are hard-coded. **NOTE:** The Android frontend is still incomplete, not all functionality works and some paths are hard-coded.
**The Android app is currently broken and fixing it is not a priority. However, this will change in the future.**
Requirements: Requirements:
- Android Studio with the NDK and CMake installed - Android Studio with the NDK and CMake installed
@ -73,8 +77,17 @@ Requirements:
3. Select Build -> Build Bundle(s) / APKs(s) -> Build APK(s). 3. Select Build -> Build Bundle(s) / APKs(s) -> Build APK(s).
4. Install APK on device, or use Run menu for attached device. 4. Install APK on device, or use Run menu for attached device.
## Default keyboard bindings ## Bindings for Qt frontend
Keyboard bindings are currently not customizable. For reference: 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:
- **D-Pad:** W/A/S/D or Up/Left/Down/Right - **D-Pad:** W/A/S/D or Up/Left/Down/Right
- **Triangle/Square/Circle/Cross:** I/J/L/K or Numpad8/Numpad4/Numpad6/Numpad2 - **Triangle/Square/Circle/Cross:** I/J/L/K or Numpad8/Numpad4/Numpad6/Numpad2
- **L1/R1:** Q/E - **L1/R1:** Q/E
@ -85,7 +98,7 @@ Keyboard bindings are currently not customizable. For reference:
Gamepads are automatically detected and supported. Tested with an Xbox One controller. Gamepads are automatically detected and supported. Tested with an Xbox One controller.
To access the menus with the controller, press the right stick down and use the D-Pad to navigate, A to select. To access the menus with the controller, press the right stick down and use the D-Pad to navigate, A to select.
## Useful hotkeys ## Useful hotkeys for SDL frontend
- **F1-F8:** Quick load/save (hold shift to save) - **F1-F8:** Quick load/save (hold shift to save)
- **F11:** Toggle fullscreen - **F11:** Toggle fullscreen
- **Tab:** Temporarily disable speed limiter - **Tab:** Temporarily disable speed limiter