Commit graph

1904 commits

Author SHA1 Message Date
cmitu
ee346fbf3c xboxdrv: remove obsolete USB options
According to the Raspi docs, `dwc_otg.speed=1` sets the USB port to USB 1.0 speed and should be enabled only for debugging purposes.
I don't think it's needed anymore.
2023-10-15 17:08:09 +01:00
cmitu
628d42933a wifi: add NetworkManager support and various tweaks
Added support for NetworkManager and predictable network interface device names.
NetworkManager is default on RaspiOS 12 and also on Armbian. Armbian doesn't disable the predictable ifnames, so the changes here will help adding support for configuring WiFi on it.

Changes included:

 - interface name is not hardcoded to 'wlan0', but taken from `/sys/net/devices`.
   Most of the functions had to be modified and an extra parameter for ifname was added.

 - config/remove wifi functions have been added for each management version (wpasupplicant/nm)

 - tweaked the interface in a few places (colors, title, phrasing)

 - the NetworkManager configuration methods will create a connection named 'RetroPie-WiFi'.
   This helps identifying the connection during removal, since I didn't find a way to add some info/metadata to
   a connection in order to mark the one we're configuring with our script.

 - the country code is now read with `raspi-config` instead of querying the `wpa_supplicant.conf`, since it might not exist when NetworkManager is active.

Only tested WPA and Open networks, since I lack any WEP capable AP/device.
2023-10-14 04:11:28 +01:00
s1eve-mcdichae1
c9fcb57a77 skyscraper.sh - enhancements and fixes
Co-authored-by: Gemba <uid0@sdf-eu.org>

From https://github.com/detain/skyscraper/pull/24

47868bd303

- Switch to active fork https://github.com/Gemba/skyscraper

- Compacted config file copy section by using RP provided functions, plus:

- Add platforms.json, mobygames.json, screenscraper.json

- Add docs/ folder

- hints.txt > hints.xml (Version 3.5.4 - 14th May 2020)

- Revert commit 693dbfd ("prevent hall of mirrors effect") - This is now implemented upstream in the new fork

- Don't use unix:examples.files -- Copy resource files explicitly

- Minor cleanup:
-- Removed some trailing spaces
-- Removed errant ']]'
2023-10-07 15:30:28 -07:00
cmitu
6e84202206 scraper: change build method to fix FTBS
Changed the build method by using Golang's module support and creating a module from the upstream sources. Fixes the current build errors due to a transitive depedency which requires upgrading Go to 1.17+.
This simplifies applying the patch and rolling back (downgrading) the TGDB module dependency. As a bonus, we can use the normal way of retrieving the sources and generating the scriptmodule `.pkg` info file.

