From 9da2d92dea136764be0eb3b12f5320bc543e3dc4 Mon Sep 17 00:00:00 2001 From: Albert Liu <45282415+ggrtk@users.noreply.github.com> Date: Tue, 7 Apr 2020 22:26:14 -0700 Subject: [PATCH 1/4] CI: Add Linux AppImage build --- appimage/duckstation-qt.png | Bin 0 -> 2270 bytes appveyor.yml | 22 ++++++++++++++++++---- 2 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 appimage/duckstation-qt.png diff --git a/appimage/duckstation-qt.png b/appimage/duckstation-qt.png new file mode 100644 index 0000000000000000000000000000000000000000..5d26d5106b1fed678c37f3b5299c95931699fccc GIT binary patch literal 2270 zcmV<42qE{0P)9fA_sNn?3e;JjM$)TQEyP35$V30xnRYrV>G| zRQOV;)I|a%YCsiDs3JveBSk`$q9!E^AR+}-Ril*96rzUI;D8+ZO{D!gUUwV>#-HLMlMHM%L|Ou}mboar zj^Kxhp_>R^7OVI$?eC6}i=E#h*ag_qh}NL6L#*U#hIWr2C4tyKc~5cjGe9+XeFi7b zh~@Z`2c<+%&lV)Rfl`w;M3B5gm{-I)eCAD$BPD^rHaaX-*lfk*Ba`H8_)xJ^$ZWBM z<`Lshu?)!@2$pARL;_wUuhPLDv5A=3AEgXpr%te|9@o7Zq#nhG${T^8~* z11xxA(UW8Vq9kNsQB;$ zAxh~&nqiyT1A-;%hgW2Ng0jR*h!cQQQK3MEwtBEQpzM2~<(T<&5>y81M`I8d z7Qg~#lXXfDh`sy>*kDz-ou>f`I!=ZN)5icFB+g;kd<`rDB0*^W6uQ2|-1I3#kp$=@ zhrvW~%Qa{CxC9a;ju2v=%fl2<0LEqfsY~uCKv+70R9lTTx%5p zkirA<0v36a?O16*@B$|1CD{wZ(4)|L5?X6O_X8amuWtw3>JS__ky!v45(pmW00Cab zj|)GfeUeI!U5R_b2q7QDys54D(=nChzjJcr>%!~_*cu4lJw#scE&*cbL?PufW?6YG zCOgDr55`5r|R@vJl+>KhV5DqsbvuLxy@EuA)5luF+u6QN>0yZ2PO)#abx+2)Zqfv}QY?pXKcewEw%&YVxF77{hl^V> zo_Z|8Y)6>Te}J=q7x1Ng1buA8&vp46&l%b`9sz&?3k0I1+-3B3p!Nb4mH4bZxCoBE z^H`uYbiaIm5We{q3LP-tI?gQG2{Dy^rnA84wdp`{8&uh`@OL9w1zU0tiR3;3kNNT@0{L?BrNF^_k2m0EHT~nm#iag}Rt{-ZwzWGQ53{ zv#Q`*UXuq((v(ds#JI)98a1)1z zB9N}QJ%C)&A1-DIV*>FLiL?z{fd$m@+#q1g#?c58ov+4~N&!Ox;$8Nl^BqWidaRJT z;~YUA<3-s81S>@qzaK|aN~Atk+0PBJm-XnZ1LM%jSB*Q)5zVQ04)>63Wf9*Mi#VN$ z!A74+3$dRXB#VF@aR1Ish<3;f{?b#B@>XOgjtMs*A*Jx;lLKP_lP=JnLA3AfI4&y_o zTDLjobd|YcXeu@qsWRtsG_p2B-gG_ zcBrUBLGGTq!r9JQ1kbgiwRb`|1kfP_ziPU5bLr2wY^j?VvqzEj&EkcsDoeE3_gPV2 z^J;%MMt|8%iaKx88H(XwyX9!xiuIefZrYUb1-4mC)YT}p8x~i(f^8?{Kz~JlBo>uZ sDtD~@=wke#5dQkMeu}1AwE-18qhbwg3PC07*qoM6N<$f`xuE- 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=OFF -DBUILD_QT_FRONTEND=ON -DUSE_SDL2=ON -G 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 + + ./linuxdeploy-x86_64.AppImage --appdir=./AppDir --executable=./src/duckstation-qt/duckstation-qt --create-desktop-file --icon-file=../appimage/duckstation-qt.png --plugin=qt --output=appimage + + 7za a -r duckstation-linux-x64-release.7z duckstation-qt*.AppImage + + appveyor PushArtifact duckstation-linux-x64-release.7z + elif [ "$APPVEYOR_BUILD_WORKER_IMAGE" == "macOS" ]; then mkdir build-release From 414d050cf6f6e6afc3e713cf817ecee204f70122 Mon Sep 17 00:00:00 2001 From: Albert Liu <45282415+ggrtk@users.noreply.github.com> Date: Wed, 8 Apr 2020 00:28:32 -0700 Subject: [PATCH 2/4] CI: Fix qmake not finding qt5 in Ubuntu1804 image --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 066674dbc..b72967421 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -19,7 +19,7 @@ install: 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 From 76419de39ac1a4649003911679ced96945f3f113 Mon Sep 17 00:00:00 2001 From: Albert Liu <45282415+ggrtk@users.noreply.github.com> Date: Wed, 8 Apr 2020 10:28:45 -0700 Subject: [PATCH 3/4] CI: Generate AppImage for SDL frontend build --- .../{duckstation-qt.png => duckstation-icon.png} | Bin appveyor.yml | 12 +++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) rename appimage/{duckstation-qt.png => duckstation-icon.png} (100%) diff --git a/appimage/duckstation-qt.png b/appimage/duckstation-icon.png similarity index 100% rename from appimage/duckstation-qt.png rename to appimage/duckstation-icon.png diff --git a/appveyor.yml b/appveyor.yml index b72967421..31f169005 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -50,7 +50,7 @@ build_script: cd build-release - cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SDL_FRONTEND=OFF -DBUILD_QT_FRONTEND=ON -DUSE_SDL2=ON -G Ninja .. + cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SDL_FRONTEND=ON -DBUILD_QT_FRONTEND=ON -DUSE_SDL2=ON -G Ninja .. ninja @@ -62,9 +62,15 @@ build_script: chmod +x linuxdeploy-plugin-qt-x86_64.AppImage - ./linuxdeploy-x86_64.AppImage --appdir=./AppDir --executable=./src/duckstation-qt/duckstation-qt --create-desktop-file --icon-file=../appimage/duckstation-qt.png --plugin=qt --output=appimage + cp ../appimage/duckstation-icon.png ../appimage/duckstation-qt.png - 7za a -r duckstation-linux-x64-release.7z duckstation-qt*.AppImage + 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 From c25591d84b6d18fa1f9b6142b1738ae982f8a424 Mon Sep 17 00:00:00 2001 From: Albert Liu <45282415+ggrtk@users.noreply.github.com> Date: Wed, 8 Apr 2020 11:41:31 -0700 Subject: [PATCH 4/4] Update README.md with AppImage info --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 711bd2870..d7c19ae67 100644 --- a/README.md +++ b/README.md @@ -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. 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. 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`. @@ -135,7 +137,7 @@ in the same directory as the DuckStation executable. ## 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 -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. **Currently, it is only possible to bind one input to each controller button/axis. Multiple bindings per button are planned for the future.**