Commit graph

6336 commits

Author SHA1 Message Date
cmitu
9875f23289 scraper: remove locally applied patch
It's has been applied to the upstream project.
2024-12-16 16:31:21 +00:00
zoltanvb
5f5a879fc5 Enable Enterprise 128 emulation via ep128emu libretro core. 2024-12-14 13:45:57 +01:00
TheDiscordian
8c0204165b keep plugins, enable highscores 2024-12-14 02:29:40 -05:00
Jools Wills
1eb5b5fab3
Merge pull request #4003 from joolswills/ppsspp_arm_on_aarch64_fix
ppsspp/lr-ppsspp - fix building on arm userland with aarch64 kernel
2024-12-08 21:08:06 +00:00
Jools Wills
5ce9284e83
Merge pull request #4002 from joolswills/lr-mupen64plus-next_arm_on_aarch64
Fix building lr-mupen64plus-next on 32bit arm RPIOS Bookworm
2024-12-08 21:07:57 +00:00
Jools Wills
e553deea18
Merge pull request #4005 from cmitu/dsda-doom-buildfix
dsda-doom: buildfix for missing 'fluidsynth'
2024-11-21 11:01:51 +00:00
cmitu
ab6dddf123 dsda-doom: buildfix for missing 'fluidsynth'
The build fails if it cannot find the 'fluidsynth' executable, so install the binary if we're building with Fluidsynth support.
2024-11-20 18:00:58 +00:00
cmitu
7d5384f86e lr-flycast-dev: fix build for GLES2 systems
There's no 'gles2' flag, use 'gles' to detect GLES2 only systems and add the GLES build options (e.g. Pi3).
Added the project's README.md file to the installation.
2024-11-19 17:09:26 +00:00
Jools Wills
dd7d4098c0 lr-mupen64plus-next - fix building on rpi5 on 32bit arm bookworm
On the rpi5 on 32bit arm rpios bookworm, building failed with

    /usr/lib/gcc/arm-linux-gnueabihf/12/include/arm_neon.h:18284:34: error: unknown type name ‘float16x4_t’; did you mean ‘bfloat16x4_t’?
    18284 | vfmlal_low_f16 (float32x2_t __r, float16x4_t __a, float16x4_t __b)
          |                                  ^~~~~~~~~~~
          |                                  bfloat16x4_t

Add the option -mfp16-format=ieee which fixes this.

Use an array add_clags to handle the additional CFLAGS changes and use for the linkage_arm.S workaround.
2024-11-17 23:48:14 +00:00
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
c828c52af3 lr-mupen64plus-next - fix building on aarch64 kernel with arm userland 2024-11-17 22:48:26 +00:00
Jools Wills
cc5bfb49ca
Merge pull request #4000 from cmitu/splashscreen-hdmi
splashscreen: fix VLC missing HDMI port detection
2024-11-16 23:30:50 +00:00
cmitu
93f1fa9d2c splashscreen: fix VLC missing HDMI port detection
VLC's MMAL video output doesn't detect which HDMI port is connected, as `omxplayer` did beforehand.
This results in a black screen instead of a splash video/image on a Pi4 where the display is connected to the 2nd HDMI port. Use `tvservice` when the MMAL video output is used to detect the connected screen and pass it on to `vlc`.

Since we're using just the Bourne shell, had to use `case` for wildcard comparison.
Do note that `CMD_OPTS` is modified during the installation of splashscreen, so it's not 100% guaranteed to stay empty.
2024-11-16 19:35:18 +00:00
Alexander Marx
202cc6dd45
Update steamlink.sh
new version of steam-link available. Now works with rpi5 and bookworm.
2024-11-16 13:52:16 +01:00
Jools Wills
5ceb82220f mupen64plus - fix building on rpi5 with aarch64 kernel + arm userland
Remove -ffast-math from makefiles on armv8. This option causes the following error when building on the rpi5 (armv8.2a):

    /usr/lib/gcc/arm-linux-gnueabihf/12/include/arm_neon.h: In function ‘float16x4_t vmul_n_f16(float16x4_t, float16_t)’:
    /usr/lib/gcc/arm-linux-gnueabihf/12/include/arm_neon.h:17755:14: error: conversion of scalar ‘float’ to vector ‘float16x4_t’ involves truncation

