Commit graph

8017 commits

Author SHA1 Message Date
Jools Wills
cbb0b5f4e2 setup - only show the kms driver warning on Debian 10 and older 2023-10-19 17:10:43 +01:00
Jools Wills
fdcb0338d3
Merge pull request #3772 from cmitu/atari800-update
atari800: update to 5.0.0
2023-10-19 16:02:09 +01:00
cmitu
950f5dc69f atari800: update to 5.0.0
Updated to latest release tag.

Notable changes in 5.0.0 (full changelog at https://github.com/atari800/atari800/releases/tag/ATARI800_5_0_0):

 * AVI video recording (Alt+V hotkey) by Rob McMullen
 * MP3 audio and other audio codecs for audio recording
 * New cartridge types supported:
   - 71: Super Cart 64 KB 5200 cartridge (32K banks)
   - 72: Super Cart 128 KB 5200 cartridge (32K banks)
   - 73: Super Cart 256 KB 5200 cartridge (32K banks)
   - 74: Super Cart 512 KB 5200 cartridge (32K banks)
   - 75: Atarimax 1 MB Flash cartridge (new)
    See DOC/cart.txt for details.
  * support for remapping of all function keys (START, SELECT, OPTION etc)
  * tool for creating cart files from ROM files
  * video triple buffering changed to double buffering
  * gamma values in NTSC filter presets updated
  * Altirra OS updated to v3.28
  * support for 64-512K Atari 5200 bank-switchable carts with Bryan's design
  * support for the alternate variant of MaxFlash 1 MB
  * video triple buffering changed to double buffering
2023-10-19 04:02:11 +01:00
Gemba
015c1537fb for v3.9.0 release of Skyscraper
- new script files to be installed
- new config files (partially replacements)
- keep config files in a stash for idempotence of 'configure' calls
- some spaces and quotes corrected
2023-10-18 18:28:29 +02:00
Jools Wills
a1f0dbd954
Merge pull request #3770 from cmitu/xboxdrv-update2
xboxdrv: remove obsolete USB options
2023-10-18 06:18:16 +01:00
Jools Wills
c61d92e5a2
Merge pull request #3769 from cmitu/audiosettings-pw
audiosettings: add PipeWire support
2023-10-17 21:35:06 +01:00
Jools Wills
10a90d32e5
Merge pull request #3768 from cmitu/wifi-bookworm
wifi: update search locations for 'wifikeyfile'
2023-10-17 18:59:38 +01:00
Jools Wills
8da9667ec2
Merge pull request #3764 from cmitu/armbian-support
systems: add support for Armbian
2023-10-17 18:58:17 +01:00
cmitu
3fd5a3cbf0 audiosettings: add PipeWire support
Since PipeWire is the default sound server in RaspiOS 12 _bookworm_, make sure we account for its presence and we're able to choose a default card ('output sink') or disable/enable it.

At this time, PipeWire is using emulating a PulseAudio session manager through `pipewire-pulse`, while also running the native `wireplumber` session manager.
Most of the clients still think they speak to PulseAudio using the PulseAudio client API, while the actual backend is PipeWire.

Changed:
 - use `pactl` instead of `pacmd`, since the latter is not working through PipeWire's PulseAudio emulation
 - use `pactl` to set the PipeWire defaul output, instead of using the native `pw-cli`
 - added a toggle functions for PipeWire and PulseAudio, chosen based on the detected sound server

NOTE: although techically possible, I haven't added an option to enable PulseAudio if PipeWire is also present, but I don't think it's needed.
2023-10-17 18:47:23 +01:00
cmitu
6b4c980892 systems: add support for Armbian
Added support for detecting if running on a Armbian built system.
Armbian is built on Debian/Ubuntu, so we're not changing the OS release/name.

* Added support for Armbian's Linux kernel package naming, in order to be able to install the kernel headers.
* Removed the ZRAM config from our own menu, Since Armbian has its own configuration tool (`armbian-config`) that handles it. ZRAM is configured and enabled y default on Armbian images.
2023-10-17 18:37:55 +01:00
cmitu
4d60904810 wifi: update search locations for 'wifikeyfile'
Since RaspiOS Bookworm, the `bootfs` (1st) partition is mounted under `/boot/fimware` instead of `/boot`, so look for the WiFi file under that location also.
2023-10-17 18:26:34 +01:00
Jools Wills
7a2a20574a
Merge pull request #3762 from joolswills/image_urls
image - update urls to correct images now rpios bookworm is released
2023-10-16 22:19:52 +01:00
Jools Wills
12cfe1b2b8 image - fix chroot path for create_image 2023-10-16 20:36:39 +01:00
Jools Wills
098f4c44f1
Merge pull request #3765 from cmitu/bookworm
helpers: add support for the Bookworm Linux kernel header packages
2023-10-16 20:00:01 +01:00
Dwayne Hurst
edf23d751c
esthemes - add new theme ballsy from RetroHursty69 2023-10-16 19:59:07 +01:00
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
3807ed42e3 helpers: add support for the Bookworm Linux header packages
Starting with the Bookworm RaspiOS release, the Linux kernel package is no longer a monolithic package and it has been split in several packages, named after their build configuration, which in turn is dictated by the Pi model and architecture (`armhf`/`aarch64`).

This change adds support for the Linux kernel headers packages on the new OS release, which followed a similar split from the previously used `raspberrypi-kernel-headers` package.

NOTES:
 * mixed kernel/userland archs are not supported. By default, an `armhf` RaspiOS installation will boot the Pi4/Pi5 with the 64bit kernel, but the corresponding headers package is not installable. While the Pi4 can still boot a 32bit kernel by adding `arm_64bit=0` to `/boot{/firmware}/config.txt`, the Pi5 does not have this capability.
 * on the RaspiOS Bookworm images the Linux kernel images/headers are already installed, the mapping and installation will have effect if the user explicitely removes the header packages.
2023-10-15 16:25:58 +01:00
Jools Wills
3bd6acb363 image - update urls to correct images now rpios bookworm is released 2023-10-14 19:40:05 +01:00
Jools Wills
70a698ada3
Merge pull request #3760 from cmitu/wifi-over-nm
wifi: add NetworkManager support and various tweaks
2023-10-14 18:17:23 +01:00
Jools Wills
427ff28f8a
Merge pull request #3761 from cmitu/map-update-1
helpers: handle deprecation of 'libfreetype6-dev'
2023-10-14 16:56:13 +01:00
cmitu
285e6894ab helpers: handle deprecation of 'libfreetype6-dev'
The `libfreetype6-dev` package has been replaced with `libfreetype-dev` since Debian 11 _bullseye_ [1].
It's not present in the current Debian testing (_trixie_) and Ubuntu 23.10 [2]

Added a mapping for the package, since it will help installing RetroPie on Ubuntu 23.10.
When we stop supporting _buster_, we can remove the mapping and replace any `libfreetype6-dev` dependencies in the scriptmodules with the new package.

[1] https://packages.debian.org/bullseye/libfreetype6-dev - marked as 'transitional'
[2] https://packages.ubuntu.com/search?keywords=libfreetype6-dev - removed from Ubuntu 23.10
2023-10-14 04:18:34 +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
Jools Wills
a43e29c1d2
Merge pull request #3705 from s1eve-mcdichae1/skyscraper-patch
Skyscraper - update source repo and scriptmodule
2023-10-08 20:14:10 +01:00
Jools Wills
0e8484739f
Merge pull request #3754 from cmitu/retroarch-1.16.0
retroarch: upgrade to v1.16.0
2023-10-08 20:08:40 +01:00
Jools Wills
00511fe745 builder - rework chroot builder RetroPie-Setup cloning
Previously RetroPie-Setup was cloned from the calling RetroPie-Setup scriptmodule on the host side, but this only worked when the UID/GID of the user was 1000:1000 matching the first user in the chroot.

Due to changes in my build system, this required a fix. It now does the clone from within the chroot, so the ownership is correct for chroot pi user.

This commit also fixes up the multiline quoting and removes an unnecessary trailing slash on a mkdir.
2023-10-08 20:06:44 +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
Rapid Edwin
7fad64bc1d
systems: added LMDE6 Support
Add __os_debian_ver="12" for Linux Mint Debian Edition 6
2023-10-05 14:21:37 +03:00
Jools Wills
0d94b2cc85
Merge pull request #3758 from cmitu/dolphin-build-5
dolphin: fix Qt6 Svg dependency for Ubuntu
2023-10-03 05:49:12 +01:00
cmitu
cf541c3bc0 dolphin: fix Qt6 Svg dependency for Ubuntu
Ubuntu seems to have different names for the QtSvg module, so try to install the available package depending on the distro release.
2023-10-03 03:04:46 +01:00
Jools Wills
6e80c1bdc3
Merge pull request #3755 from joolswills/chroot_builder_changes
Chroot builder changes
2023-09-30 20:57:47 +01:00
Jools Wills
1e7d9efea8 Fix stretch image format in rpios-stretch configuration file 2023-09-30 20:34:00 +01:00
Jools Wills
04aa7bca5a builder - adjust for the new image module changes
Get the default platforms to build for and the binary archive location via _get_info_image.

Remove default "buster" dist.

Make sure we have created "$scriptdir/$archive_dir/" before rsyncing existing archives to the chroot in case it doesn't exist.

Remove logic check to skip rpi4 on stretch (not needed with the new image changes that provides this).
2023-09-30 20:27:44 +01:00
Jools Wills
d46a068fb0 image - use distribution name for default chroot location
When making a chroot use the distribution name rather than the default $md_build/chroot

Require the chroot location parameter for the chroot, init and deinit functions.

Adjust the _get_info function so it can be used directly from the builder module.
2023-09-30 20:24:03 +01:00
cmitu
05f63975f8 retroarch: upgrade to v1.16.0 (.3)
Upgraded RetroArch to current v1.16.0 version and added a new configuration option to disable creation of runtime logs (saved when the content is closed by the core).

Notable changes in v1.16.0, selected from the full release announcement (https://www.libretro.com/index.php/retroarch-1-16-0-release/):

 General:
  - Add new API for microphone support (no core supports this at the moment)
  - Make cmd interface more useful for replay information
  - Use refresh rate instead of core fps for frameskip timing
  - Allow RETRO_ENVIRONMENT_SET_MEMORY_MAPS also after core startup. Change the comment in libretro.h about the removed limit and handle the environment call during core runtime in RetroArch.
  - Add new API for querying the device's power state.
  - Don't count frames while paused
  - Improve ZIP decompression This reduces the amount of memory Retroarch needs to extract a ROM file. It will only need the size of the ROM plus 128KiB to extract the file from the ZIP. Previously it needed as much as twice that amount if the compression ratio was not great. This is useful on memory constrained platforms and has no impact on platforms with plenty of memory. Handles all cases correctly (with and without MMAP, for cores that require fullpath or not, small and big ZIP files).
  - Fix corrupt task progress percentage

 Netplay/Networking:
  - Enhance netpacket interface
  - Enable core host to refuse connecting new players to limit the number of connected players
  - Enable a core to flush outgoing packets and read incoming packets without waiting for the next frame (can be used for lower latency or blocking reads)

 Video:
  - (SWITCHRES) Don't always force core aspect ratio
  - (SWITCHRES) Add PAL threshold option for automatic refresh rate switch
  - (SWITCHRES) Add KMS modeswitch
  - Correct rotated core provided aspect ratio
  - Minor adjustments to refresh rate switch behavior
  - Use "nearest" scaling in menus (SDL2 video driver)
  - Fix windowed viewport with libretro rotation
  - Add frame callback after egl_swap_buffers to improve latency when max_swapchain <= 2
  - (VULKAN) Ignore Fast-Forward Frameskip option
  - (VULKAN) Support screen refresh rate with Vulkan KHR_Display context

 Audio:
  - Fast-Forward Audio Resampling
  - Count audio samples in stats when rate control is disabled
  - Support device list for PulseAudio
  - Show MIDI output first in settings
  - Fix RetroArch fails to restart streaming when video re-inits and instead starts recording

 Cheevos:
  - Upgrade to rcheevos 10.7
  - Add progress tracker widget
  - Collapse trackers with same value definition
  - Eliminate leaderboard tracker stutter
  - Expand leaderboard visibility settings
  - disallow 'video_swap_interval' and 'black_frame_insertion' in hardcore

  Input:
   - (LINUX) Input driver fix 8+ joypads. It was reported that controllers beyond 8 worked only partially (analogs yes, but not buttons), and the found fix was also confirmed.
   - Combo hold + 'enable_hotkey' correction. Fixed issue with having menu toggle hold combo in different button than 'enable_hotkey', which caused 'enable_hotkey' to also act as menu toggle if held long enough, and simplified and unified duplicate code in start+select holds to a single function.
   - Don't check hotkey binds when device is RETRO_DEVICE_POINTER
   - Add 'Save As' option for remaps and overrides
   - Send keyboard events for modifiers before other keys (for correct modifier+key input if hitboxes overlap)
   - Log mouse devices in info level (udev driver)
   - First working version of udev driver with touchscreen support and gestures.
   - Add Wayland to input driver list
   - Remember currently set keyboard mapping bits during same config read, because otherwise customized keybinds can get cleared out of the bits on the next iteration, causing keyboard events to get passed to the core when they should get blocked.
   - move port X binds into retropad binds submenu and add appropriate help text and sublabels to discourage people from messing around in there unnecessarily
   - Revive/rewrite Keyboard Overlay and OSK Toggle. Add keyboard overlay preset, keyboard submenu, and osk_toggle hotkey. Use overlay caching for osk_toggle.
   - Stop always reseting to defaults on remap delete
   - Fix rumble on PS4/PS5 controllers connected via Bluetooth with the SDL2 input driver

  Menu:
   - Reorganize 'Saving' menu
   - Start directory browsing from current value
   - Fix menu toggle combo hold with same 'enable_hotkey'
   - Various cleanups and labels additions/updates
   - Change network port menu options to 'allow_input' mode
   - Add menu scroll home+end actions
   - Move 'systemfiles_in_content_dir' from Saving to Core
   - Menu navigation acceleration adjustments
   - Remove advanced option flag from video rotation + orientation
   - Add missing menu visibility option for content dir override
   - Fix certain audio drivers from hanging when menu pause is enabled with menu sounds
   - (OSD) Show current video + audio drivers in statistics
   - (OSD) Ensure statistics text is aligned left
   - Fix menu sounds stopping after fullscreen toggle / video reinit
   - Search box usability improvements
   - Fraction setting wraparound rounding correction
2023-09-29 02:50:36 +01:00
Jools Wills
083362dd05
Merge pull request #3753 from cmitu/zesarux-x
zesaux: upgrade to version X (10.10)
2023-09-27 09:23:25 +01:00
cmitu
d072fd3194 zesaux: upgrade to version X (10.10)
10 years aniversary edition !

*    Improvements in Network Gaming: Allow to connect more than two hosts (up to 16) and the flash state is sync between al instances. Keep in mind that this ZEsarUX feature allows to play any emulated game at the same time with many friends, every one at his house and connected to Internet. It works for all emulated games, you don't have to modify the games
*    Amstra PCW improvements: Added PCW colour modes (4 or 16 colours) and added PCW Joysticks support: Kempston, Cascade, DKTronics, OPQASpace
*    Text Adventure improvements: Use artificial intelligence (OpenAI) to get realistic images for location description text. Also, added GAC support on Adventure Map and Debug Adventure
*    AY Player improvements: Added playlist management, allow shuffle mode, added silence mode so it skips to next track if detected silence
*    Better menu management: pressing ESC closes all menus, so you don't have to press ESC multiple times to close all submenus
*    Improved Accessibility: Added Sounds for GUI events
*    Added new compiled versions: Ubuntu and Fedora
*   Added another toy "ZXLife" to a new menu Procrastinate

Cesar's announcement in the forums contains a detailed changelog and also the project's release notes on this version:

 - https://retropie.org.uk/forum/topic/34578/zesarux-x
 - https://github.com/chernandezba/zesarux/releases/tag/ZEsarUX-X
2023-09-27 04:22:29 +01:00
Jools Wills
cb646d86d4
Merge pull request #3752 from cmitu/dolphin-build-4
dolphin: update dependencies for latest version
2023-09-21 18:02:32 +01:00
cmitu
9c3887f42d dolphin: update dependencies for latest version
Since May 2023, Qt6's SVG component is required, make sure we install the corresponding dependency.
2023-09-21 17:38:23 +01:00
Jools Wills
3fe5b50120
Merge pull request #3751 from cmitu/scummvm-2.7.1
scummvm: update to 2.7.1 and tweak startup script
2023-09-18 07:01:15 +01:00
cmitu
b05030139f scummvm: don't hardcode the "extrapath" at runtime
In order to allow users to change the 'extrapath' directory, don't add the 'extrapath' parameter unless it's missing from the configuration file.
Note that multiple 'extrapath' entries can be present in the configuration file, since it can be set per-game as well as a global option.
2023-09-15 04:36:51 +01:00
Jools Wills
4195f151e1
Merge pull request #3746 from cmitu/scraper-fix-dep3
scraper: change build method to fix FTBS
2023-09-13 16:12:06 +01:00
cmitu
31dc42c05f scummvm: update to 2.7.1
Upstream changelog:

* Added ScummVM Log file viewer, so you can easily report the problems on platforms with limited file access, e.g. Android, iOS or even modern Windows.
* Fixed the shader-based scaler loading on some platforms.
* Added multiple improvements to AGI, AGS, Cryomni3D and 12 more engines.
* Improved the detection of Broken Sword 1 & Broken Sword 2, so more original versions get properly detected

Unabridged changelog: https://downloads.scummvm.org/frs/scummvm/2.7.1/ReleaseNotes.html
2023-09-13 05:35:03 +01: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
Jools Wills
292c09dd9b
Merge pull request #3749 from cmitu/aarch64-additions
aarch64: add PS1 and SNES emulators to default installation
2023-09-10 21:15:03 +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
Jools Wills
5f2b85a706
Merge pull request #3747 from cmitu/platform-updates-2
platforms: add zip extension for PC-98
2023-09-06 18:53:18 +01:00
cmitu
776eecedc2 platforms: add zip extension for PC-98 2023-09-06 16:17:10 +01:00
Jools Wills
e99c2738b8
Merge pull request #3745 from cmitu/mame-arm-build
mame: force 'char' to be signed on ARM platforms
2023-09-01 01:37:20 +01:00
cmitu
810426d9dd mame: force 'char' to be signed on ARM platforms
Forcing 'char' to be signed fixes crashing in some drivers, needed on ARM.

The default behavior for 'char' is arch/ISA specific, see:
https://stackoverflow.com/questions/46463064
2023-08-31 16:22:54 +01:00
Jools Wills
a9602fcb4c retropie-setup - bump version to 4.8.5 2023-08-15 17:20:24 +01:00