Skip to content

Commit

Permalink
PPSSPP: latest release 1.16.6 build from source
Browse files Browse the repository at this point in the history
also add auto-updater

work towards #2160
  • Loading branch information
theofficialgman committed Jan 8, 2024
1 parent b7286f6 commit d72adb3
Show file tree
Hide file tree
Showing 7 changed files with 53 additions and 42 deletions.
6 changes: 6 additions & 0 deletions .github/workflows/updates/PPSSPP (PSP emulator).sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash

webVer=$(get_release_raw hrydgard/ppsspp)
all_url="https://github.com/hrydgard/ppsspp/tree/$webVer"

source $GITHUB_WORKSPACE/.github/workflows/update_github_script.sh
2 changes: 1 addition & 1 deletion apps/PPSSPP (PSP emulator)/credits
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Added to pi-apps by @ryanfortner (Github)
theofficialgman
4 changes: 2 additions & 2 deletions apps/PPSSPP (PSP emulator)/description
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
A PSP emulator that can run PSP games in full HD and can upscale textures also.

To run: Menu > Games > PPSSPP
To run in a terminal: ~/ppsspp/PPSSPPSDL
To run: Menu > Games > PPSSPPSDL
To run in a terminal: PPSSPPSDL
40 changes: 40 additions & 0 deletions apps/PPSSPP (PSP emulator)/install
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#!/bin/bash

version=v1.16.6

# remove deprecated files
rm -f ~/.local/share/applications/ppsspp.desktop ~/ppsspp

cd /tmp || error "Could not move to /tmp folder"
install_packages build-essential cmake libgl1-mesa-dev libglew-dev libsdl2-dev libsdl2-ttf-dev libvulkan-dev libfontconfig1-dev libcurl4-openssl-dev || exit 1
rm -rf ppsspp
git clone https://github.com/hrydgard/ppsspp.git --recurse-submodules --shallow-submodules --depth=1 -b "$version" || error "Failed to clone the repo"
cd ppsspp || error "Could not move to ppsspp folder"
mkdir build || error "Could not make build folder"
cd build || error "Could not move to build folder"
# vulkan does not work for some systems in SDL backend on Linux https://github.com/hrydgard/ppsspp/pull/13054
# vulkan does not work at all in QT backend on Linux https://github.com/hrydgard/ppsspp/issues/11628
# QT backend does not work with wayland https://github.com/hrydgard/ppsspp/issues/16254
# GL cannot be used on QT backend on ARM32 due to QT5 being built with GLES and not GL on ARM32
# SDL is not guaranteed to have Wayland support builtin, so check for the headers before enabling it
# changing to vulkan in the UI does nothing and OpenGL continues to be used
# enabling it causes no compilation issues and it can not be fully disabled (always shows in the UI) so keep it enabled
# disable system FFMPEG as recommended by upstream (can be incompatible with some custom HW decoders and newew FFMPEG versions)
# bundled FFMPEG requires minimum GLIBC 2.28 and is available for armv7l and armv8
# architecture detection when kernel architecture does not match the userspace architecture is broken https://github.com/hrydgard/ppsspp/issues/18673
if [ $arch == 32 ] && grep -q '\-lwayland' /usr/lib/arm-linux-gnueabihf/pkgconfig/sdl2.pc ;then
cmake .. -DUSING_QT_UI=OFF -DUSE_SYSTEM_FFMPEG=OFF -DUSING_GLES2=ON -DUSING_EGL=ON -DUSE_WAYLAND_WSI=ON -DFORCED_CPU=armv7l || error "cmake failed to configure the build"
elif [ $arch == 32 ];then
cmake .. -DUSING_QT_UI=OFF -DUSE_SYSTEM_FFMPEG=OFF -DUSING_GLES2=ON -DUSING_EGL=ON -DFORCED_CPU=armv7l || error "cmake failed to configure the build"
elif [ $arch == 64 ] && grep -q '\-lwayland' /usr/lib/aarch64-linux-gnu/pkgconfig/sdl2.pc ;then
cmake .. -DUSING_QT_UI=OFF -DUSE_SYSTEM_FFMPEG=OFF -DUSE_WAYLAND_WSI=ON || error "cmake failed to configure the build"
elif [ $arch == 64 ]; then
cmake .. -DUSING_QT_UI=OFF -DUSE_SYSTEM_FFMPEG=OFF -DUSE_WAYLAND_WSI=OFF || error "cmake failed to configure the build"
else
error "Failed to detect OS CPU architecture! Something is very wrong."
fi
make -j$(nproc) || error "Could not build ppsspp"
sudo make install || error "Could not install ppsspp"
# update timestamp of top level icon directory to signal icon cache to be refreshed
sudo touch /usr/local/share/icons/hicolor
rm -rf /tmp/ppsspp
19 changes: 0 additions & 19 deletions apps/PPSSPP (PSP emulator)/install-32

This file was deleted.

18 changes: 0 additions & 18 deletions apps/PPSSPP (PSP emulator)/install-64

This file was deleted.

6 changes: 4 additions & 2 deletions apps/PPSSPP (PSP emulator)/uninstall
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#!/bin/bash

purge_packages || exit 1
rm -f ~/.local/share/applications/ppsspp.desktop || error "Failed to remove desktop entry!"

rm -rf ~/ppsspp || error "Failed to remove install directory!"
# remove deprecated files
rm -f ~/.local/share/applications/ppsspp.desktop ~/ppsspp

sudo rm -rf /usr/local/share/icons/hicolor/*/apps/ppsspp* /usr/local/share/mime/packages/ppsspp.xml /usr/local/share/applications/PPSSPPQt.desktop /usr/local/share/applications/PPSSPPSDL.desktop /usr/local/share/ppsspp /usr/local/bin/PPSSPPQt /usr/local/bin/PPSSPPSDL

0 comments on commit d72adb3

Please sign in to comment.