Commit graph

82 commits

Author SHA1 Message Date
Jools Wills
90a022b332 ppsspp/lr-ppsspp - fix building on arm userland with aarch64 kernel
Force --arch=arm on arm platforms to fix building on 32bit arm userland with aarch64 kernel

Set cmake FORCED_CPU=armv7 on armv8
2024-11-17 23:38:51 +00:00
Jools Wills
4870ea2aa5 lr-ppsspp - split out lr-ppsspp specific patches
This fixes binary builds not triggering due to the changes being in ppsspp.
2024-01-12 17:49:24 +00:00
Jools Wills
acece6e057 Apply the ppsspp 1.16.6 gles2 fix to lr-ppsspp
It's required to fix missing defines building for opengles2 (videocore) as with v1.16.6 of ppsspp.

Use the __mod_info array to get the path of the patch, so it works when called from the lr-ppsspp scriptmodule.
2023-12-02 21:55:32 +00:00
cmitu
5a187f2b5a lr-ppsspp: fix libretro runtime missing symbol
Core on v1.13.2 fails to run on Pi4 with the error:

   ...
   [ERROR] Failed to open libretro core: "/opt/retropie/libretrocores/lr-ppsspp/ppsspp_libretro.so"
   Error(s): /opt/retropie/libretrocores/lr-ppsspp/ppsspp_libretro.so: undefined symbol: hostAttemptBlockSize

This was fixed upstream with commits 1cd34f9d2bef6c92ed457c6aa85bf4d9b5111e90 and 7c5d36eca76c905a122c1, which are combined in the .diff file in this commit.
2023-11-27 18:15:14 +00:00
Jools Wills
02319f1c78 ppsspp - only apply gles2 patch on ppsspp v1.16.6
The fix has been included upstream for inclusion in v1.17.0 https://github.com/hrydgard/ppsspp/pull/18433
2023-11-24 17:28:42 +00:00
Jools Wills
7d6fb23ea7 ppsspp - fix building on Raspberry Pi with proprietary drivers
GL_COMPRESSED_RGBA_ASTC_4x4_KHR isn't available in the videocore iv gles2 includes, and documentation suggests this is an opengles 3 extension.

Add ifdefs to not include this if it isn't defined.
2023-11-20 19:20:32 +00:00
cmitu
89259575e6 ppsspp: revert to v1.13.2 for RPI and older Mesa
The 'ubershaders' introduced in v1.14 are not handled efficiently by the Mesa v3d driver, causing a performance regression [1].
Since the slowdown is not present in the Mesa version from Bullseye/Bookworm (which caused in part the version upgrade), install v1.13.2 just on Buster/RPI.

[1] https://github.com/hrydgard/ppsspp/issues/18388
2023-11-06 03:47:10 +00:00
cmitu
5b20070cc4 ppsspp: upgrade to version 1.16.6
Fixes building on Debian 12 Bookworm for the included `ffmpeg` project.

Changes since 13.x:

