Commit graph

8017 commits

Author SHA1 Message Date
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
5dff70977b
Merge pull request #3981 from joolswills/splashscreen_buster_mmal_fix
splashscreen - fix splashscreen ending early on rpi4 on Buster
2024-10-10 21:49:34 +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
8023448d46
Merge pull request #3980 from RetroPie/revert-3979-xpad-build-buster
Revert "xpad: fix building on Buster kernels"
2024-10-09 15:55:54 +03:00
Cristi Mitrana
8b5b384a3e
Revert "xpad: fix building on Buster kernels" 2024-10-09 15:55:39 +03:00
Jools Wills
6c53022b35
Merge pull request #3979 from cmitu/xpad-build-buster
xpad: fix building on Buster kernels
2024-10-09 08:18:50 +01: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
Jools Wills
175ac2332f
Merge pull request #3978 from cmitu/amiberry-capsimg
amiberry: fix 'campsimg' plugin installation
2024-10-03 16:55:27 +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
Jools Wills
d0f5bc791c retropie-setup - bump version to 4.8.9 2024-10-01 21:25:22 +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
Jools Wills
2db3e3a904 splashscreen - switch to vlc instead of omxiv / omxplayer
omxiv / omxplayer only works on the Raspberry Pi legacy and fkms drivers.

This change switches to vlc for both utilities, as it supports mmal output on the Raspberry Pi legacy drivers, and drm output on KMS on Raspberry Pi OS (bullseye).

Remove dependencies for omxplayer / omxiv / insserv

Switch code to use vlc.

Run asplashscreen as $user (not root).

Remove wait for dbus (no longer needed)

Save vlc pid and Exit vlc before launching emulationstation on KMS

Pin vlc version on Buster to version from archive.raspberrypi.org to stop it being overwritten with the vanilla Debian security release.

Enable on 64bit Raspberry Pi OS
2024-09-24 21:14:22 +01:00
Jools Wills
49731df126
Merge pull request #3971 from joolswills/usbromservice_group
usbromservice - Add group to usbmount scripts
2024-09-22 21:19:16 +01:00
Jools Wills
ef1562263d usbromservice - Add group to usbmount scripts
This is a followup to #3951
2024-09-10 20:23:00 +01:00
Jools Wills
18c2b43000 usbromservice - revert incorrect $__user/$__group changes
Broken in f7761fd635
2024-09-09 11:04:18 +01:00
Cristi Mitrana
9de414c569
Merge pull request #3968 from V0rt3x667/fix_attract_mode_launcher
Fix Attract-Mode Launcher to use kmsxx-rp
2024-09-07 07:19:01 +03:00
V0rt3x667
98a55c2935 Use kmsxx to set resolution & refresh rate 2024-09-07 00:29:06 +01:00
Jools Wills
82bbd5b0ec
Merge pull request #3967 from s1eve-mcdichae1/genesis-standalone
fn mkRomDir - create symlink only if 'genesis' not already exist
2024-09-03 20:44:24 +01:00
Jools Wills
d67e88db23
Merge pull request #3951 from hearthminion/feature/group_id
Add ability to differentiate group ownership from user ownership.
2024-09-03 20:43:54 +01:00
G Derber
f8a50cdd13
Re-write user check logic for username and group name 2024-08-26 12:17:48 -04:00
s1eve-mcdichae1
72a598992e fn mkRomDir - create symlink only if 'genesis' not already exist
allows stand-alone genesis system and romdir by user config
2024-08-19 10:33:48 -07:00
Jools Wills
54d16da405
Merge pull request #3966 from protocultor/yquake2
Update Yamagi Quake 2 to version 8.41
2024-08-10 00:05:25 +01:00
Jaime Moreira
2d980e20b0 Bump yquake2 to 8.41 2024-08-09 15:43:58 -04:00
G Derber
f7761fd635
Add ability to differentiate group ownership from user ownership. 2024-08-06 09:38:25 -04:00
Jools Wills
94b131a6c5
Merge pull request #3962 from cmitu/supermodel3-2
supermodel3: add the Assets folder in x86
2024-08-02 03:49:38 +01:00
cmitu
d7a3f88c21 supermodel3: add the Assets folder in x86
The folder contains the crosshairs bitmaps used in the `main` branch, installed only `x86`.
2024-07-29 16:09:52 +01:00
Jools Wills
d09fe1d0e5
Merge pull request #3960 from protocultor/yquake2
Update Yamagi Quake 2 to version 8.40
2024-07-28 19:16:16 +01:00
Jaime Moreira
3807c0d171 Bump yquake2 to 8.40
Tags for Q2 mission packs also updated
2024-07-28 12:47:00 -04:00
Cristi Mitrana
907ec405e6
Merge pull request #3959 from RetroPie/revert-3947-atari800-audio-patch
Revert "lr-atari800: patch sound regression locally"
2024-07-26 09:07:59 +03:00
Cristi Mitrana
b4f105a836
Revert "lr-atari800: patch sound regression locally" 2024-07-26 06:57:56 +03:00
Jools Wills
1fdf7d54e6
Merge pull request #3958 from cmitu/image-compression
image: switch to LZMA for compression
2024-07-25 17:52:48 +01:00
cmitu
5503e7372f image: switch to LZMA for compression
Using LZMA (xz) for compression instead LZ77 (gzip) reduces the image size by approx 30% more. Image writing utilities with compressed image support (RPI Imager, Balena Etcher) already support it and the RaspiOS or Armbian images are already distributed as `.xz` files.

Changed our image compression format from `.gz` to `.xz` and thus reduce the download size for all images.
2024-07-21 06:31:00 +01:00
Jools Wills
afbf914565
Merge pull request #3957 from joolswills/stella_gcc_8
lr-stella - fix building on GCC v8 (on buster)
2024-07-17 01:19:00 +01:00
Jools Wills
07b2293c1a lr-stella - fix building on GCC v8 (on buster)
C++20 changes were added in 7a85faef which broke compatibility with GCC 8.

GCC 10 compatibility was removed a few commits later in a8a23f61

Fix to commit 2d57f9e0 (last building on GCC 8) on GCC < 11
2024-07-17 01:16:54 +01:00
Jools Wills
152793f07e
Merge pull request #3956 from joolswills/nonet_fix
packages - fix install of modules with nonet flag when not connected
2024-07-16 23:47:24 +01:00