Fixed also the `golang` installation, the new version was not installed automatically due to a insufficient version check.
2023-09-11 04:57:26 +01:00
cmitu
a9024142af audiosettings: ensure ALSA configuration folder exists
On RaspiOS (10/11), the ALSA configurations folder doesn't exist, so make sure we're creating it before saving/moving the ALSA configuration file we generate with the scriptmodule.
2023-08-15 17:17:44 +01:00
cmitu
66788ffc16 golang: upgrade to a newer version
Fixes compilation for 'google.golang.org/protobuf', which needs 'math/bits', available in go 1.9 and later.
2023-07-24 16:49:05 +01:00
s1eve-mcdichae1
7e584dbc2b configedit - exclude 'thumbnails' directory in manual edit
Can contain many thousands of '.png' images, if cheevos have been enabled.
2023-07-22 21:09:12 -07:00
Dwayne Hurst
44542b175e
Update esthemes.sh with new theme (#3732)
added a new theme called 'Sheeny'
2023-07-18 08:13:15 +03:00
Jools Wills
1e726a1750
Merge pull request #3419 from cmitu/audio-ks
audiosettings: support the ARM-side HDMI driver
2023-06-19 19:44:02 +01:00
Jools Wills
e6392b8209 audiosettings - use /etc/alsa/conf.d for retropie alsa configs
Move resetting alsa to function to avoid duplication.

Add dialog when migrating ~/.asoundrc to the new location.
If ~/.asoundrc exists and there is no config in /etc/alsa/conf.d/99-retropie.conf then offer to move the file.

Asking the user is safer as we don't want to migrate a users own custom ALSA configuration.
2023-06-19 19:41:41 +01:00
Aaron Pfeifer
6aa579a959 emulationstation.sh: Fix all commands for the onfinish input action in es_input.cfg being overwritten during configuration 2023-06-04 09:50:30 -04:00
Jools Wills
5ee39f919f
Merge pull request #3713 from cmitu/runcommand-subst
runcommand: fix ROM substitution with `bash` 5.2
2023-05-04 19:29:12 +01:00
cmitu
21cea36336 runcommand: fix ROM substitution with bash 5.2
`bash` 5.2 introduced a new option (`patsub_replacement`) which affects how `%ROM%` is replaced in the command line:

From https://tiswww.case.edu/php/chet/bash/NEWS:
> x. New shell option: patsub_replacement. When enabled, a `&' in the replacement
>   string of the pattern substitution expansion is replaced by the portion of
>   the string that matched the pattern. Backslash will escape the `&' and
>   insert a literal `&'.

This breaks the substitution of `%ROM%` when the replacement string (ROM name) contains `&`.

1. with `bash` version 5.1

   $ COMMAND="run %ROM%" && COMMAND=${COMMAND//%ROM%/a & b.rom} && echo $COMMAND
   run a & b.rom

2. with `bash` version 5.2

   $ COMMAND="run %ROM%" && COMMAND=${COMMAND//%ROM%/a & b.rom} && echo $COMMAND
   run a %ROM% b.rom

3. with `bash` version 5.2, option disabled
   $ shopt -u patsub_replacement
   $ COMMAND="run %ROM%" && COMMAND=${COMMAND//%ROM%/a & b.rom} && echo $COMMAND
   run a & b.rom

Disable this option in `runcommand` for now so users won't be affected by it when using Ubuntu 22.10+/Debian 12 (bookworm)
2023-05-04 19:18:07 +01:00
cmitu
02bed52ff0 emulationstation: use OpenGL2 for RPI+Mesa platform
The last runtime detection changes for the build instructions enable the GL21 renderer only on non-RPI platforms.
The V3D Mesa driver supports OpenGL 2.1, so enable the GL21 renderer when it's used on a Raspberry Pi.

Without this change, the build will use the GL1.4 renderer.
2023-04-23 07:29:02 +01:00
s1eve-mcdichae1
693dbfd02e
skyscraper - prevent hall-of-mirrors effect (#3704)
patch config.ini: don't cache already-processed screenshots from local source 'esgamelist'
2023-04-18 09:04:58 +03:00
Dwayne Hurst
ec8713bd50
esthemes - added theme ToggleBobble (16:9 ratio theme) 2023-04-15 12:54:28 +01:00
Jools Wills
447ed58e7c
Merge pull request #3702 from cmitu/input-scripts-ra-2
emulationstation: add vendor/product ids to input scripts
2023-04-12 17:44:42 +01:00
cmitu
e392c7ac42 emulationstation: add vendor/product ids to input scripts
* modified the input configuration script to export Vendor/Product IDs, if exported by EmulationStation.
* added vendor/product to RetroArch's script for generating joypad profile.
2023-04-12 16:37:51 +01:00
Jools Wills
9351bf4f92
Merge pull request #3699 from cmitu/splashscreen-layer
splashcreen: increase the DispmanX layer
2023-04-03 17:16:19 +01:00
cmitu
444cb250c5 splashcreen: increase the DispmanX layer
EmulationStation, when using the RPI videodrivers, displays at layer 10000.
Increased the layer index for video/images in order to run above EmulationStation.
2023-03-30 18:03:19 +01:00
Jackfritt
63010fc6f8
Display Memory Usage in MB or GB (#3692)
* Display Memory Usage in MB or GB
2023-03-30 19:40:38 +03:00
Stefan
07a2fa1c46
emulationstation.sh: remove deprecated X is running test
The "X is running" test in emulationstation startup script is deprecated. X was replaced by Xorg a long time ago (pre Debian stretch and Ubuntu bionic). The test could be modified to support Xorg, but emulationstation runs quiet well under x11. Just remove it.
2023-03-22 18:28:51 +01:00
cmitu
83ef823f9d audiosettings: support the ARM-side HDMI driver
Needed for configurations using the 'vc4-kms-v3d' overlay (default in RPI OS 11).
The names are (almost) similar, but the default order of the cards is different:

 * (fkms/videocore) the order is HDMI, Headphones
 * (kms) the order is Headphones, HDMI

The `vc4hdmi` driver also has an extra PCM (hdmi) that does the audio conversion, since the default one understands only the `IEC958_SUBFRAME_LE` format.
The new PCM is configured in `/usr/share/alsa/cards/vc4-hdmi.conf`, and it needs a recent `libasound2-data` package (on Buster, Bullseye already has the configuration included).

The default ALSA configuration may have a bug (?) in the definition of the volume control (mixer) for the `vc4hdmi` cards, so add a software volume control with a mute toggle for these cards. For compatibility with previous configurations, the control is named 'HDMI'.
2023-03-19 10:21:22 +00:00
Jools Wills
74703b7d5b
Merge pull request #3684 from cmitu/attract-font-fix
attractmode: add default font dependency
2023-03-15 20:45:04 +00:00
cmitu
b2d1805e1f attractmode: add default font dependency
Added the Free fonts, since `attract` will not start without it's default font (FreeSans).
The font search code has changed recently, triggering now an error without FreeSans being present.
2023-03-15 20:36:28 +00:00
Stefan
0855f494c4
retropiemenu.sh: add mc 7zip support
Midnight Commander needs p7zip to open 7z archives.
2023-03-13 23:00:28 +01:00
Jools Wills
27c6530417
Merge pull request #3665 from obrie/fix/device_name_sanitization
Fix device name sanitization within ES controller configscripts
2023-03-08 15:05:15 +00:00
Aaron Pfeifer
4b5f20f12b Clean up emulationstation configscripts to use a consistent sanitize implementation for filenames that include the device name
Previously, certain characters were unnecessarily escaped when placed within range expressions.  This change aligns the
sanitizing code with reicast.
2023-03-06 08:39:57 -05:00
Aaron Pfeifer
d24b45674e retroarch: Fix ES configscript not using fixed strings in grep commands that are searching for the device name
The impact of this is that any device name that's reported with special characters from grep's default regular expression
engine would fail.  For example, "*" would be misinterpreted.  This change makes the script more aligned with other
grep commands in the file.
2023-03-06 08:39:57 -05:00
Aaron Pfeifer
0442962f54 reicast: Fix ES configscript not accounting for a few additional special characters when generating sanitizing filenames (/, \, and *)
https://github.com/RetroPie/RetroPie-Setup/pull/2992 references this commit in reicast: 8b5c2a3fac (diff-b3f91e0a878ca6a79689c44f6b0e14f1e4d9d01e664190a41f5ee15f18c35adaR140-R150)
which is used as the reference for which additional characters to sanitize
2023-03-06 08:39:57 -05:00
Aaron Pfeifer
3bd3b9c715 mupen64plus: Fix ES configscript not accounting for special characters (e.g. / and *) when using the device name in sed commands 2023-03-06 08:39:57 -05:00
Stefan
92eb182839
emulationstation.sh: workaround Ubuntu 22.04 focus problem
Emulationstation has focus problems under Ubuntu 22.04's "GNOME on Wayland" session. Don't use SDL2's wayland driver and run emulationstation with --fullscreen-borderless if desktop session is "GNOME on Wayland".
2023-03-06 12:43:14 +01:00
Jools Wills
e87e40b44c raspbiantools - use aptRemove for disable_zram
Use our helper function for package removal (which uses apt-get).

apt will throw a warning when run via retropie_setup

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
2023-03-01 18:11:08 +00:00
Jools Wills
2178b68d11
Merge pull request #3607 from joolswills/sdl2_bullseye
sdl2 - updated to retropie-2.26.3 branch for bullseye
2023-02-28 17:57:58 +00:00
Jools Wills
f2631dc033
Merge pull request #3647 from cmitu/samba-no-more
samba: update restart to remove old service name
2023-02-27 07:52:24 +00:00
cmitu
dee89131b8 samba: update restart to remove old service name
Removed the `samba` service name, it's not used since _stretch_.
2023-02-27 04:13:53 +00:00
Jools Wills
034ed6239b
Merge pull request #3646 from gizmo98/fix#3563
runcommand.sh: suppress framebuffer garbage
2023-02-25 20:09:49 +00:00
cmitu
7ecf97fe96 retronetplay: make use of the 'inputBox' helper
Modified the netplay configuration dialog to use the new 'inputBox' helper function.
If OSK is installed, it will be used automatically so a keyboard is no longer required to configure these options.
2023-02-25 18:24:06 +00:00
Stefan
050745ef8b runcommand.sh: suppress framebuffer garbage
Fix https://github.com/RetroPie/RetroPie-Setup/issues/3563.
2023-02-25 12:40:51 +01:00
Jools Wills
e1935ab5da helpers - added inputBox function that uses the OSK
If the OSK is installed it will be used for input, otherwise it will fall back to using dialog --inputbox

function takes 3 parameters:

The title of the dialog, the default text and a minimum number of characters to accept.

Adjusted wifi module to use the new inputBox. There is no need to redirect cmd output with 2>&1 >/dev/tty as the inputBox function does this.
2023-02-24 21:47:22 +00:00
Jools Wills
cbe16bf974
Merge pull request #3636 from gizmo98/compressed-memory
raspbiantools: Add option to enable compressed memory (ZRAM)
2023-02-22 16:56:24 +00:00
Stefan
06f38fff87 raspbiantools: Add option to enable compressed memory (ZRAM)
Compressed memory (ZRAM) can be used with low memory embedded devices. ZRAM has compression ratio of up to 4:1 if zstd algorithm is used. 256MB
 of reserved physical memory can store up to 1024MB. It is only used if free memory is getting low. It is much faster than disk swapping. It also prevents linux from using disk swap until ZRAM is full.
https://wiki.debian.org/ZRam
https://wiki.ubuntuusers.de/zRam/
https://haydenjames.io/raspberry-pi-performance-add-zram-kernel-parameters/

Add an option which enables ZRAM with a swap size of 50% of physical memory size.

Example: Raspberry Pi4, 2GB, RetroPie 4.8

Meminfo without ZRAM
pi@retropie:~ $ cat /proc/meminfo
MemTotal:        1917108 kB
MemFree:         1567396 kB
MemAvailable:    1759312 kB
Buffers:           24592 kB
Cached:           240928 kB
SwapCached:            0 kB
Active:           115120 kB
Inactive:         170404 kB
Active(anon):        616 kB
Inactive(anon):    29056 kB
Active(file):     114504 kB
Inactive(file):   141348 kB
Unevictable:          16 kB
Mlocked:              16 kB
HighTotal:       1232896 kB
HighFree:         959980 kB
LowTotal:         684212 kB
LowFree:          607416 kB
SwapTotal:        102396 kB
SwapFree:         102396 kB
Dirty:             30800 kB
Writeback:             0 kB
AnonPages:         20052 kB
Mapped:            32344 kB
Shmem:              9668 kB
KReclaimable:      18456 kB
Slab:              35056 kB
SReclaimable:      18456 kB
SUnreclaim:        16600 kB
KernelStack:        1136 kB
PageTables:         1796 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     1060948 kB
Committed_AS:     112832 kB
VmallocTotal:     245760 kB
VmallocUsed:        5208 kB
VmallocChunk:          0 kB
Percpu:              576 kB
CmaTotal:         327680 kB
CmaFree:          313280 kB

Meminfo with 50% ZRAM
pi@retropie:~ $ cat /proc/meminfo
MemTotal:        1917108 kB
MemFree:         1604616 kB
MemAvailable:    1676408 kB
Buffers:           20880 kB
Cached:           152212 kB
SwapCached:            0 kB
Active:            45144 kB
Inactive:         149896 kB
Active(anon):        632 kB
Inactive(anon):    55996 kB
Active(file):      44512 kB
Inactive(file):    93900 kB
Unevictable:       25004 kB
Mlocked:              16 kB
HighTotal:       1232896 kB
HighFree:        1020208 kB
LowTotal:         684212 kB
LowFree:          584408 kB
SwapTotal:       1060940 kB
SwapFree:        1060940 kB
Dirty:                72 kB
Writeback:             0 kB
AnonPages:         46988 kB
Mapped:            70232 kB
Shmem:             34672 kB
KReclaimable:      13088 kB
Slab:              28820 kB
SReclaimable:      13088 kB
SUnreclaim:        15732 kB
KernelStack:        1248 kB
PageTables:         2124 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     2019492 kB
Committed_AS:     177464 kB
VmallocTotal:     245760 kB
VmallocUsed:        7412 kB
VmallocChunk:          0 kB
Percpu:              576 kB
CmaTotal:         327680 kB
CmaFree:          283624 kB
2023-02-22 15:46:44 +01:00
Jools Wills
361edcb4be sdl2 - updated to retropie-2.26.3 branch for bullseye
Due to https://github.com/libsdl-org/SDL/issues/5399 which breaks darkplaces-quake in RetroPie we are keeping Buster at 2.0.10 until there is a resolution.

Added libsamplerate0-dev dependency to module.

Branch includes reworking the patch for kms modesetting via env variables, some minor changes to our Mali and RPI patches, and some removal of no longer needed changes.

It also includes removal of some debian/control build dependencies which were added to upstream to align with Debian's packaging. The additions caused dependencies like libwayland-dev and libpulse-dev to be required for all platforms. As we handle adding dependencies in our sdl module code, these have been removed in our retropie-2.0.16+ sdl2 branches.

Include fix for detection of videocore due to our renamed include folders (thanks @cmitu).
2023-02-22 14:18:28 +00:00
Stefan
88dafca9e1 emulationstation: modify wayland detection
I have done some tests running weston/wayland from CLI with a rpi4/raspbian-lite. After startup of weston $XDG_SESSION_TYPE is still "tty". If I start a weston/wayland session with graphical login (display manager sddm or gdm3) $XDG_SESSION_TYPE is "wayland". $WAYLAND_DISPLAY can be found in both constellations and seems to be more reliable. On a rpi4 $WAYLAND_DISPLAY=wayland-0. Just replace $XDG_SESSION_TYPE with $WAYLAND_DISPLAY.
2023-02-21 21:17:35 +01:00
Jools Wills
ea2533dd19
Merge pull request #3627 from gizmo98/platform-flag-vulkan
add platform flag vulkan
2023-02-12 19:22:52 +00:00
Stefan
2386c4b22a add platform flag "vulkan" 2023-02-12 19:47:07 +01:00
Jools Wills
6ae0b973aa
Merge pull request #3628 from cmitu/desktop-paudio
raspbiantools: disable PulseAudio on Buster after install
2023-02-09 18:32:07 +00:00
cmitu
051491ce5a raspbiantools: disable PulseAudio on Buster after install
PulseAudio is pulled by installing the desktop since [1] on `buster`.
Changed the install procedure to disable it after adding the desktop and to replace the volume applet for `lxpanel` with the version that supports ALSA (otherwise `lxpanel` crashes, leaving the deskop unusable).

[1] https://www.raspberrypi.com/news/new-raspberry-pi-os-release-december-2020/
2023-02-09 18:17:11 +00:00
cmitu
d64a1f4e02 xpadneo: update to version 0.9.5
This is a hotfix release to fix broken SDL/Steam mappings.
Previous version (0.9.4) was just a re-release of 0.9.3 which adds a missing uhid warning and fixes the module version number.
2023-02-08 06:11:07 +00:00
Jools Wills
b956140cf5
Merge pull request #3624 from gizmo98/emulationstation-gles
emulationstation: allow gles for all platforms
2023-01-25 21:08:45 +00:00