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.
New function _get_info_image reads values from the distribution ini configuration files stored in image/dists
This simplifies the code and avoids having logic for different versions in multiple functions.
The ini format is as follows - it may change and be extended in the future.
The filename is the dist name that is passed into the building functions.
The current images now have a prefix "rpios-"
* name: name of distro - eg buster
* version: rpios/debian version
* url: url for image file
* format: format of the image file - currently supported is zip and xz (used by raspberrypi.org)
* platforms: list of the platforms supported (eg. rpi1 rpi2 rpi3 rpi4)
* file_PLATFORM (name to be used in the image file for each platform)
* title_PLATFORM (user friendly name of file for each platform - used for rpi imager json)
Set the "pi" password in the chroot install script rather than via userconfig.txt.
Disable the Raspberry Pi OS userconfig service for now. This stops the code to rename user after partition resize.
This would also disable autologin (with a var/lib/userconf-pi/autologin) file, but since our set-up doesn't currently
work with renaming the user RetroPie was installed for due to some hardcoded paths on install, it's safer to bypass this functionality.
Enable getty@tty1.
Note: Have tested with RPI-Imager, which when using a local image, checks it and thinks it can be configured.
This also resolves this case where it would allow a username change.
In the future we may be able to change the few config paths that are hardcoded to allow configuration of the user via RPI-imager.
This ensures the filesystem is created with supported features if images are created on a system with a newer mkfs.ext4.
Remove metadata_csum disabling as it's no longer needed with above changes (and was added for compatibility with Jessie).
Disable 64bit ext4 feature as with the Raspberry Pi OS images.
The parameter ordering has changed - install_rp takes the parameters platform, dist, and chroot.
If platform and dist are not included an error is shown. chroot location defaults to "$md_build/chroot".
Move the default username/password setting for bullseye to the install_rp function.
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.
Among others, fixes some input issues, one of them reported in the forums, and a Vero4k black screen during emulation.
Full changelog at https://github.com/BlitterStudio/amiberry/releases/tag/v5.6.1
Bugfixes:
- Hardfile properties were always set to default (fixes#1077)
- cycle exact was incorrect enabled sometimes (fixes#1075)
- Fix foreign disk image support when drive is standard Amiga 3.5" DD
- hsync events should be before misc events
- fixed uaegfx board parameters
- uaegfx board name is UAE, not uaegfx.card
- Fix helptext formatting in CPU panel (fixes#1088)
- use double-quotes to denote inches in GUI
- when using --autoload with a filename in the current path, Amiberry would crash (fixes#1091)
- fix build errors with GCC 13.1 (fixes#1100)
- savestate cmd line option would not use filename (fixes#1081)
- second controller buttons would not be registered in retroarch (fixes#1092)
- Fullscreen toggle would no longer work since v5.3 (fixes#1103)
- reverted copying of prefs on hard reset (fixes#1068)
Improvements:
- VGA mode resolution autoswitch update
- VGA autoswitch update to support new OS 3.2 monitors
- Upgraded FloppyDriveBridge to v1.4
- improve message when Main ROM is not found (fixes#1095)
- improve Floppy GUI panel (fixes#1094)
- use BGR888 for 32-bit modes (fixes#1080)
Recently [1], Dolphin dropped support for Qt5.
For systems where Qt6 is not available (Debian 11 _bullseye_), use a commit from before the change to prevent the build from failing.
[1] https://github.com/dolphin-emu/dolphin/pull/11775
Changed the source repository to the libretro fork of the core, since it gets a bit of maintenance than the original repo ('r-type/xmil-libretro') and I noticed a few more core options have been added over the time. The original core repository hasn't been updated since 2017.
Added the licence from the libretro fork.
Added basic support for detecting and building on the Rockchip 3588(s) SOC.
The SOC is used in several ARM based SBC including Radxa Rock 5(A/B), Orange Pi 5(B), Khadas Edge 2.
The CPU is an octocore package with 4x Cortex-A76 + 4x Cortex-A55 cores.
There are several distributions that support these systems, vendor provided images including a proprietary Mali blob with OpenGLES 3.2/OpenCL support or community provided images using either a Mesa fork for GLES/X11/Wayland support. For now, the platform has an `x11` flag to allow most of the emulators to be installed, but we might switch to dynamically detecting the desktop platform (i.e. `wayland` / `x11` depending on the system).
libretro build files are now included in the upstream scummvm repository, and the libretro repo is a fork of that.
The `main` branch is now `master` and the libretro makefiles have moved to backends/platform/libretro.
Update the module licence path and install file paths.
fix
`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)
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.