* ver 1.14.x (full list of changes - https://www.ppsspp.org/news/release-1.14)

    * Graphics fixes in Burnout Dominator, Kurohyou, Ratchet & Clank, Outrun, Ridge Racer, Spongebob: Yellow Avenger, Cars: Race-o-Rama, Hunter x Hunter, many others
    * Performance improvements: Killzone now runs at playable speed, Juiced 2 performance fixed, lighting ubershader optimization
    * Many software renderer improvements, both performance and accuracy.
    * Some input handling fixes, IR interpreter fixes, and so much more.
    * MSAA antialiasing added to the Vulkan backend (desktop only)
    * New API for plugins to access aspect ratio, scaling and fast-forward ([#16441]), other new APIs & improvements
    * UI improvements
       - New interactive Display Layout & Effects screen, replacing the old Display Layout Editor
       - Add default shader for LCD persistence simulation
       - Game being played can now be seen as a background in most menus
       - Reorganize speed hack settings
    * Stability fixes
       - Workaround for hangs on older Adreno GPUs
       - Input handling fixes for deadzones and touch controls
       - Avoid game bugs in Twinbee Portable and Shining Ark
    * Performance improvements
       - Vulkan bandwidth and synchronization optimizations
       - Lighting "ubershader" optimization to prevent hitches
       - Assorted minor other improvements
       - Improve texture replacement memory usage
       - Texture upscaling speedup and fixes

* version 1.15 (full list of changes - https://www.ppsspp.org/news/release-1.15)

     * Tilt controls: Restore "Low end radius" control
     * Improve the workarounds for the DJ Max games
     * OpenGL: Restore most of the lost performance on low-end hardware from the shader variant reduction
     * Add a simple profiling tool to check CPU usage by the GL backend
     * Loader: Fix bug preventing WWE 2009 from starting
     * Control mapping: Fix bugs in mapping UI causing trouble with some controllers
     * Fix for broken tilt d-pad controls
     * Stutter caused by shader compilation has been reduced drastically
     * Rendering performance and fixes
     * Texture replacement improvements
     * Optimizations for Vulkan texture uploads, Software renderer, Lighting shader optimizations.
     * GLSL shader compatibility fixes
     * Rewind savestates no longer slows things down a lot
     * Depth-related rendering fixes
     * UI fixes: Vertical use of space, scrollbars, touchpad scroll on Windows

* version 1.16 (full list of changes - https://www.ppsspp.org/news/release-1.16)

     * RetroAchievements support !
     * Fix performance issue with Vulkan descriptor set allocation
     * Smoother loading of replacement textures
     * Fix problem with waves background
     * Fix for crash when changing render backend in-game
     * Simplify shader cache lookups on Vulkan, hopefully fixing some crashes
     * Other crash and stability fixes
     * Assorted improvements to the IR JITs
     * Fix crash bug and performance issue in Vulkan shader cache
     * Fix for HTTP support on Linux on networks with shaky or incomplete IPv6 support
     * Fix hang when switching UMD with RetroAchievements enabled
     * Input fixes
     * Rendering performance and fixes
     * Texture replacement fixes
     * UI changes
         - Color emoji support on some platforms
         - Use TTF fonts on SDL where available (macOS, Linux/Steam Deck)
         - Allow setting the PSP's MAC address directly
         - Better looking notifications
     * Fix horrible audio glitch in After Burner
     * Fix timing issue causing slowdowns in MLB games
     * Emulate the vrnd instruction accurately
2023-10-19 20:30:23 +01:00
Stefan
2386c4b22a add platform flag "vulkan" 2023-02-12 19:47:07 +01:00
cmitu
4effddc8db ppsspp: update to v1.13.2
Changelog:

* Version 1.13.2
  - Crashfix on Android 12 when playing certain background music ([#15990])
  - Fix Star Ocean battles in D3D backends (#[15889])
  - Minor fixes that might fix some other crashes

* Version 1.13.1
   - Confirmation dialog added before change of MAC address (#15738)
   - IR interpreter regression fixed (#15739)
   - Fix clearing of replacement texture cache (#15740)
   - Improved Portuguese-pt translation (#15734)
   - Fix graphical regression in Split/Second (#15733)
   - Couple of minor crash fixes

* Version 1.13
   - Analog mapping for fast-forward (#15645)
   - Major softgpu accuracy fixes and speedups, including a JIT (#15163, etc.)
   - Fixed some NEON code paths (#15481)
   - Fix performance of texture uploads with Vulkan (#15474)
   - Don't include the large font atlas when we don't need it
   - Improved upscaling shaders (#15566)
   - Vulkan texture upscaling performance improvements (#15238), etc.
   - Vulkan correctness fixes (#15217, #15211), use the VMA allocator (#15162), etc.
   - Fixes to depth culling (#15106), many more
   - Background loading of texture replacement (#15025)
   - Threading manager improvements and fixes (#15470), etc.
   - Added search in settings (#14414)
   - Added fast button repeats on custom touch buttons (#15613)
   - Two new bicubic upscaling shader: Catmull-Rom and Mitchell-Netravali (#15569)
   - Allow to change screen rotation per game and to bind a key to change it (#15494, #15510)
   - Add more workarounds for Mali driver bugs (#15016)
   - Vortex in God of War: Ghost of Sparta can now be passed (#15640)
   - Various proAdhoc fixes (#15213, #15215), and many more
   - Correct flickering text in Sol Trigger and Last Ranker. (#15549)
   - Fix and improve line drawing in Echochrome (#15583), after line refactoring (#15073, #15075)
   - Fix HUD graphics in Split/Second (#15500, #15501)
   - Fix bad screen overlay issues in Clone Wars and Force Unleashed (#15691, #15696, #12949, #9572)
   - Zettai Zetsumei Toshi 3 no longer hangs on character select screen (#15687)
   - Juiced 2: Bloom effect no longer covering the screen (#7295, #15717)
   - Fix keyboard shift issue in a few games (#15698)
   - Color change and basic theme support (#15396, #15394)
   - Fix input focus bug (#15560)
   - New GE debugger features and other UI fixes (#15393, #15324, #15377, #15424, #15402, #15378, #15338), etc.
2022-10-23 05:00:33 +01:00
hissingshark
52a8762677 Fix PPSSPP build. The mali and vero4k flags are not mutually exclusive. 2022-06-24 22:59:26 +01:00
s1eve-mcdichae1
cd2a5edb89 ppsspp/lr-ppsspp: (bug) resolve conflict on removal
Both stand-alone `ppsspp` and the libretro core `lr-ppsspp` share the `$HOME/.config/ppsspp` save file directory.

`moveConfigDir` removes the symlink on removal; this will disconnects the existing saves from the remaining emulator.

ppsspp: Use moveConfigDir only on install.

On removal, do not use the helper function. Remove the symlink manually and only if no remaining PSP emulators.

lr-ppsspp: Libretro core did not link this dir at all, and just used mkUserDir instead. Switch to use moveConfigDir and same fix as above, for libretro core also.
2022-05-23 19:46:43 -07:00
Jools Wills
263544c208 ppsspp / lr-ppsspp - switch to v1.12.3 (last tagged version)
Current master has shader issues on videocore causing a black screen, so switching back to last tagged version - v1.12.3.

Historically we have had to fix up a fair number of ppsspp issues on the RPI due to upstream changes so sticking to a stable release seems like a good idea and allows us to test before we update.

The PPSSPP repository is also quite active and re-building ppsspp/lr-ppsspp binaries for every change takes a lot of time, so this also frees up some cpu time on our build system.
2022-04-05 04:40:34 +01:00
Jools Wills
682c929ae6 ppsspp - Fix linking on rpi1 / armv6
PPSSPP CMakeLists.txt adds -latomic for android targets, but this is also needed on armv6 on RaspberryPi OS Buster.

This commit sets the variable ATOMIC_LIB to "atomic" for videocore / armv6 so that -latomic is added.
2022-03-10 03:34:33 +00:00
cmitu
df13673636 ppsspp: add a workaround for assets folder detection issues 2021-05-27 16:15:48 +01:00
Jools Wills
4c99509c76 Updating modules to use the new rp_module_repo function hooks
ppsspp was incorrectly changed in 23b154b4 as it uses a subfolder which needs to be specified
2021-02-15 23:54:13 +00:00
Jools Wills
b965f21e46 emulators - added rp_module_repo to emulators using git
Also fixed hatari licence link
2021-02-15 23:54:13 +00:00
Jools Wills
2ee308688f ppsspp / ppsspp-1.5.4 - added ppsspp 1.5.4 using parent ppsspp module
Users reported that this version runs faster on videocore on the rpi1/2/3

Adjusted ppsspp sources to allow branch parameter and fixed build subfolder to ppsspp
so that paths are the same for md_ret_files, including adjusting lr-ppsspp in the same way.

Older code builds ok with our current ppsspp module script on rpi1/2/3 + videocore gles2,
but not rpi4, which it isn't needed on anyway. This may need changing if we have to update
ppsspp further in the future.
2020-12-15 03:02:59 +00:00
Jools Wills
102e25a809 ppsspp - fix building on odroid-xu on Ubuntu 18.04
remove CFLAGS/CXXFLAGS default of -DGL_GLEXT_PROTOTYPES as it causes GL header conflicts with ppsspp own headers
2020-10-17 02:45:35 +01:00
Jools Wills
c7fc7ea5c9 ppsspp / lr-ppsspp - fix building on aarch64
* ppsspp includes ffmpeg from aarch64 folder, not arm64
 * enable lr-ppsspp for aarch64
2020-07-30 04:28:30 +01:00
Jools Wills
4e51fa9ff1 ppsspp - use bash [[ ]] rather than [ ] 2020-02-17 05:59:29 +00:00
Jools Wills
920b57c27b ppsspp - fix building on rpi2/3 in chroot
upstream are now doing a check for rpi model based on sysfs file which breaks when building
in a chroot or on other non rpi hardware (but targetting the rpi)
2019-12-26 06:12:18 +00:00
Jools Wills
3bc20a3b54 ppsspp - fix building for rpi1 target on rpi2/3 or chroot
CMakeLists.txt uses CMAKE_SYSTEM_PROCESSOR and adjusts flags based on this
however if building on rpi2/3 or in a chroot with __platform=rpi1 this will
still return armv7l as it uses "uname". This causes armv7/neon code to be included
which causes building to fail. We can override this by setting -DFORCED_CPU=armv6
which fixes building for the rpi1
2019-11-10 05:06:12 +00:00
Conn O'Griofa
e04b7bf7c9 ppsspp: buster & fkms support
* Implement fkms support (treated as a generic GLES2 target)
* Update build dependencies to enable additional emulator
  (de)compression features.
2019-07-05 00:44:25 +01:00
Jools Wills
0f50dbf289
Merge pull request #2423 from psyke83/ppsspp_update
ppsspp & lr-ppsspp updates
2019-03-27 01:44:37 +00:00
Jools Wills
f22f92d13e helpers / downloadAndExtract - allow additional parameters for both tar and unzip
* change existing calls which used --strip-components
 * use multiple parameters for arguments which should allow additional arguments with spaces
 * implements #2630
2019-02-27 06:36:28 +00:00
Conn O'Griofa
164ff8e3a2 lr-ppsspp: switch to upstream & consolidate scriptmodules 2019-01-25 13:21:55 +00:00
Conn O'Griofa
d8a4b49251 ppsspp: update RPi version and consolidate tinker changes
Changes for all builds:
* Use the master branch (v1.6.3 is missing important EGL fixes)
* Disable Vulkan on non-X11 ARM targets to prevent build error
* Default to fullscreen on non-X11 targets
2019-01-25 13:21:55 +00:00
Jools Wills
99b394a44b no longer need to make ~/.cache ~/.config ~/.local ~/.local/share folders in modules
* also remove symlinks from .cache as no need to move this to config area on retropie
2018-12-05 20:46:00 +00:00
hissingshark
3e21a64598 Add detection/build params/fixes for Vero4k and let gitPullOrClone wind back to a specific commit 2018-07-19 09:08:19 +01:00
zerojay
be2f0420ae
PPSSPP - Fix typo on fullscreen option for tinker.
Fixes issue #2410.
2018-05-27 11:55:39 -04:00
JyuHo
db893353a5
Update ppsspp.sh
Add support for tinker
2018-05-13 00:42:39 +02:00
Jools Wills
aa73dc8193 ppsspp - fix building on stretch (egl library name fix from psyke83) 2018-01-29 19:18:33 +00:00
Jools Wills
4852d12c8a ppsspp - switch to v1.5.4 until build issues are resolved 2017-12-30 17:35:43 +00:00
Jools Wills
083e32c898 remove newbrcmlibs flag as all binaries that link against the libraries have been rebuilt 2017-11-22 19:23:04 +00:00
Conn O'Griofa
db90463c86 ppsspp: use newbrcmlibs flag 2017-10-17 21:00:55 +00:00
Jools Wills
686d2133db ppsspp - fix cmake extract path after downloadAndExtract changes 2017-08-16 21:57:52 +01:00
Jools Wills
42fd198875 helpers - added downloadAndExtract function for use in modules
* replace many of the existing wget | tar commands with the new function
 * include error logging in the function via runCmd, to trap download/unpacking issues
2017-08-10 20:45:49 +01:00
Jools Wills
7aa68d4e8d ppsspp - fix install due to flash0 folder moving to assets - fixes #1944 2017-04-01 20:01:20 +01:00
Jools Wills
0058686658 ppsspp - no need for sed -e flag 2017-03-18 18:12:34 +00:00
Jools Wills
869edadcc3 ppsspp - remove unneeded aarch64 patch (now upstream). 2017-03-18 18:09:31 +00:00
Jools Wills
11be266953 ppsspp - change way we set our CXXFLAGS to fix building/linking on armv7 2017-03-18 18:08:10 +00:00
Jools Wills
cdc9d5d18c ppsspp - make sure ppsspp uses our CFLAGS/CXXFLAGS / rework cmake parameters 2017-03-12 21:06:53 +00:00
Jools Wills
d7e3b2be7e ppsspp - removed -U__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 from cmake file as we handle this ourselves based on OS 2017-03-12 19:02:21 +00:00
Jools Wills
5926524aff added licences to modules 2017-03-01 13:51:12 +00:00
Jools Wills
1e1f55e68c no need for git submodule handling in modules as gitPullOrClone now does it 2017-02-14 17:09:05 +00:00
Jools Wills
eda4f61136 updated all modules to use addEmulator / addSystem 2016-12-31 02:49:04 +00:00
Jools Wills
0b8d8c7a5f ppsspp - fix/enable for odroid c1/c2 2016-12-22 08:03:16 +00:00
Jools Wills
92e3bdb48c ppsspp / lr-ppsspp changes
* ppsspp - only build cmake if packaged cmake is not new enough - raspbian has a backported cmake 3.6.x now
 * lr-ppsspp - enable on armv6
2016-12-20 02:40:14 +00:00
Jools Wills
2ceeb8acfd ppsspp - one rm is enough 2016-11-13 00:55:01 +00:00