Commit graph

962 commits

Author SHA1 Message Date
cmitu
15c136eab4 lr-gpsp: fix installation due to missing file
Removed obsolete installed file, since it was removed upstream.
2023-10-22 07:55:03 +01: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
cmitu
567b609c96 aarch64: add PS1 and SNES emulators to default installation
Included `lr-snes9x` and `lr-pcsx-rearmed` in the main section when `aarch64` is detected, otherwise they won't be installed during a basic installation.
2023-09-09 05:04:17 +01:00
cmitu
525c8905ad lr-x1: switch to the libretro repository
Changed the source repository to the libretro fork of the core, since it gets a bit of maintenance than the original repo ('r-type/xmil-libretro') and I noticed a few more core options have been added over the time. The original core repository hasn't been updated since 2017.

Added the licence from the libretro fork.
2023-05-09 16:34:59 +01:00
Jools Wills
68f09726a2 lr-scummvm - fix building due to upstream changes
libretro build files are now included in the upstream scummvm repository, and the libretro repo is a fork of that.

The `main` branch is now `master` and the libretro makefiles have moved to backends/platform/libretro.

Update the module licence path and install file paths.

fix
2023-05-05 18:25:11 +01:00
Cristi Mitrana
b4851ca194
Revert "lr-caprice32: work around an upstream cloning issue" (#3707) 2023-04-21 15:27:26 +03:00
cmitu
651f9a9c19 lr-caprice32: work around an upstream cloning issue
Upstream uses a shallow submodule, but is tracking a rolling branch that changed since the submodule was added.
Older `git` versions cannot fetch the ref registered in the parent repo and the recursive clone fails.
It affects Debian _buster_ and Ubuntu 18.04, plus other downstream distros (Linux Mint 19.3).

Clone the repo temporarily and remove the submodule, since it's not used actively by the core.
Issue was reporeted upstream in https://github.com/libretro/libretro-cap32/issues/116.
2023-03-30 17:32:03 +01:00
Jools Wills
db1f15c931
Revert "lr-prboom: workaround a recent regression" 2023-03-16 20:12:17 +00:00
Jools Wills
20720f8cc7
Merge pull request #3668 from cmitu/lr-prboom
lr-prboom: workaround a recent regression
2023-03-07 21:41:46 +00:00
Jools Wills
45de13bc12
Merge pull request #3661 from joolswills/gcc_compareversions
Don't use compareVersions for GCC version comparisons
2023-03-07 14:36:09 +00:00
Jools Wills
907b24129e
Merge pull request #3659 from joolswills/lr-dosbox-pure_gcc9
lr-dosbox-pure - install g++ v9 on arm if v10 is the system default
2023-03-07 14:30:14 +00:00
Jools Wills
90d535028b Don't use compareVersions for GCC version comparisons
gcc -dumpversion on GCC >= 7 seems to provide the major version but the documentation suggests this depends on how it's configured.
We only need to test the major version so using compareVersions isn't required.

https://gcc.gnu.org/onlinedocs/gcc/Developer-Options.html states:
>Print the compiler version (for example, 3.0, 6.3.0 or 7)—and don’t do anything else. This is the compiler
>version used in filesystem paths and specs. Depending on how the compiler has been configured it can be
>just a single number (major version), two numbers separated by a dot (major and minor version) or three
>numbers separated by dots (major, minor and patchlevel version).

Ensure __gcc_version only contains the major version just in case in system.sh
2023-03-05 14:09:26 +00:00
Jools Wills
1917b4ebbf lr-dosbox-pure - install g++ v9 on arm if v10 is the system default
This fixes building on Bullseye.

According to https://github.com/libretro/dosbox-pure/commit/603b1c7ae

>Switch to gcc 9 to avoid buggy assembly genetation [sic] of gcc 10
>On armv7l, gcc 10.2 with -O2 on the file core_dynrec.cpp generates assembly that wrongfully passes NULL to the runcode function
>resulting in a segfault crash. It can be observed by writing block->cache.start to stdout twice where it is NULL at first
>and then the actual value thereafter. This affects upstream SVN DOSBox as well as this core.
2023-03-05 13:49:26 +00:00
cmitu
c3d8ac7263 lr-scummvm: M32 emulation build change
Upstream changed the Makefile variable, add it also here.
2023-03-05 07:29:16 +00:00
cmitu
552ad8eeee lr-prboom: workaround a recent regression
Until [1] is resolved - one way or another - use a good known commit to build the PrBoom core.
Upstream core is relatively static, so we're not loosing much for pinning the version.

[1] https://github.com/libretro/libretro-prboom/issues/181
2023-03-05 05:54:29 +00:00
Jools Wills
8fc96a7dbd lr-beetle-pce-fast / lr-beetle-supergrafx - include licence in install 2023-03-01 17:09:38 +00:00
Jools Wills
33e9bed04a lr-beetle-pce - move to optional package section 2023-03-01 12:54:44 +00:00
nemo93
d6a4ac6a64 lr-beetle-pce: add accurate PC Engine/CD/SuperGrafx core 2023-03-01 13:40:47 +01:00
cmitu
6920379331 lr-scummvm: fix interactive prompt from unzip
Modified the `unzip` command for the core system files to overwrite unconditionally the files, otherwise we get a prompt when upgrading.
2023-02-21 17:23:53 +00:00
Stefan
2386c4b22a add platform flag "vulkan" 2023-02-12 19:47:07 +01:00
cmitu
f4edb59359 lr-scummvm: added zip as dependency
Fixes the creation of the `scummvm.zip` bundle file during building.
2023-01-18 05:51:18 +00:00
cmitu
0be2bfd0bf lr-scummvm: update build recipe, upgrade the core to v2.6.1
Recently, upstream re-organized the repository and changed the build process.
This commit adapts the scriptmodule to the new structure:

 - building is done directly from the main repo source
 - data files neeed for the core is built with `make datafiles` and copied to our package
 - ScummVM is upgraded to current stable (v2.6.1) in the process.
   NOTE: WIP engines are not built by default and are not included
 - switched the theme the `scummremastered`, added in 2019 in ScummVM
 - license changed to GPLv3 (same as the main ScummVM project)
2023-01-16 17:41:08 +00:00
Jools Wills
5b2b962fb7 lr-neocd - disable LTO
LTO was recently enabled in the upstream Makefile, but our CFLAGS are not sent to the linking stage which causes issues due to conflicts with our CPU flags

LTO has been problematic in the past so easiest to disable it as before.
2022-12-12 18:46:02 +00:00
notaz
6fd88a441a lr-pcsx-rearmed: trust the project's makefile to detect defaults
The libretro/pcsx_rearmed NEON gpu plugin now can also run on arm64 and x86,
and it's makefile should be able to detect when to enable those things.
Remove the 'else' case and let it do the detection.

libretro/pcsx_rearmed#690
2022-09-18 19:26:36 +03:00
Jools Wills
70d019e49b lr-stella - fix building due to changed src path
src/libretro moved to src/os/libretro
2022-09-18 14:44:50 +01:00
Jools Wills
3bad23dae9
Merge pull request #3572 from cmitu/unmessing
lr-mess: update the binary core target result
2022-08-14 21:21:55 +01:00
cmitu
21d203c3ed lr-mess: update the binary core target result
Recent changes in upstream MAME changed the resulting target filename, consequently the libretro core file needs to be renamed.
2022-08-14 21:14:06 +01:00
cmitu
a9f0b812a5 lr-pcsx-rearmed: fix build for NEON platforms
Upstream introduced recently an ASM optimized path for NEON platforms, enabled with a new `define`.
Added the new define for NEON platforms, otherwise the build fails because it picks the wrong ASM path.

Introduced in 047899a4f3
2022-08-09 18:23:21 +01:00
Jools Wills
b1aa639c89 Licence fixes
Update lr-tyrquake module licence URL
Update sdlpop module licence URL and include licence in install function
2022-08-04 22:05:57 +01:00
Jools Wills
affa96d78b
Merge pull request #3568 from joolswills/lr-hatari_capsimg_fix
lr-hatari - fix build failing due to CapsLibAll.h include path change
2022-08-04 21:50:34 +01:00
Jools Wills
d9a5160ed0 lr-hatari - fix build failing due to CapsLibAll.h include path change
245e1a126f changes the include paths for CapsLibAll.h which breaks our build script.

This change adds the include path for the caps headers ($md_build/src/includes/caps) to CFLAGS which resolves it.

Also remove the symlink creation in hatari.sh for the caps5 include path that is no longer used.
2022-08-04 18:25:44 +01:00
Jools Wills
fb461f2953 lr-desmume - fix building on arm
platform var needs the additional 'unix' keyword since the changes in 3af49d8d5d or else the wrong target platform is used (it tries to include x86 specific code)
2022-08-04 17:20:35 +01:00
hissingshark
22a9a853bf Fix build on Vero4k 2022-06-11 21:31:08 +01:00
Jools Wills
cd9302337e
Merge pull request #3523 from s1eve-mcdichae1/lrppsspp-link-save-dir
ppsspp/lr-ppsspp: (QOL) link save file dir for libretro core, and (BUG) resolve conflicts on removal
2022-05-25 05:01:19 +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
s1eve-mcdichae1
0f9d896325 lr-flycast: add to Arcade system (redux)
Ref: https://github.com/RetroPie/RetroPie-Setup/pull/3517

(Revisited for `defaultRAConfig`)
2022-05-23 17:43:16 -07:00
Jools Wills
02ffad4be0 lr-retro8 - use defaultRAConfig rather than custom iniConfig/iniSet 2022-05-22 13:09:12 +01:00
Jools Wills
056eb837ee lr-flycast - rework logic to use defaultRAConfig params
Don't do config work on removal
2022-05-22 13:09:12 +01:00
Jools Wills
d72e971060 lr-bluemsx - use defaultRAConfig parameters rather than manual ini setting
Also don't do config work when removing module
2022-05-22 13:09:12 +01:00
Jools Wills
7ac3877b44 Switch to using defaultRAConfig
libretro ports now don't include the "ports/" path in the call as it's handled by the new function
2022-05-22 13:09:12 +01:00
cobalt2727
b939a1bbba lr-pcsx-rearmed - fix build error on aarch64 2022-04-27 01:00:09 +01:00
Jools Wills
0a77b8e203 Added lr-puae2021
A version from 2021 (v2.6.1), before the core was updated from upstream to v4.5.x which brought more accuracy, but slower performance.
2022-04-10 22:53:40 +01: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
589da36b27
Merge pull request #3494 from joolswills/fbneo_missing_configs
lr-fbneo - add ensureSystemretroconfig calls for all fbneo subsystems
2022-03-13 00:22:46 +00:00
Jools Wills
4f443cf999 lr-fbneo - add ensureSystemretroconfig calls for all fbneo subsystems
We were missing ensureSystemretroconfig calls for FBNeo's console subsystems that are needed to populate a default retroarch.cfg

Move the systems into an array to avoid listing them twice.
2022-03-12 19:16:51 +00:00
cmitu
747fc75782 lr-ppsspp: preset a save directory
`lr-ppsspp` uses the `savefile_directory` path in order to create its own save structure.
Game saves are not regular `.srm` files, but they're saved in a `PSP/SAVEDATA/<GAME_ID>` folder structure.

Without setting a `savefile_directory`, the core will try to save to `/PSP/SAVEDATA/<GAME_ID>`, which obviously fails.
Setting this to `$HOME/.config/ppsspp` makes it possible to share the savedata with the standalone emulator.
2022-03-05 06:18:08 +00:00
Jools Wills
0b9ba8a613 lr-stella2014 - remove renaming hook
Now we have a new upstream lr-stella we don't want this rename anymore as it will rename the new module.

If a user upgrades from a very old release with the older lr-stella module, they will get upgraded to the new core but can always install lr-stella2014 if they want the older core again.
2022-02-11 11:42:21 +00:00
Jools Wills
6ceb50dc82 Add upstream / current stella libretro core - lr-stella
Disable LTO (avoid warnings on ARM, but safer without and doubt it makes a big difference)
2022-02-11 00:58:00 +00:00
Jools Wills
5cd3dc1b1f Remove lr-duckstation
Upstream has ceased development and the libretro binaries are no longer available.
2022-02-11 00:18:10 +00:00
Jools Wills
ee569074a6 lr-tic80 - fix building due to upstream folder structure change
Code was moved into "core" subfolder due to https://github.com/libretro/TIC-80/pull/11
2022-01-21 16:58:20 +00:00