This also disables it for other armv8 platforms (that didn't have this problem), but the option does come with some risks and was added to code which I don't think will benefit such as mupen64plus-ui-console.
2024-11-09 15:38:59 +00:00
Jools Wills
049c6b05c5 mupen64plus - de-duplicate make parameters
The make parameters are needed at the install stage and build stage so move them to a function.

Rename variable $source to $dir in the install loop - This matches the build function. An undefined variable $dir was used previously.

This also fixes some slight differences between them that were unnecessary:
  * isPlatform "rpi1" && params+=("VFP=1" "VFP_HARD=1") was missing from the install stage
  * install was missing isPlatform "armv8" && params+=("HOST_CPU=armv8") which is needed when building for the rpi5 with 64bit kernel and 32bit userland.
2024-11-07 00:19:06 +00:00
Jools Wills
f2cbaea6b7 mame/lr-mame - fix building on aarch64 kernel with 32bit arm userland
Force PLATFORM=arm on arm systems. Without this mame builds for aarch64 and sets PTR64=1 erroring out with:

    static_assert(sizeof(void *) == 8, "PTR64 flag enabled, but was compiled for 32-bit target\n");

This also fixes building of lr-mame2016
2024-11-05 19:40:42 +00:00
Jools Wills
96b40fcbcf
Merge pull request #3996 from cmitu/xroar-4
xroar: update to 1.6.6
2024-11-03 05:03:02 +00:00
cmitu
0512a2e29d xroar: update to 1.6.6
New in version 1.6:

 *  New machine Dragon Professional (Alpha), 'dragonpro'
 *  New machine Tandy Deluxe Colour Computer, 'deluxecoco'
 *  New -ram-org option to specify RAM addressing
 *  New -ram-init option to specify initial RAM state
 *  6309 DIVD behaviour fixed against Tim Lindner’s fuzzing tool
 *  6309 DIVD timing fixed according to David Banks’s behaviour notes
 *  6309 DIVQ behaviour & timing adjusted similarly, though untested
 *  More accurate observed NTSC CoCo 3 GIME composite video behaviour
 *  New GTK+ 3 UI
 *  New printer control dialog (GTK+ 3, Windows) or menu options (Mac OS X+)
 *  More keyboard virtual joystick profiles included by default
 *  All physical joysticks selectable from menus by default
2024-11-03 04:52:30 +00:00
cmitu
eb0686e96f joy2key: allow selecting the non-SDL version
There are 2 (uinput) related changes here:

* The SDL2/Uinput based Joy2Key is too slow for Pi1/0 devices, so allow the user to choose the older version. The older version is simpler since it doesn't need or load SDL2/Uinput, thus faster to load on those systems. By default, on ARMv6 devices the old version will be configured.

* The Uinput based event generation of keyboard events is not able to trigger the `runcommand` menu when launching images splash is done via `feh`, since the image display will get always have focus and thus the keybord events will not reach the `runcommand` terminal. So, in order for the `runcommand` menu to work after the splash image, make sure we stop `feh` before launch, just like `fbi` is stopped on non-desktop systems.
2024-10-28 19:18:14 +00:00
cmitu
508fd773df gzdoom: upgrade to 4.13.1
Fixes a couple critical bugs introduced in 4.13.0 and adds a couple of QOL improvements.
2024-10-21 19:07:20 +01:00
Jools Wills
5c947334f3
Merge pull request #3965 from lowlevel-1989/dbar4gun
added parameters and debug gui to dbar4gun
2024-10-20 23:17:23 +01:00
Vinicio Valbuena
0d77b78cbd dbar4gun - remove hardcoded path 2024-10-20 23:13:02 +01:00
Vinicio Valbuena
083e6a0bdb dbar4gun - added parameters and debug gui 2024-10-20 23:12:23 +01:00
Jools Wills
9ed116f1ee
Merge pull request #3990 from cmitu/gzdoom-413
gzdoom: update to version 4.13.0
2024-10-20 17:58:19 +01:00
cmitu
fa593c8643 gzdoom: update to version 4.13.0
The new version has lots of bugfixes and adds support for the new Doom II add-on "Legacy of Rust" released by Bethesda with the Doom(+II) re-release.

New in version 4.13.0:

 * Added pistol start gameplay option
 * A few ID24 spec implementations, adds support for new Bethesda DOOM + DOOM II re-release and Legacy of Rust
 * Several multiplayer network fixes, especially with prediction
 * Some savegame fixes, should now be able to delete them on windows
 * Add Extra Parameters to iwad selection box
 * iwad selection box now always shows unless one of the following is true: it is disabled, -iwad is used from command line, or you load in a gameinfo that suggests an iwad
 * Add mbf21 and mbf21 (strict) compatibility presets
 * Particles and rollsprites are now square
 * ZMusic update, allows selecting a new module player
 * Forced-perspective sprite clipping (limited ability for sprites to render under the floor)
 * Support for Orthographic projection
 * Decoupled animation fixes
 * Able to now pass optional parameters in any order
2024-10-19 18:02:38 +01:00
retropieuser
a464248949
Update retronetplay.sh with IP4v Address
Ensure that we specify ipecho.net reports back an IP4v address, instead of IP6v
2024-10-19 09:56:38 +01:00
Jools Wills
160fd080c7
Merge pull request #3988 from cmitu/gamecondriver-update-3
gamecondriver: update for newer version
2024-10-18 20:24:16 +01:00
cmitu
35ed85ed13 joy2key: add udev rule for /dev/uinput permissions
Add an udev rule to give the `input` group write access to `/dev/uinput` in order for the python uinput device(s) can be created.
2024-10-16 16:15:43 +01:00
cmitu
5237c45ea6 joy2key: ensure the install user is part of 'input' group
On RaspiOS, the install user is part of the `input` group by default, but on Ubuntu is not. Add it during install so that `joy2key` can work as regular user (i.e. as part of `runcommand`).
2024-10-16 04:26:58 +01:00
cmitu
2e5a1b56cc gamecondriver: update for newer version
Upstream has re-organized the repository with the new versions for DB9/Gamecondriver and removed the version suffix from the source folders. Modified the module to fix the symlink to `/usr/src` needed by `dkms` and also fix the license URL.
2024-10-15 21:49:45 +01:00
Jools Wills
a502e1205e
Merge pull request #3982 from cmitu/joy2key-uinput
joy2key: use 'uinput' for emitting keyboard events
2024-10-14 21:29:36 +01:00
Jools Wills
850fe1003d
Merge pull request #3983 from joolswills/remove_digger
Remove digger port due to repository being deleted
2024-10-14 18:51:07 +01:00
Jools Wills
5596007da3
Merge pull request #3975 from joolswills/sdl2_update
sdl2 - update to 2.30.8
2024-10-13 21:58:51 +01:00
Jools Wills
49a6a99208 Remove digger port due to repository being deleted 2024-10-13 21:53:49 +01:00
cmitu
d417e06978 joy2key: use 'uinput' for emitting keyboard events
Recent Linux kernels (6.2+) have the ability to disable the 'TIOCSTI' ioctl, thus rendering unusable the method of sending keyboard events to the controlling terminal via `fcntl.ioctl` [1]. Not all distributions have left it enabled currently, but Ubuntu 24.04 has it enabled, affecting the `runcommand` ability to generate keyboard events for a joystick.

Use the `python-uinput` module to create a virtual keyboard and send the proper events through it, without relying on the 'curses' or 'fcntl' modules. Now, since the new module doesn't know about Termios codes, which were used previously, I've added a translation table to accomodate scripts using those capability codes. The `python-uinput` uses the Linux event codes [2].

The new method needs the `uinput` Linux kernel module to be loaded beforehand - so add the module to be automatically loaded. The user also needs to be part of the 'input' group, otherwise they won't be able to use the `uinput` interface -  RetroPie doesn't automate that, but assumes the installation user belongs to that group.

We also don't need the `termios`/`fnctl` calls, so the terminal handling part has been removed, simpplifying a bit the code.

OTHER changes:
 - the device path (/dev/jsX) is now ignored. It hasn't been working since the switch to SDL2 for input processing, but was still parsed for compatibility with the old version.
 - when invoking with the debug (--debug|-d) parameter, the script now runs in the foreground, instead of forking and running in the background. It's easier when running it to diagnose issues; running with debugging enabled should not be used for regular usage.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=83efeeeb3d04b22aaed1df99bc70a48fe9d22c4d
[2] https://github.com/tuomasjjrasanen/python-uinput/blob/master/src/ev.py
2024-10-12 06:52:59 +01:00
Jools Wills
3a78644ca3 splashscreen - fix splashscreen ending early on rpi4 on Buster
Don't install the 05-splash.sh script to kill vlc on Raspberry Pi Buster and below. VLC on Buster on RPI4 will output to MMAL which can overlay on top of EmulatioStation.

Remove 05-splash.sh if already present on Buster.
2024-10-10 21:10:16 +01:00
Cristi Mitrana
8b5b384a3e
Revert "xpad: fix building on Buster kernels" 2024-10-09 15:55:39 +03:00
cmitu
7d214ebfeb xpad: fix building on Buster kernels
Due to a recent merge of upstream code, the module no longer builds on Linux kernel 5.10, included in Raspberry Pi OS 'buster'.
The change needed to compile is minimal, it's caused by a missing event code from 'input-event-codes.h', part of the kernel's UAPI headers.
2024-10-09 05:11:10 +01:00
Jools Wills
52e74fc6db sdl2 - update to 2.30.8 2024-10-03 23:45:41 +01:00
cmitu
b40157edea amiberry: fix 'campsimg' plugin installation
The 'capsimg.so' wasn't properly copied after build to the plugins folder, making Amiberry unable to load IPF files.
Also fixes - apparently - a double free crash on the Pi4 build.
2024-10-03 16:45:35 +01:00
Jools Wills
df87b9512a
Merge pull request #3976 from cmitu/xpad-dkms-2
xpad: force version on kernel module
2024-10-02 07:45:23 +01:00
cmitu
570c76e296 xpad: force version on kernel module
DKMS in Bookworm has a bug[1] where the autoinstall function on kernel updates fails due to a miscalculated version comparison, thinking always that the kernel version is newer than the custom version and skipping the installation. The message shown during upgrades is:

    xpad.ko.xz:
    Running module version sanity check.
    Module version  for xpad.ko.xz exactly matches what is already found in kernel
    DKMS will not replace this module.
    You may override by specifying --force.

Added a module version (copied from the `dkms.conf`'s package version) to have 'dkms' always install the out-of-tree version.

[1] https://github.com/dell/dkms/issues/296, fixed by https://github.com/dell/dkms/pull/297
2024-10-02 06:18:42 +01:00
Jools Wills
c384f1b759 builder - Use the custom branch/repo on fresh checkouts
Move the __builder_repo and __builder_branch checks outside of the if/else so it gets run after an initial chroot RetroPie-Setup checkout.
2024-10-01 22:56:47 +01:00
DirtBag Xon
236e7ac3a0 Simplify multigame zipped ROM (v2.11.3) 2024-10-01 15:27:36 +01:00
Jools Wills
adaf787917
Merge pull request #3674 from joolswills/vlc_splashscreen
Switch to using VLC for splashscreen
2024-09-30 21:44:02 +01:00
Jools Wills
d0200ecd75
Merge pull request #3973 from cmitu/lr-scummvm-gl2
lr-scummvm: disable GL(ES) context creation with legacy drivers
2024-09-29 00:54:17 +01:00
cmitu
191631b0d8 lr-scummvm: disable GL(ES) context creation with legacy drivers
Due to the old EGL version implemented by the old BRCM GLES drivers, the core cannot obtain a (HW) GL context to be used for accelerated video output. Disable this feature on systems using the old/legacy GLES(2) driver.
2024-09-26 04:21:06 +01:00
Jools Wills
f15fd70f21 splashscreen - remove unneeded check/install in gui_splashscreen 2024-09-24 21:14:29 +01:00
Jools Wills
9444f1d603 splashscreen - remove unused is_fkms function 2024-09-24 21:14:29 +01:00