Merge pull request #251 from ggdrt/appimage

Add AppImage build
This commit is contained in:
Connor McLaughlin 2020-04-09 11:27:18 +10:00 committed by GitHub
commit ee5c3cb91b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 6 deletions

View File

@ -49,6 +49,8 @@ To set up:
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`.
2. Select a game from the list, or open a disc image file and enjoy. 2. Select a game from the list, or open a disc image file and enjoy.
Prebuilt AppImage binaries for 64-bit Linux distros are also available via AppVeyor CI, but should not be considered fully supported at the moment. Linux users are encouraged to build from source when possible.
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. 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, 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,
and clicking `Update Redump Database`. and clicking `Update Redump Database`.
@ -135,7 +137,7 @@ in the same directory as the DuckStation executable.
## Bindings for Qt frontend ## Bindings for Qt frontend
Your keyboard and any SDL-compatible game controller can be used to simulate the PS Controller. To bind keys/controllers to buttons, go to Your keyboard and any SDL-compatible game controller can be used to simulate the PS Controller. To bind keys/controllers to buttons, go to
Settings` -> `Port Settings`. Each of the buttons will be listed, along with the corresponding key it is bound to. To re-bind the button to a new key, `Settings -> Port Settings`. Each of the buttons will be listed, along with the corresponding key it is bound to. To re-bind the button to a new key,
click the button next to button name, and press the key/button you want to use within 5 seconds. click the button next to button name, and press the key/button you want to use within 5 seconds.
**Currently, it is only possible to bind one input to each controller button/axis. Multiple bindings per button are planned for the future.** **Currently, it is only possible to bind one input to each controller button/axis. Multiple bindings per button are planned for the future.**

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -5,7 +5,7 @@ branches:
image: image:
- Visual Studio 2019 - Visual Studio 2019
#- Ubuntu1804 - Ubuntu1804
- macOS - macOS
clone_depth: 1 clone_depth: 1
@ -19,7 +19,7 @@ install:
sudo apt-get update sudo apt-get update
sudo apt-get install -y cmake ninja-build ccache libsdl2-dev libgtk2.0-dev qtbase5-dev qtbase5-dev-tools sudo apt-get install -y cmake ninja-build ccache libsdl2-dev libgtk2.0-dev qtbase5-dev qtbase5-dev-tools qt5-default
elif [ "$APPVEYOR_BUILD_WORKER_IMAGE" == "macOS" ]; then elif [ "$APPVEYOR_BUILD_WORKER_IMAGE" == "macOS" ]; then
@ -46,14 +46,34 @@ build_script:
- sh: >- - sh: >-
if [ "$APPVEYOR_BUILD_WORKER_IMAGE" == "Ubuntu1804" ]; then if [ "$APPVEYOR_BUILD_WORKER_IMAGE" == "Ubuntu1804" ]; then
mkdir -p build-debug mkdir -p build-release
cd build-debug cd build-release
cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DBUILD_SDL_FRONTEND=YES -DBUILD_QT_FRONTEND=YES .. cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SDL_FRONTEND=ON -DBUILD_QT_FRONTEND=ON -DUSE_SDL2=ON -G Ninja ..
ninja ninja
wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
wget https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage
chmod +x linuxdeploy-x86_64.AppImage
chmod +x linuxdeploy-plugin-qt-x86_64.AppImage
cp ../appimage/duckstation-icon.png ../appimage/duckstation-qt.png
cp ../appimage/duckstation-icon.png ../appimage/duckstation-sdl.png
./linuxdeploy-x86_64.AppImage --appdir=./AppDir-duckstation-qt --executable=./src/duckstation-qt/duckstation-qt --create-desktop-file --icon-file=../appimage/duckstation-qt.png --plugin=qt --output=appimage
./linuxdeploy-x86_64.AppImage --appdir=./AppDir-duckstation-sdl --executable=./src/duckstation-sdl/duckstation-sdl --create-desktop-file --icon-file=../appimage/duckstation-sdl.png --output=appimage
7za a -r duckstation-linux-x64-release.7z duckstation-*.AppImage
appveyor PushArtifact duckstation-linux-x64-release.7z
elif [ "$APPVEYOR_BUILD_WORKER_IMAGE" == "macOS" ]; then elif [ "$APPVEYOR_BUILD_WORKER_IMAGE" == "macOS" ]; then
mkdir build-release mkdir build-release