Commit graph

8017 commits

Author SHA1 Message Date
Jools Wills
26e5e04bb3 hatari - Switch repository to the github mirror
The main site and repository is currently not working (https://hatari.tuxfamily.org/) so switch to the github mirror for now.
2024-04-12 01:36:58 +01:00
cmitu
93f630d21f retroarch: upgrade to v1.18.0
Upgraded RetroArch to version 1.18.0. Notable changes, cherry-picked from:

 - https://www.libretro.com/index.php/retroarch-1-17-0-release/
 - 9e492f74c8

 * Netplay
   - expanded the protocol to allow multiplayer games running on separate consoles/computers.
     Cores like 'Dosbox-Pure' or 'gPSP' support the new protocol.
   - add support for joining MITM servers from command line
 * Cheevos
    - upgrade to v11.0
    - don’t track disc changes when achievements are disabled
    - inform user when server is unreachable
    - fix crash on first load of game with achievements with threaded video
  * Input
    - fix ghost input when setting RETROK_UNKNOWN
    - default ‘Bind Hold’ to 0 to prevent problems with controllers not resting at null state
    - don’t save mouse buttons to autoconfig
    - add a setting to allow turbo d-pad directions
    - change event detection to polling in udev_joypad
    - add option for merging ‘Hotkey Enable’ device types
    - fix input state combos including R3 and false triggers of RETROK_UNKNOWN (1.18.0)
    - add a new turbo mode, "Classic (Toggle)" (1.18.0)
    - limit axis threshold setting to sensible values (1.18.0)
  * Menu
    - fix menu analog stick navigation (1.16.0.1)
    - fix word wrapped widget length
    - fix quit on content close option
    - don’t process menu events while input is being flushed (1.16.0.2)
    - add help text to controller drivers
    - fix text scaling in 16:9 (RGUI)
    - thumbnail related fixes (missing thumbnail bar, fullscreen thumbnail flashing, sidebar focus, OZONE)
    - background images take precedence over color themes, default image opacity set the same as color theme opacity (XMB)
    - fix segmentation fault when background image is missing (XMB)
    - layout/thumbnail fixes – Thumbnail layout adjustments, Header title improvements, Handheld layout adjustments (XMB)
    - add sublabels for input bind common entries (1.18.0)
    - don't disable fast forward when entering menu (1.18.0)
    - add option to disable initial disk change (1.18.0)
    - visibility option for disk control notifications (1.18.0)
  * Video
    - use video refresh rate instead of core refresh rate for menu frame limiting
    - limit paused video refresh rate
    - enforce swap interval 1 in menu if vsync is on
    - add FinalViewportSize support to GLSL
    - change rotation type to int to maximize compatibility

  * Patching
    - add support for XDelta-formatted patches.
    - fix patching for cores that support contentless mode

  * Other
    - Frame Rest, experimental sleep feature aiming to lower CPU usage and temperature when using certain CPU hungry vsync modes
    - introduce wp_fractional_scale_v1 protocol for proper fractional scaling (Wayland)
    - update wayland-protocols version to 1.31 (Wayland)

RetroPie module changes:

 - make `iniConfig` use the same parameters every time
 - removed spurious `ret` files on `_install`
 - set `input_overlay_enable` to enabled, since the default changed (to 'false') in 1.17.0.
   It helps overlay users that didn't explicitely set this parameter in the overlay overrides they're using.
 - set `sort_savestates_enable` and `sort_savefiles_enable` to `false`, since in 1.18.0 RetroArch would otherwise create sub-folders under the content path folder for save states and save files (`.srm`) (see RA issue https://github.com/libretro/RetroArch/issues/16430).
2024-04-11 16:54:49 +01:00
Jools Wills
9e1838b314
Merge pull request #3896 from cmitu/scummvm-2.8.1
scummvm: update standalone emulator to 2.8.1
2024-04-07 21:06:09 +01:00
DirtBagXon
5fa86e87b1
daphne: support the new zipped Singe ROMs
This will allow support for the new zipped Singe ROMs.
2024-04-02 21:30:02 +03:00
cmitu
1b45100740 scummvm: update standalone emulator to 2.8.1
The 2.8.1 is a bugfix release and includes upgrades for the following engines: AGI, AGS, GRIM, SWORD2, MM (which is now enabled, it was skipped it in 2.8.0 by accident), mTropolis, NANCY, SCUMM, TWINE, Ultima, and V-Cruise.

Full changelog at https://downloads.scummvm.org/frs/scummvm/2.8.1/ReleaseNotes.html.
2024-04-01 16:25:48 +01:00
Jools Wills
5412ef4b98
Merge pull request #3893 from cmitu/bt-ps3-hotfix
bluetooth: fix PS3 pairing with recent BlueZ
2024-03-27 21:07:52 +00:00
cmitu
ba2cb3ed7a bluetooth: fix PS3 pairing with recent BlueZ
Due to changes in BlueZ added to fix CVE-2023-45866, the PS3 controllers won't pair/work anymore with BlueZ.
Since the path consist in only one change to default option (ClassicBondedOnly default changed, see [1]), it's been quickly added by all distros [2], [3].
This has already been reported in the forums and fixed (for Buster) by downgrading the `bluez` package. The same fix cannot be applied to current distros, so we can switch back the option to the way it works with PS3 controllers.

NOTE:
 * while technically this make BlueZ vulnerable to CVE-2023-45866, the exploit mentioned works IIF BlueZ is set to 'discoverable' mode.
However, this mode is set only during discoveries, which in RetroPie means just the pairing dialog - I think the risk for a real break-in through the vulnerability described is very low. See [4] for an explanation of the conditions needed to exploit it on BlueZ and a PoC (which didn't work for me, despite having the vulnerable config in place).
 * the configuration is set-up only when a PS3 pairing attempt is made.
 * when removing a device, the vulnerable configuration will also be removed if no more PS3 paired devices are left.

[1] https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/profiles/input?id=25a471a83e02e1effb15d5a488b3f0085eaeb675
[2] https://ubuntu.com/security/CVE-2023-45866
[3] https://security-tracker.debian.org/tracker/CVE-2023-45866
[4] https://github.com/marcnewlin/hi_my_name_is_keyboard?tab=readme-ov-file#linux-keystroke-injection
2024-03-26 19:08:07 +00:00
Jools Wills
8a6823f787
Merge pull request #3891 from cmitu/xpad-triggers
xpad: don't force the triggers-as-buttons option
2024-03-23 18:30:39 +00:00
cmitu
5fcf3e27da xpad: don't force the triggers-as-buttons option
The `xpad` kernel module is patched locally in order for the 'triggers_to_buttons' option to work on any supported controller. During installation, the option is also enabled automatically. Historically, this has been used to work-around EmulationStation not detecting the analog shoulder triggers, but the detection works now and this extra option is not needed for EmulationStation.

Leaving the option enabled by default has the side effect of breaking SDL's Gamecontroller API DB mappings (no of buttons and axis are different then the upstream mapping). Since more and more applications/games/emulators/etc. are using this SDL sub-system, it's better we don't enable it anymore.

This change removes the module configuration handled by the scriptmodule - both installation and removal. Users can manually add/remove the configuration if they wish.
2024-03-22 05:14:50 +00:00
Jools Wills
b938599488
Merge pull request #3890 from joolswills/gzoom_lzma_armv7
gzdoom - fix building 7zip/lzma on armv7 due to missing hardware crc
2024-03-20 00:08:13 +00:00
Jools Wills
51f8d7491b gzdoom - fix building 7zip/lzma on armv7 due to missing hardware crc
7zip/lzma assumes hardware crc support on arm, which breaks compilation on armv7.

Disable the check so it falls back to a software implementation.

Same fix as for mame with 508f3d1e64
2024-03-19 23:10:32 +00:00
Jools Wills
de8d781afa
Merge pull request #3888 from joolswills/advmame_v3.10
advmame - switch to last stable v3.10
2024-03-19 21:22:46 +00:00
Jools Wills
432f90df15
Merge pull request #3889 from joolswills/love_11.5
love - switch to 11.5 stable release
2024-03-19 21:22:21 +00:00
Jools Wills
8b85e4579c advmame - switch to last stable v3.10
AdvanceMame is undergoing development and the current master branch fails on buster/bullseye.
2024-03-19 21:12:03 +00:00
Jools Wills
3edacf67a9 love - switch to 11.5 stable release
Love has switched over to cmake, so the scriptmodule was failing.

Their main branch is considered development, so switch to the last stable tag 11.5 (December 2023).
2024-03-19 20:08:06 +00:00
retropieuser
de4c6061cd
Add multi disc functionality by default (#3886)
* Add multi disc functionality by default

* Update dolphin.sh
2024-03-17 18:38:50 +02:00
retropieuser
6c8ec8b47a
Add m3u to Gamecube and Wii (#3887) 2024-03-17 18:27:48 +02:00
Jools Wills
5683e78423
Merge pull request #3885 from cmitu/mame-update2
lr-mame/lr-mess: modify build parameters
2024-03-12 20:31:23 +00:00
Jools Wills
440d7c879b
Merge pull request #3884 from Gemba/fix_remove_dialog_prompt_for_headless_op
Replace dialog with info message for headless operation
2024-03-12 20:30:52 +00:00
cmitu
2a95dd076a lr-mame/lr-mess: modify build parameters
Update the build parameters so:

  - optimization level matches RetroPie's compiler options (-O2)
  - removed `PYTHON` pre-set since it's set now to `python3` by default
  - disable PortAudio, not needed since audio is handled by RetroArch
2024-03-12 18:07:07 +00:00
Gemba
92a5926608 Replace dialog with info message for headless operation 2024-03-12 08:44:42 +01:00
cmitu
33c8fed68b autostart: modify EmulationStation spelling 2024-03-11 16:08:37 +00:00
cmitu
218caa5b7e pegasus-fe-dev: separate module with source build support
Since the static binaries provided upstream are no longer working on newer RaspiOS or on 32bit ARM, create a standard scriptmodule to build Pegasus with `pegasus-fe-dev`. The new scriptmodule is meant to work similarly to the `es`/`es-dev` pair, only one can work at a time and they share a set of common functions.

Modified the original scriptmodule and added a theme download function, using @mmatyas's themes. More can be found at [2].

Notes:
 * the `pegasus-fe` launcher doesn't need the previous TTY set-up, it's now handled by `runcommand`.
 * sometimes the `/dev/dri/card0` is not the right card node since the order of the `cardX` inodes is not guaranteed.
   Find the right card node dynamically (see [1]) and tell Qt about it with a minimal config file used in the launcher

[1] https://forums.raspberrypi.com/viewtopic.php?t=351263
[2] https://github.com/mmatyas/pegasus-theme-gallery-db/blob/master/repos.txt
2024-03-11 16:07:45 +00:00
cmitu
3b9a8e440b autostart: add Pegasus as auto-start item
Added Pegasus as alternative to Kodi and EmulationStation. The list of available auto-start front-ends is now dynamic, based on whether Kodi and Pegasus are available.
2024-03-11 16:07:34 +00:00
Jools Wills
460f018b86
Merge pull request #3882 from cmitu/gldriver-pi5
system: handle Pi5's xorg configuration
2024-03-10 17:25:04 +00:00
Jools Wills
30853a25b7
Merge pull request #3883 from cmitu/mame-update2
mame: fix building latest version with old 'libzstd'
2024-03-09 18:46:25 +00:00
cmitu
636a1789bc mame: fix building latest version with old 'libzstd'
Version 0.263 introduced support for ZSTD compression for CHD files, but the version in Debian 10 Buster is not recent enough to compile MAME. Use the bundled source for `libzstd` instead of the system provided libraries for now.
2024-03-09 17:06:36 +00:00
cmitu
dc85e9a7c7 system: handle Pi5's xorg configuration
Pi5 needs an additional X11 configuration stanza for xorg-xserver to start properly. This configuration is handled by the `gldriver-test` package, which installs a couple of services that create the needed configuration files based on the displays connected to the board (HDMI/DSI/etc.). Technically, once the services have run the package can be removed IIF the type of display connection will not change (i.e. will always use HDMI or DSI, etc.)

 Since this package is only installed with `raspberrrypi-ui-mods` (i.e. the RaspiOS desktop), let's install it by default on Pi5. The only dependency for the package is `raspi-config`, which is already present on any RaspiOS installation.
2024-03-08 04:34:03 +00:00
Jools Wills
1d25e8b7f3
Merge pull request #3880 from RetroPie/revert-3836-xorg-install-2
Revert "helpers: map 'xorg' for Pi5 and for 'legacy' exclusion"
2024-03-07 16:54:53 +00:00
Jools Wills
2e6fc4c7d9
Revert "helpers: map 'xorg' for Pi5 and for 'legacy' exclusion" 2024-03-07 16:54:11 +00:00
Jools Wills
8396ec912e
Merge pull request #3879 from cmitu/removal-warnings
admin: expand the warning about config removals
2024-03-02 11:57:38 +00:00
cmitu
2c9ef678e2 admin: expand the warning about config removals
Tell the user to save their configuration files if they intend to use any of RetroPie components after removal, i.e. if they previously had an emulator/port installed and they still want to use it after removing RetroPie.
2024-02-29 17:22:29 +00:00
Jools Wills
8b2980d5d3
Merge pull request #3877 from cmitu/sdl12-compat-backend
lr-mame/mess: bump memory requirements
2024-02-27 19:00:37 +00:00
cmitu
e320cf9965 lr-mame/mess: bump memory requirements
Added a bit more swap in order to be able to finish the compilation for both cores.
2024-02-27 18:06:57 +00:00
Jools Wills
f9b7ed6c66
Merge pull request #3876 from cmitu/removals
retropie-manager: removal
2024-02-26 20:48:22 +00:00
Jools Wills
24a442cc67
Merge pull request #3845 from cmitu/sdl12-compat-backend
backends: add SDL1.2 Compat backend
2024-02-26 20:47:57 +00:00
cmitu
4d884b5704 retropie-manager: removal
It was abandoned by the owner and it's already bitrotten by not being compatible with Python3.
Judging by the number of (missing) topics in the forums, I don't think it's used that much.

We can still keep the repository at retropie/RetroPie-Manager, though it's probably better suited to archive the repo.
2024-02-26 16:37:27 +00:00
cmitu
9f6e198b4d sdl12-compat: enable on a few SDL1 modules
Enable the 'sdl12-compat' backend for:

 * Atari800
 * Fuse
 * Osmose
 * Linapple2 (Linapple-Pie). Upstream seems to be still using SDL1.
 * OpenBOR
 * FBZX
 * XRick
 * CapriceRPI
2024-02-25 18:36:08 +00:00
Jools Wills
7f55988cc9
Merge pull request #3875 from Gemba/fix_skyscraper_copy_bash_completion_files
Put programmable completion file to /etc/bash_comletion.d/
2024-02-25 17:30:42 +00:00
Gemba
2dddf927ec Put programmable completion file to /etc/bash_comletion.d/
Also the fn remove_skyscraper() was present two times.
Merged them together and added a prompt if skyscraper's
cache should also be cleared.
2024-02-25 17:55:38 +01:00
Jools Wills
f8074585ac
Merge pull request #3868 from cmitu/dolphin-pi5
dolphin: updates to build and configuration
2024-02-25 16:31:02 +00:00
Jools Wills
b8cc361eeb
Merge pull request #3871 from cmitu/inifuncs-update
initfuncs: change `sed` separator for `iniGet`
2024-02-25 16:29:56 +00:00
Jools Wills
5d1e83bd9b
Merge pull request #3857 from sworisbreathing/emulationstation-arm64
Don't set dispmanx flag on arm64 systems
2024-02-25 16:09:40 +00:00
Jools Wills
46063658f7
Merge pull request #3873 from cmitu/dsda-doom-update
dsda-doom: fix some dependencies
2024-02-25 06:59:51 +00:00
Jools Wills
2f118d7b3a
Merge pull request #3874 from cmitu/mame-update1
mame: modify build instructions and dependencies
2024-02-25 06:59:06 +00:00
Jools Wills
b76855c0bf
Merge pull request #3870 from cmitu/xroar-3
xroar: update to 1.5.3
2024-02-25 06:55:36 +00:00
Jools Wills
64d636a0f0
Merge pull request #3867 from cmitu/xpadneo-updates-5
xpadneo: upgrade to the latest v0.9.x version
2024-02-25 06:55:07 +00:00
cmitu
3330e859d4 dsda-doom: fix some dependencies
Forgot to add a few dependencies needed to build the port.
2024-02-25 04:51:35 +00:00
cmitu
4b4d467846 mame: modify build instructions and dependencies
Made a few tweaks to optimize bulding MAME:

 - bump the RAM requirements, to ensure there's enough memory to complete the build.
 - don't build the MAME debugger on non-desktop platforms, since it would need a windowing environment to run anyway.
   This allows us to remove the QT dependencies and debugger compilation steps.
 - use system's flac/zstd libraries (more could be added)
 - tell the linker to remove debugging info, so the binaries don't need a 'strip' call afterwards
 - synchronize the optimization level in MAME with RetroPie's optimization flags (-O2), to avoid extra optimization during compiling (MAME defaults to '-O3').
2024-02-25 04:22:33 +00:00
cmitu
e27de1e4a2 initfuncs: change sed separator for iniGet
Use `#` instead of `/` for SED's substitution command separator.

This makes the `iniGet` command work for key values containing `/` (like Dolphin's input configuration files). The `#` character is usually reserved for comment lines in an `.ini` file, so it should be relatively safe to use as separator; `sed` accepts any character besides `*` or newline for separator, so `#` should also be safe here.
2024-02-21 04:53:15 +00:00