diff --git a/.github/workflows/build-main.yaml b/.github/workflows/build-main.yaml
index f4f69acc58..581589207d 100644
--- a/.github/workflows/build-main.yaml
+++ b/.github/workflows/build-main.yaml
@@ -101,14 +101,15 @@ jobs:
|**Device/Platform**|**Download Package**|**Documentation**|
|----|----|----|
|**Anbernic RG351P/M, Game Console R33S/R35S/R36S, ODROID Go Advance, ODROID Go Super, Magicx XU10**|[JELOS-RK3326.aarch64-${{ steps.version.outputs.version }}.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3326.aarch64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/RK3326/)|
+ |**Anbernic RG353P/M/V/VS, RG503, Powkiddy RK2023, RGB10 Max 3, RGB30**|[JELOS-RK3566-BSP.aarch64-${{ steps.version.outputs.version }}.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3566-BSP.aarch64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/RK3566/)|
|**Anbernic RG552**|[JELOS-RK3399.aarch64-${{ steps.version.outputs.version }}.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3399.aarch64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/RK3399/)|
|**Atari VCS, AOKZOE, Ayaneo, Ayn, GPD, and other x86_64 devices**|[JELOS-AMD64.x86_64-${{ steps.version.outputs.version }}.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-AMD64.x86_64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/AMD64/)|
+ |**Gameforce Ace**|[JELOS-RK3588.aarch64-${{ steps.version.outputs.version }}.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3588.aarch64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/RK3588/)|
|**Hardkernel ODROID Go Ultra, Powkiddy RGB10 Max 3 Pro**|[JELOS-S922X.aarch64-${{ steps.version.outputs.version }}-Odroid_GOU.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-S922X.aarch64-${{ steps.version.outputs.version }}-Odroid_GOU.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/S922X/)|
|**Hardkernel ODROID N2/N2+**|[JELOS-S922X.aarch64-${{ steps.version.outputs.version }}-Odroid_N2.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-S922X.aarch64-${{ steps.version.outputs.version }}-Odroid_N2.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/S922X/)|
|**Hardkernel ODROID N2L**|[JELOS-S922X.aarch64-${{ steps.version.outputs.version }}-Odroid_N2L.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-S922X.aarch64-${{ steps.version.outputs.version }}-Odroid_N2L.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/S922X/)|
|**Orange Pi 5, and Indiedroid Nova**|[JELOS-RK3588.aarch64-${{ steps.version.outputs.version }}.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3588.aarch64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/RK3588/)|
-
- > Note: Anbernic RG353P/M/V/VS, RG503, Powkiddy RK2023, RGB30, RGB10 Max 3, and x55 releases are paused at version [20240206](https://github.com/JustEnoughLinuxOS/distribution/releases/tag/20240206) while mainline integration is worked. New releases for these devices will return soon.
+ |**Powkiddy x55**|[JELOS-RK3566-BSP-X55.aarch64-${{ steps.version.outputs.version }}.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3566-BSP-X55.aarch64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/RK3566-X55/)|
## Upgrading
* Download and install the update online via the System Settings menu.
@@ -121,12 +122,13 @@ jobs:
|**Device/Platform**|**Download Package**|
|----|----|
|**Anbernic RG351P/M, Game Console R33S/R35S/R36S, ODROID Go Advance, ODROID Go Super, Magicx XU10**|[JELOS-RK3326.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3326.aarch64-${{ steps.version.outputs.version }}.tar)|
+ |**Anbernic RG353P/M/V/VS, RG503, Powkiddy RK2023, RGB10 Max 3, RGB30**|[JELOS-RK3566-BSP.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3566-BSP.aarch64-${{ steps.version.outputs.version }}.tar)|
|**Anbernic RG552**|[JELOS-RK3399.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3399.aarch64-${{ steps.version.outputs.version }}.tar)|
|****Atari VCS, AOKZOE, Ayaneo, Ayn, GPD, and other x86_64 devices****|[JELOS-AMD64.x86_64-${{ steps.version.outputs.version }}.tar](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-AMD64.x86_64-${{ steps.version.outputs.version }}.tar)|
+ |**Gameforce Ace**|[JELOS-RK3588.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3588.aarch64-${{ steps.version.outputs.version }}.tar)|
|**Hardkernel ODROID Go Ultra, N2/N2+/N2L, Powkiddy RGB10 Max 3 Pro**|[JELOS-S922X.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-S922X.aarch64-${{ steps.version.outputs.version }}.tar)|
|**Orange Pi 5, and Indiedroid Nova**|[JELOS-RK3588.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3588.aarch64-${{ steps.version.outputs.version }}.tar)|
-
- > Note: Anbernic RG353P/M/V/VS, RG503, Powkiddy RK2023, RGB30, RGB10 Max 3, and x55 releases are paused at version [20240206](https://github.com/JustEnoughLinuxOS/distribution/releases/tag/20240206) while mainline integration is worked. New releases for these devices will return soon.
+ |**Powkiddy x55**|[JELOS-RK3566-BSP-X55.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3566-BSP-X55.aarch64-${{ steps.version.outputs.version }}.tar)|
## Documentation
diff --git a/.github/workflows/repo-clean.yaml b/.github/workflows/repo-clean.yaml
new file mode 100644
index 0000000000..7cd3fc9a90
--- /dev/null
+++ b/.github/workflows/repo-clean.yaml
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Copyright (C) 2022-present Fewtarius
+
+name: repo-clean
+on:
+ workflow_dispatch:
+
+jobs:
+ clean-dev-releases:
+ runs-on: ubuntu-22.04
+ steps:
+ - uses: dev-drprasad/delete-older-releases@v0.3.2
+ with:
+ repo: JustEnoughLinuxOS/distribution
+ keep_latest: 0
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/CHANGELOG b/CHANGELOG
new file mode 100644
index 0000000000..312eee3b90
--- /dev/null
+++ b/CHANGELOG
@@ -0,0 +1,3430 @@
+-------------------------------------------------------------------------------
+20220206 -
+
+ * Update to kernel 4.4.301.
+ * Correct CPU performance governor function to set both big and
+ little cores correctly.
+ * Prevent RetroArch 1.10.0 from setting max brightness.
+-------------------------------------------------------------------------------
+20220210 -
+
+ * Correct audio volume for PPSSPP.
+ * Improve system information.
+ * New WIFI management tool wifictl.
+ * Update RetroArch cores.
+ * Emulationstation now sets proper aspect ratio by default.
+ * Adds initialization message during first startup.
+ * Move hardware init into user land startup, start hardware before
+ services.
+ * Additional OS and project cleanup.
+-------------------------------------------------------------------------------
+20220211 -
+
+ * Fix an issue where Samba loses the user account when password
+ rotation is disabled.
+ * Fix jelos-info to remove duplicate info.
+ * Set the appropriate mixer in ES on startup to correct an issue with
+ the volume overlay.
+ * Apply a small overclock of the fast cores thanks to [74]@notime2d8.
+-------------------------------------------------------------------------------
+20220213 -
+
+ * Update parallel-n64 compiler optimizations.
+ * Add max fps patch for PPSSPP, thanks to [73]@shantigilbert.
+ * JELOS will no longer create an extra partition on the primary SD
+ card.
+
+ This release establishes community and contribution guidelines as well
+ as templates for issues and pull requests for those in the community
+ who would like to contribute.
+-------------------------------------------------------------------------------
+20220215 -
+
+ * KMSDRM cursor rotation thanks to [74]@JohnnyonFlame and
+ [75]@romadu.
+ * Update libretro cores.
+ * Update common-shaders to include more shaders.
+ * Eliminate game transition splash.
+ * Revert and update filesystem resize functionality.
+
+ New images were uploaded replacing the initial release. If you are
+ having trouble with a fresh flash or with volume control, please
+ download the latest image below.
+-------------------------------------------------------------------------------
+20220218 -
+
+ * The storage partition is now resized to use all remaining space on
+ the primary SD card for fresh flashes.
+ * Adds a facility that allows users to create their own start
+ scripts.
+ + Runs any scripts found in /storage/.config/autostart on boot.
+ + More information about this change can be found in the project
+ README.
+ * Adds the current fan speed to System Information in
+ EmulationStation.
+-------------------------------------------------------------------------------
+20220225 -
+
+ * Update emulators and cores.
+ * Update Art Book theme.
+ * Update 351Files, correct resolution and font size. -
+ [74]@brooksytech
+ * Update mupen64plus config. - [75]@brooksytech
+ * Apply sane button defaults to RetroArch. - [76]@brooksytech
+ + To update the RetroArch config after an upgrade, ssh to the
+ device and run:
+ + cp /usr/config/retroarch/retroarch.cfg ~/.config/retroarch/
+ * Misc project housekeeping.
+-------------------------------------------------------------------------------
+20220226 -
+
+ * Sync kernel with upstream.
+ * Fix wifictl to correctly list long SSIDs with spaces and remove
+ duplicate SSIDs.
+-------------------------------------------------------------------------------
+20220227 -
+
+ * Restructure core OS configuration data (now
+ system/configs/system.cfg).
+ * Split game configs out of the system config path (now
+ game/configs).
+ * Small mupen64plus, mupen64plus-nx, and yabasanshiro optimizations.
+ * Update ArtBook theme.
+ * Deprecate and remove Python2 thanks to [74]@CoreELEC.
+ * Misc OS package updates.
+-------------------------------------------------------------------------------
+20220303 -
+
+ * Adds PortMaster by default thanks to [74]@brooksytech.
+ * Fix RetroArch viewport for multiple cores thanks to
+ [75]@brooksytech.
+ * Update RetroArch, PPSSPP, and RetroArch cores.
+ * Add support for the Realtek RTL8821CU WIFI adapter.
+ * Misc OS Updates and cleanup.
+-------------------------------------------------------------------------------
+20220304 -
+
+ * Add cooling profile support with "aggressive" "moderate" "quiet"
+ and "custom" settings.
+ + Quiet - the current default fan curve (Set by default)
+ + Moderate - Low speed default, scales slightly more
+ aggressively.
+ + Aggressive - Always on, full speed.
+ + Custom - Utilizes ~/.config/fancontrol.conf to allow user
+ modified curves
+ * Separate the OS theme from installed themes so it is updated with
+ the OS and doesn't conflict with a user installed version of Art
+ Book.
+ * Update ES Settings to support custom image folders thanks to
+ [74]@anthonycaccese.
+ * Swap controls so L1 and R1 scroll game lists in ES thanks to
+ [75]@brooksytech.
+ * Corrects an issue with get_setting and set_setting that may cause a
+ property mismatch thanks to [76]@romadu and [77]@brooksytech.
+ * Add support for RTL8821CU, RTL8812AU, and RTL8821AU 802.11AC WIFI
+ adapters, thanks to [78]@Black-Seraph for the pointers.
+ + Includes support for 5GHz WIFI networks.
+ + 5GHz 802.11AC WIFI tested with an external RTL8821AU adapter.
+-------------------------------------------------------------------------------
+20220307 -
+
+ * Add overclocking capability that includes profile support allowing
+ you to select an overclock preference of memory, GPU, CPU, or
+ everything.
+ + Memory profile overclocks to 933MHz.
+ + GPU profile overclocks to 900MHz.
+ + CPU profile overclocks to 2.088/1.608MHz (stable) or
+ 2.18/1.704MHz (unstable).
+ + Note: Cooling profiles are disabled while overclocking.
+ Overclocking is disabled by default.
+ + Thanks to [74]@Black-Seraph, @brooksytech, [75]@notime2d8,
+ [76]@SmirksAlot, [77]@JohnnyonFlame and others for their
+ contributions and help with testing.
+ * Adds SDL 2.0.20 thanks to [78]@shantigilbert and
+ [79]@JohnnyonFlame.
+ * Bring back Duckstation thanks to @brooksytech.
+ * Adds a switch to disable internal WIFI to prevent conflicts when an
+ external device is in use.
+ * Corrects an issue with some cards that causes a crash during reboot
+ after resizing.
+ * Corrects an issue with internal WIFI that caused contention with
+ its p2p device thanks to @brooksytech, [80]@pkegg, and
+ [81]@351ELEC.
+ * Corrects an issue with an incorrect log path in samba.
+ * Corrects a bug in RetroArch that mislabels quit as restart.
+-------------------------------------------------------------------------------
+20220309 -
+
+ * Improved overclock profiles improving stability and providing
+ additional options.
+ + RAM - 933
+ + GPU - 900/933
+ + CPU - 1992/1512/933
+ + CPU - 2088/1608/933
+ + CPU - 2184/1704/933
+ + ALL - 1992/1512/900/933
+ + ALL - 2088/1608/900/933
+ + ALL - 2184/1704/900/933
+ * Online updating is now available for future releases, the option
+ can be found in System Settings.
+ * Art Book now uses a new font allowing for better readability in the
+ menus. Thanks to [74]@anthonycaccese.
+ * Cooling profiles are no longer forced to the initial OC setting on
+ boot if an OC profile is set.
+-------------------------------------------------------------------------------
+20220312 -
+
+ * Correct an issue with root password rotation introduced in
+ 20220309.
+ * Correct online update package verification issue.
+ * Apply Bluetooth patch thanks to [80]@Black-Seraph.
+ * Update RetroArch to 1.10.1.
+ * Update PPSSPP.
+ * Update Libretro cores.
+ * Fix metadata for CPS 1-3, Commodore 128, and FBNeo.
+-------------------------------------------------------------------------------
+20220314 -
+
+ * Add yabasanshiroSA as the new default Saturn emulator. Thanks in
+ part to [80]@shantigilbert, [81]@CoreELEC, and [82]@351ELEC.
+ + Button defaults: A/B/C are Y/B/A (west,south,east) and X/Y/Z
+ are X/L1/R1. Thanks [83]@romadu!
+ * Add a new root password rotation disable and password configuration
+ option to System Settings.
+ * Configure usb_modeswitch to eject the 8821CU when it is in fake
+ cdrom mode.
+ * Update the online update wording in ES.
+ * Update Art Book theme.
+ * Fix full scaling mode thanks to [84]@konsumschaf.
+ * Re-add retropie shaders. Thank you [85]@konsumschaf for the tip!
+-------------------------------------------------------------------------------
+20220316 -
+
+ * Fix OTA updates for future releases.
+ * Add Mupen 64 standalone emulator and parallel n64 gln64 libretto
+ core thanks to @brooksytech along with [80]@351ELEC and
+ [81]@shantigilbert.
+ * Many battery drain issues during sleep have been resolved reducing
+ battery drain to ~2% per hour. Thanks to [82]@Black-Seraph for
+ collaborating with us on this, and thank you to all of the testers
+ who didn't use their devices so we could test.
+ * Ensure Portmaster is always the latest, thanks to @brooksytech.
+ * [83]JELOS Emulators and Cores have been documented thanks to
+ [84]@romadu.
+-------------------------------------------------------------------------------
+20220319 -
+
+ * Correct an issue with 8821CU (and possibly other) WIFI modules not
+ exiting CD-ROM mode and entering WIFI mode.
+ * Add VICE C64/C128/C16/VIC-20 stand alone emulator.
+ * Update Art Book theme thanks to [80]@anthonycaccese.
+ * Rework parallel-n64 optimizations to take advantage of the RG552's
+ big cores.
+ * Add a new mechanism to allow for certain changes to be deployed
+ only after an update.
+ * Begin adding the components to support Bluetooth pairing in the
+ future.
+ * Clean up the memory controller frequency definitions.
+ * Housekeeping, and a few small bug fixes.
+-------------------------------------------------------------------------------
+20220320 -
+
+ * Correct an issue with tools scripts having incorrect permissions.
+-------------------------------------------------------------------------------
+20220329 -
+
+ * Announcing support for the Anbernic RG351P, RG351V, and RG351MP.
+ This support is considered 1.0 and will be further refined in
+ future releases.
+ * Announcing JELOS Addons by @brooksytech! It's a fork of PortMaster
+ with packages that are tailored specifically for JELOS.
+ * Corrected an issue with online updates that prevented detection of
+ the update folder in some cases.
+ * Improves OS boot time significantly.
+ * Adds a new Atari 5200 core (a5200).
+ * Theme improvements from [80]@anthonycaccese.
+ * Improved core optimizations for better performance.
+ * Many OS optimizations and bug fixes.
+-------------------------------------------------------------------------------
+20220330 -
+
+ * Corrects issue with RG351V and MP not mounting ExFAT partitions.
+ + The RG351P does not use ExFAT as there is only one card slot.
+ + Make sure there is no card in the second slot before
+ upgrading.
+-------------------------------------------------------------------------------
+20220402 -
+
+ * Adds support for configuring overclock, cooling profiles, and
+ big.little core allocation per system and per game on the RG552.
+ * Corrects an issue with per game settings not functioning correctly.
+ * Correct issues with jslisten and movie playback.
+ * Corrects issues with scummvm game detection, theming, and
+ resolution.
+ * Adds initial support for gzdoom, lzdoom, and raze and adds support
+ for RG351x.
+ * Adds RG351x configurations for mupen64plus, thanks to [80]@351ELEC.
+ * Housekeeping and misc bug fixes.
+-------------------------------------------------------------------------------
+20220404 -
+
+ * Adds support for mounting cloud drives with rclone making them
+ accessible via 351Files on the device.
+ * Adds support for cloud saves backup and restore (user
+ configurable).
+ * Adds overclocking support for the RG351x series devices.
+ * Adds support for an additional RTL8812BU WIFI adapter.
+-------------------------------------------------------------------------------
+20220406 -
+
+ * Further refinement to significantly improve system boot times.
+ * Updates to pico-8 support including support for 64-bit binarys with
+ a fallback to 32bit for those who haven't updated.
+ * RetroArch hotkey fixes for the RG351V and RG351MP.
+ * Controls fixes for MupenSA thanks to @brooksytech.
+ * Flycast update and defaults adjustment o improve emulation
+ performance. Thanks to @brooksytech and [79]@AmberELEC
+ * Updates to RetroArch, RetroArch cores, standalone emulators, and
+ the system theme (Art-Book).
+-------------------------------------------------------------------------------
+20220408 -
+
+ * Fix issue preventing devices with two sdcard slots from mounting a
+ games partition on card 1 when slot 2 is empty.
+ * Correct brightness calculation on RG351x devices.
+ * Switch gpsp core to 32bit and apply new optimizations - thanks to
+ [80]@CometHunter92
+ * Fix per-system/game overclock on the RG351x devices.
+ * Apply new per-system/game overclock setting to use system value.
+ * Fix RTL8812BU and add RTL8192CU, RTL8192EU, and RTL8814AU device
+ support.
+-------------------------------------------------------------------------------
+20220409 -
+
+ * Add support for swapping A and B in ES to the UI menu.
+ * Additional boot time optimizations.
+ * Ensure the WIFI connection is refreshed on startup using wifictl.
+ * Disable WIFI power save on startup to improve connectivity with
+ some WIFI devices.
+ * Correct an issue with get_settings that prevents the return of a
+ configuration element if there is no game setting but a system
+ setting exists.
+ * Improve Flycast and Yabasanshiro optimizations.
+-------------------------------------------------------------------------------
+20220413 -
+
+ * Add flycastsa thanks to @brooksytech.
+ * Add support for forced updates and installing development builds to
+ ES.
+ * Add Drastic installer thanks to @brooksytech.
+-------------------------------------------------------------------------------
+20220418 -
+
+ * Many base OS updates.
+ * Adds the Open Source MelonDS libretro core.
+ * Corrects an issue with some WIFI adapters not detecting 5GHz
+ networks.
+ * Corrects an issue with ThemeMaster not starting properly.
+ * Adds .zip support to ES for Daphne.
+ * Improve brightness hotkeys while in game.
+ * Adds Nintendo DS to ES to support for MelonDS and Drastic when
+ installed via JELOS Add Ons.
+-------------------------------------------------------------------------------
+20220422 -
+
+ * Fix no BGM issue in EmulationStation.
+ * Add Hypseus-singe emulator thanks to
+ [84]https://github.com/EmuELEC.
+ * Eliminate unused overclocks.
+ * Drop overclock earlier in the boot to prevent system crashes on a
+ few devices.
+ * Add support for 7z for NDS.
+ * Re-optimize pcsx_rearmed and split to support 32bit and 64bit
+ versions for better compatibility.
+ * Deprecate RetroArch overlayfs to reduce complexity.
+-------------------------------------------------------------------------------
+20220428 -
+
+ * Update cores and emulators
+ * Set Duckstation to use software rendering.
+ * Push retroarch configuration options when updating.
+ * Misc OS cleanup.
+-------------------------------------------------------------------------------
+20220506 -
+
+ * Fix no volume on wake issue on the RG351V
+ * Fix BGM issue on the RG351 devices.
+ * Update Python3 and Jinja2
+ * Update emulators, cores, theme, and thememaster.
+ * Fix libsndfile to correct a ports issue.
+ * Rework internal wifi script to disable the gpio pin, thanks to
+ [83]@pkegg for the idea.
+ * Fix pico-8 to set run and cart options if the game passed is valid,
+ thanks to [84]@YonKuma for the idea.
+ * Fix jacksense on the 351 devices.
+ * Fix ES not setting WIFI connection for the first time without
+ rebooting.
+-------------------------------------------------------------------------------
+20220511 -
+
+ * Add audio extensions to media player, thanks to [84]@kkoshelev for
+ the idea.
+ * Add beetle-supafaust support in es_features.cfg, thanks to
+ [85]@CometHunter92
+ * Fix a hard coded resolution issue with ecwolf.
+ * Update games, emulators, and a few core applications.
+ * Roll back PPSSPP to correct an upstream issue.
+-------------------------------------------------------------------------------
+20220519 -
+
+ * Add support for Commodore PET, thanks to [83]@awhitney42 for the
+ idea!
+ * Add support for wireguard, thanks to [84]@kkoshelev!
+ * Fix an issue with system updates that didn't delay long enough for
+ users to see error messages.
+ * Support for loading custom libretro cores.
+ * Moves Drastic installer to JELOS-Addons.
+ * Streamline ES configurations so they're no longer copied after an
+ update.
+ * Update emulators, cores, and theme.
+-------------------------------------------------------------------------------
+20220527 -
+
+ * Corrects the power LED state on the 351 series devices.
+ * Adds the meson NES libretro core.
+ * Adds support for Atari Jaguar emulation (does not perform well on
+ devices earlier than RG552).
+ * Fixes JELOSAddOns permissions issue.
+ * Adds WireGuard UI to EmulationStation.
+ * Faster shutdown from EmulationStation.
+-------------------------------------------------------------------------------
+20220603 -
+
+ This release brings quite a few exciting features to JELOS along with
+ our regular round of bug fixes and software updates.
+
+Change Log
+
+ * Adds support for the Anbernic RG503! There are still a few known
+ issues, but JELOS support is now considered stable enough to
+ release.
+ + Known Issues: Device boots when plugged in to charge.
+ WireGuard is not functional. Controls in movie player are not
+ working quite right yet.
+ * Adds moonlight to the main distribution and integrates it within
+ the ES menu. To get started, press start, select Moonlight Game
+ Streaming from the menu and enter all of the information about your
+ moonlight service.
+ * Adds support for Jaguar emulation. This emulator is known to only
+ work well on the RG552, but it is available across devices.
+ * A second theme is now available by default, you're able to choose
+ between Artbook Next (system-theme) and Minimal.
+ * A new CPU governor (interactive) has been selected by default
+ replacing on demand. This governor reduces latency and should help
+ improve performance across cores and emulators.
+ * The ability to choose your desired CPU governor is now available in
+ ES to replace the Max Performance setting. You are able to
+ configure Interactive, Ondemand, or Performance per game, per
+ system, or globally.
+-------------------------------------------------------------------------------
+20220610 -
+
+ * Adds TATE mode support to ES for MAME 2003.
+ * Corrects Wireguard issue on the RG503.
+ * Fixes RG503 hostname.
+ * Fixes RG503 power on when charging bug.
+ * Corrects an issue with the post upgrade process on the RG503.
+ * Adds WIFI powersave enable/disable to ES.
+ * Improves backup and restore functionality, thanks to [86]@maf12.
+ * Adds 32bit Flyinghead flycast core.
+ * Update emulators and cores.
+-------------------------------------------------------------------------------
+20220620 -
+
+ * Adds support for the Anbernic RG353P.
+ * Updates emulators and cores.
+ * Corrects the boots when charging issue on the RG503 and RG353P.
+-------------------------------------------------------------------------------
+20220625 -
+
+ * Updates yabasanshiroSA and correct build and configuration issue,
+ and improve performance.
+ * Add feature capabilities for flycast32 and genesis plus gx.
+ * Adds support for talescale vpn.
+ * Corrects HDMI and HDMI audio out on RG353P and RG503.
+ * Disable variable refresh in RetroArch by default.
+ * Fix mounting Android emmc on RG353P.
+-------------------------------------------------------------------------------
+20220629 -
+
+ * Rolls back affinity patch
+ * Updates Moonlight, and JELOS adding
+ * Improves tailscale vpn.
+-------------------------------------------------------------------------------
+20220703 -
+
+ * Update emulators and cores.
+ * Correct scheduled dev build issue.
+-------------------------------------------------------------------------------
+20220712 -
+
+ * Update rsync parameters to be user editable, thanks to [86]@LnxAdm.
+ * Add tool to split games between sd slot 1 and 2, thanks to
+ [87]@maf12.
+ * Fix issue with JELOSAddOns.
+ * Fix issuing dev releases without changes.
+-------------------------------------------------------------------------------
+20220802 -
+
+ * A major OS upgrade that improves our build tooling, documents more
+ of our processes, fixes lots of bugs, and includes many updates.
+ * OS build storage requirements and build times reduced by half.
+ * Adds Duckstation stand alone emulator.
+ * Adds bsnes mercury, and ecwolf libretro cores.
+ * Reimplements overlayfs allowing cheats, overlays, etc to be user
+ editable (located in /storage).
+ * Adds ES theme MiniELEC thanks to [86]@Rose22.
+ * Corrects an issue with game splitting thanks to [87]@maf12.
+ * Corrects a bug with RetroArch downloader that re-enables content
+ downloading.
+ * Implements proper multiarch support allowing 32bit and 64bit
+ software to co-exist without patches. Thanks in large part to
+ [88]@7Ji.
+ * Drops overclocking of RG351x devices as that has led to instability
+ on some devices.
+ * Corrects an issue preventing FAT and ExFAT flash drives from
+ automounting when connected.
+ * Implements hostname functionality in ES.
+ * Improves our sleep/wake functionality.
+ * Fixes a bug with jslisten that prevented brightness keys from
+ working in some scenarios.
+ * Further streamlines our boot process to improve boot times.
+ * Implements foundational support for x86 devices and OpenGL
+ (incomplete).
+-------------------------------------------------------------------------------
+20220804 -
+
+ * Fixes an issue with WIFI on RG351x devices.
+ * Wifi tool optimization.
+ * Fixes system update not outputting to console.
+ * Improves the drastic launcher.
+-------------------------------------------------------------------------------
+20220808 -
+
+ * Correct incorrect brightness on wake bug.
+ * Move hotkey (brightness, etc) configuration to userland.
+ * Update many emulators and cores.
+-------------------------------------------------------------------------------
+20220812 -
+
+-------------------------------------------------------------------------------
+20220813 -
+
+-------------------------------------------------------------------------------
+20220815 -
+
+ * Fix game manual viewing bug.
+ * Integrate Moonlight game lists into ES.
+ * Update emulators and cores.
+ * Roll back dosbox pure to work around segfault issue.
+ * Fix missing duckstation.
+ * Fix up yabasanshiro optimizations.
+ * Resolve black screen issue.
+-------------------------------------------------------------------------------
+20220821 -
+
+ * Adds GlideN64 thanks to [86]@rishooty.
+ * Deprecates L1 + DPAD for brightness control (use FN+volume up/down,
+ RG351P uses L2 + DPAD).
+ * Updates pcsx_rearmed for improved 64bit performance thanks to
+ [87]@CometHunter92.
+ * Adds game scanner for Raze/Build engine games to JELOS thanks to
+ [88]@travis134.
+ * Corrects raze default mapping issue thanks to [89]@romadu.
+ * Adds HLE BIOS selection for yabasanshiroSA.
+ * Moved TATE mode to ES features so it is only available for MAME.
+ * Fix es_features and es_systems to be a symlink (and backs up the
+ old version).
+ * Adds beetle_pce, renaming beetle_pce to beetle_pce_fast thanks to
+ [90]@CometHunter92 .
+-------------------------------------------------------------------------------
+20220827 -
+
+ * Unifies the splash screen across supported devices.
+ * Updates and corrects a dosbox-pure segmentation fault.
+ * Duckstation standalone optimizations thanks to [86]@CometHunter92.
+ * No longer reconnect WIFI in the ES menu if it's already configured
+ and connected correctly.
+ * Fix duckstationsa segfault after accidental Vulcan selection thanks
+ to [87]@christianhaitian.
+ * Adds a new doom game scanner thanks to [88]@travis134 .
+ * Adds a brightness level overlay to ES thanks to [89]@travis134.
+-------------------------------------------------------------------------------
+20220925 -
+
+-------------------------------------------------------------------------------
+20220927 -
+
+ * Adds DeSmuME NDS RA core for x86 buiilds
+ * Fix language setting bug.
+ * Fix automount bugs.
+ * Fix PCSX2 standalone audio bug.
+-------------------------------------------------------------------------------
+20221003 -
+
+General Changes
+
+ * Correct brightness issues across all devices.
+ * Fix language selection bug.
+ * Always sync portmaster, thememaster, and jelosaddons after
+ updating.
+ * Update retroarch, shaders, emulators, cores, moonlight, and
+ thememaster.
+ * Updates and fixes Gliden64, thanks to [87]@rishooty.
+ * Fix 32bit emulation bug on aarch64 devices.
+ * Add support for multiple device trees.
+ * Add support for user configurable profile scripts
+ (~/.config/profile.d).
+ * Fixes shader build conflicts.
+
+Device Specific
+
+RG353V
+
+ * Adds support for the Anbernic RG353V (use the RG353P image for
+ installation.)
+ * Add workaround for no audio mixing of right channel on RG353V
+ thanks to [88]@christianhaitian.
+
+Handheld (x86_64)
+
+ * Add 3DS support (libretro complete, standalone core incomplete).
+ * Disable integer scaling by default on Win600.
+ * Corrects Wii controls.
+
+RG552
+
+ * Adds the HLE/MLE variant of CXD4 RSP for RG552's Mupen64 Plus
+ Standalone, thanks to [89]@rishooty.
+ * Force Retroarch to use glcore on the RG552 if GL is still enabled.
+-------------------------------------------------------------------------------
+20221006 -
+
+ * Move samba configuration to user space.
+ * Remove kernel tweaks that inhibit proper sleep.
+ * Merge hostname change and wifi into 008-network.
+ * Adjust flycast build options.
+ * Fix and update Stella and Hatari
+ * Update DolphinSA and DuckstationSA
+ * Merge AMD GPU performance profiles into performance governor
+ functions.
+-------------------------------------------------------------------------------
+20221010 -
+
+ * Corrects missing cloud backup and restore on Win600.
+ * Corrects tools not starting correctly across devices.
+ * Adds additional controller configurations for ES and RetroArch.
+ * Corrects missing ffmpeg tools.
+-------------------------------------------------------------------------------
+20221015 -
+
+ * No longer hide extensions by default.
+ * Fix WIFI scanning bug.
+ * Fix Wireguard missing on some devices.
+ * Convert automount to a service to correct dependency issues.
+ * Fix starting PortMaster, ThemeMaster, and JELOSAddOns.
+-------------------------------------------------------------------------------
+20221023 -
+
+ * Corrects HDMI audio issue and default hotkeys on Atari VCS.
+ * New System View and Font Options.
+ * Fix RG552 panel flicker issue.
+ * Updates to cores, emulators, and a few base packages.
+ * Fix low volume issue with RG351P.
+ * Kernel 5.19.16 with preempt rt for Win600.
+ * PPSSPP maxFPS patch returns.
+ * Add support for dynamic controller variables and support for hotkey
+ configuration when a new controller is default.
+ * Deprecate device specific controller variables.
+ * Resolve issue opening Portmaster after it updates.
+ * Install Drastic on first use.
+ * Deprecate JELOSAddOns.
+-------------------------------------------------------------------------------
+20221024 -
+
+ * Correct WIFI issue with RG552.
+-------------------------------------------------------------------------------
+20221027 -
+
+New Features
+
+ * Automatic configuration of hotkeys in RetroArch (managed in System
+ Settings).
+ * Audio output device selection (managed in System Settings).
+ * Automatic configuration of the moonlight resolution per device.
+
+Bug Fixes
+
+ * Correct missing Sega Saturn (yabasanshiroSA) controls.
+ * Post update not executing on some devices.
+ * Fix missing text viewer.
+ * Fix a logic bug during Drastic startup.
+ * Fix Commodore 64 emulator (ViceSA) failing to start.
+ * Stop syncing portmaster and thememaster.
+-------------------------------------------------------------------------------
+20221107 -
+
+Updates
+
+ * Updates many core packages including GCC 12.2.0, GLIB 2.74.0, GLIBC
+ 2.26, and Python 3.9.15 thanks in large part to [99]@CoreELEC.
+ * Brings kernel 6.0.6 to Win600, Atari VCS, and other x86 devices, as
+ well as the RG552.
+ * Deprecates the pre-built GNU toolchain.
+ * Updates emulators and cores.
+ * Updates documentation to indicate RG353M support.
+
+New Features
+
+ * Wayland support for Dolphin and Duckstation standalone emulators on
+ RG552, Win600, Atari VCS, and other x86 devices.
+ * Vulkan support for Dolphin, PPSSPP, and Duckstation standalone
+ emulators on Win600, Atari VCS, and other x86 devices.
+ * Adds Bluetooth controller support for RG351 series, RG353 series,
+ RG503, and RG552 thanks to [100]@tom-pratt.
+ * Adds support in ES for configuring Dolphin Stand Alone on supported
+ devices.
+ * Adds Backup To Cloud On Game Exit (Configurable in games settings).
+ * Adds support for configuring the startup interface in kiosk mode
+ (Weston devices only).
+ * Adds support for TheC64 joystick, the Nintendo Switch Pro
+ Controller, and the Nintendo Core (Plus) Wired Controller.
+
+Bug Fixes
+
+ * Fixes bugs with PPSSPP Libretto.
+ * Corrects an arch issue with rclone on x86.
+ * Corrects the display on the RG552 to 60hz thanks to
+ [101]@Locutus73.
+ * Automatic hotkey configuration now correctly uses overlayfs.
+ * Corrects issue with run tool not starting backup and restore on
+ Win600, Atari VCS, and other x86 devices.
+-------------------------------------------------------------------------------
+20221114 -
+
+Updates
+
+ * Updates emulators and cores.
+ * Bump mainline kernel to 6.0.7 (RG552, Win600, Atari VCS, and other
+ x86 devices).
+ * Deprecates factory reset functionality.
+
+New Features
+
+ * Adds the ability to control the audio output path via ES.
+ * Adds controller support for the Steam Deck.
+ * Relabels settings in ES from "AUTO" to "DEFAULT" to better describe
+ the setting.
+
+Bug Fixes
+
+ * Correct a condition where games directories are sometimes created
+ before the games partition is mounted.
+ * Corrects Tate mode on x86 (retroarch reset required).
+ * Fixes RG552 default audio mixer.
+ * Corrects reversed WIFI power saving switch.
+ * Corrects reversed cloud backup switch.
+ * Corrects issue with avahi hostname not being set on startup.
+ * Corrects 124hz display to 60hz on RG353P/V/M, thanks to
+ [99]@tonyjih.
+-------------------------------------------------------------------------------
+20221130 -
+
+ * Adds initial support for BT audio, thanks to [99]@wansti.
+ * Adds Audiolatency configuration to ES, thanks to [100]@Locutus73.
+ * Corrects a build issue with 356x u-boot, thanks to [101]@vulpes2.
+ * Fixes multiple issues when building on ARM, thanks to
+ [102]@shauninman.
+ * Adds Beetle Saturn core for RG552.
+ * Adds initial support for yuzu.
+ * Updates emulators and cores.
+ * Implements simple device quirks mechanism.
+ * Initial support for Ayaneo Air Pro (incomplete).
+ * Disables online update mechanism in ES.
+-------------------------------------------------------------------------------
+20221208 -
+
+ * Deprecates the release build workflow.
+ * Updates emulators and cores, including Dolphin, Duckstation, and
+ PCSX2SA
+ * Relabels JELOS_SSH_KEYS_FILE, JELOS_WIFI_SSID, and JELOS_WIFI_KEY
+ (LOCAL_SSH_KEYS_FILE, LOCAL_WIFI_SSID, and LOCAL_WIFI_KEY).
+ * Drops RG351x devices from world builds.
+ * Updates SDL to 2.26.0, Linux to 6.0.11 (RG552 and x86_64 only),
+ Python to 3.11 (Thanks to [82]@CoreELEC), and Mesa to 22.3.0.
+ * Reworks online update mechanism to allow disabling with a build
+ time variable.
+ * Reworks JELOS installation to be executed from Tools menu in ES.
+ * Corrects shell prompt display on the console during x86_64 boot.
+ * Fixes asound.state on RG552 with broken values, thanks to
+ [83]@Locutus73.
+ * Fixes bluetooth on x86_64 devices (handheld build).
+ * Fixes issue with hotkey assignment on some devices.
+-------------------------------------------------------------------------------
+20221219 -
+
+ * Adds / fixes RSP selector in ES, thanks to [82]@rishooty.
+ * Multiple N64 start script and emulation fixes, thanks to
+ [83]@rishooty.
+ * Adds support for the PowKiddy RGB20S, thanks to [84]@oOblik.
+ * Adds multiple bluetooth controller configurations.
+ * Updates emulators, cores, retroarch, moonlight.
+ * Adds beetle-saturn and Play! (PS2) to the handheld builds.
+ * Enables online updates using a project variable, thanks to
+ [85]@Sparticuz.
+ * Re-adds Duckstation libretro and DolphinSA to RG353/RG503 builds.
+ * Fixes missing 32bit filters, thanks to [86]@sunxuold.
+ * Updates Linux kernel to 6.1 for handheld, and improves support for
+ AYANEO AIR and AIR Pro.
+ + Fixes splash screens.
+ + Adds fan control.
+ + Corrects issue with no WIFI after wake from sleep.
+ + Corrects issue with headphone jack.
+ + Works around issue with power button not working after first
+ sleep (press for 3 seconds).
+ + Corrects missing audio in EmulationStation.
+-------------------------------------------------------------------------------
+20221221 -
+
+ * Fixes ATARI VCS EmulationStation audio playback
+ * Terminal bug fix (reverts the xterm change).
+ * Adds fake08, thanks to Lakka-LibreELEC.
+ * Adds GPU power savings option for handheld builds (AMD only for
+ now).
+ * Updates SDL2 and reverts Mesa.
+ * Improves fan curve for supported devices.
+ * Updates emulators and cores.
+ * Deprecates and removes original splash logic.
+-------------------------------------------------------------------------------
+20221224 -
+
+ * Fix audio issues on new flash for Atari VCS and AYANEO AIR Pro.
+ * Fix missing themes on new flash, thanks to [82]@Rocky5
+ * Adds control-gen app by @brooksytech to generate config for
+ gptokeyb, and update gptokeyb.
+ * Switch to schedutil as the default scheduler as interactive is not
+ available on mainline.
+ * Improve fan control curve on devices that support it.
+ * Add new power state script to improve power savings if GPU power
+ saving is enabled.
+ * Updates emulators and cores.
+-------------------------------------------------------------------------------
+20221231 -
+
+ * Deprecates and removes support for all Anbernic and Powkiddy ARM
+ devices - RG351P/M/V/MP, RG552, RG503, RG353P/M/V, RGB20S.
+ * Re-enables OTA updates and automated builds of x86_64 handheld
+ images and update packages.
+ * Adds support for building on Ubuntu 22.04.
+ * Corrects build issues when building in a VM on Apple M1.
+ * Adds Parallel N64 with EmulationStation integration.
+ * Adds zip support to Mupen64plusSA.
+ * Enables touch display on Ayaneo Air and Air Pro.
+ * Adds support for QT5.
+ * Updates Vulkan and Yuzu.
+-------------------------------------------------------------------------------
+20230102 -
+
+ * Update emulators and cores.
+ * Bump kernel to 6.1.2.
+ * Rebrand 351Files to FileMan.
+ * General distribution cleanup
+
+Bug fixes
+
+ * AYANEO Air / Air Pro sleep button now correctly sleeps the device
+ after sleeping once.
+ * Fix issue where pico-8 does not exit cleanly.
+ * Updates git and corrects an issue preventing cloning.
+-------------------------------------------------------------------------------
+20230105 -
+
+ * Initial Citra SA support.
+ * Disable integer scaling by default.
+ * Improve behavior on portable devices like laptops (suspend on lid
+ close, etc).
+ * Improve cpu scheduler management.
+ * Add ability to enable only 2 or 4 cores.
+ * Add support for AYANEO 2, AYANEO 2021, 2021 Pro, and 2021 Retro
+ Power.
+ * Updates a few emulators and cores.
+-------------------------------------------------------------------------------
+20230111 -
+
+ * Add support for Ayaneo Founder Edition, Ayaneo 2021 / Pro / Retro
+ Power, Ayaneo Next / Advance / Pro, Ayaneo Geek, and Ayaneo 2.
+ * Add support for 3DS and Wii U (x86_64 only).
+ * Add volume pre-amp to eliminate low volume issues.
+ * Disable touch input in ES.
+ * Update emulators, cores, and several system packages.
+
+Known Issues
+
+ * When starting a Wii U game, sometimes the display will turn white.
+ Tapping the screen will bypass the issue and start the game
+ correctly.
+-------------------------------------------------------------------------------
+20230118 -
+
+New Features
+
+ * Add support for the Orange Pi 5.
+ * Add IPv6 switch to ES.
+ * Initial support for Steam Deck (Incomplete).
+ * Adds framework for SyncThing (Incomplete), thanks to [89]@CoreELEC.
+
+Bug Fixes
+
+ * Fix Blue Alsa service not starting.
+ * Update Wireless regdb and correct installation errors, thanks in
+ part to [90]@CoreELEC.
+ * Fix Flycast Libretro cores on x86.
+ * Remove deprecated key variables, and fix mkimage. Thanks to
+ [91]@oOblik and UnofficialOS.
+
+Misc Changes
+
+ * Relabel overclock in ES.
+ * Default PPSSPPSDL to Vulkan on x86_64.
+ * Adjust Retroarch default analog sensitivity.
+ * Update several packages, cores, and the Linux kernel to 6.1.6.
+ * Deprecate missing BIOS check.
+ * Drop a few unnecessary patches.
+-------------------------------------------------------------------------------
+20230122 -
+
+Features
+
+ * Adds MelonDS SA support.
+ * Improves power savings, and relabels GPU power savings to enhanced
+ power savings.
+ * Adds pre-amp volume control to Sound Settings.
+
+Updates
+
+ * Adds powertop package.
+ * Updates emulators and cores.
+
+Bug fixes
+
+ * Blocks the bluetooth radio on startup if it's disabled.
+ * Blocks the WIFI radio if it's disabled.
+-------------------------------------------------------------------------------
+20230124 -
+
+New Features
+
+ * Adds GPU performance profile selection globally, per system/core,
+ and per game while Enhanced Power Savings is enabled and the device
+ is running on battery.
+
+Updates
+
+ * Kernel 6.1.7
+ * Emulators and Cores including stand alone Yuzu, Cemu, Dolphin, and
+ MelonDS.
+
+Bug Fixes
+
+ * Corrects bluetooth daemon to not start up on boot if disabled.
+ * Further refine running services to reduce interrupts and improve
+ battery life.
+ * Correct kernel display quirk patch thanks to [89]@Maccraft123.
+-------------------------------------------------------------------------------
+20230126 -
+
+Updates
+
+ * Update Linux (6.1.8) and Linux firmware (20230117).
+ * Relabels core selection to threads and enables support for
+ selecting as many or as few threads as are available to the system.
+
+Bug Fixes
+
+ * Corrects a condition where bluetooth agents are not started when
+ enabled.
+ * Corrects a condition where the bluetooth radio is not blocked when
+ disabled.
+ * Fixes a bug with Wii U controller configuration that may have
+ prevented controls from working.
+ * Corrects an ordering issue preventing quit hot keys from working
+ correctly.
+-------------------------------------------------------------------------------
+20230201 -
+
+Updates
+
+ * Update set-audio to configure alsa for bluetooth, and to
+ automatically populate the ES audio path with a best guess.
+ * Enables pulseaudio bluetooth support.
+ * Adds a simple service to autoconnect paired bluetooth devices.
+ * Bumps emulators and cores.
+ * Updates Linux kernel to 6.1.9.
+
+Bug Fixes
+
+ * Stops resetting audio devices and paths if they've already been set
+ once.
+ * Configures CEMU to look for and use a bluetooth device if it's
+ paired and connected (needs further optimization).
+ * Fixes Mupen64 RA cores for RK3588.
+-------------------------------------------------------------------------------
+20230205 -
+
+Features
+
+ * Adds support for managing the controller LED on Ayaneo devices
+ (Tested on Air Pro only). Thanks to [89]@Maccraft123 for reverse
+ engineering AyaSpace!
+ * Adds initial support for AetherSX2 (ARM only).
+
+Updates
+
+ * Updates Vulcan packages to latest.
+-------------------------------------------------------------------------------
+20230207 -
+
+New Features
+
+ * Ability to configure controller LED brightness to three levels,
+ min/mid/max.
+
+Bug Fixes
+
+ * Corrects multiple issues with LED management.
+-------------------------------------------------------------------------------
+20230210 -
+
+New Features
+
+ * Initial support for RPCS3 (Playstation 3).
+ * Implements SyncThing integration.
+ + Switch on in ES under Network Settings.
+ + Connect via browser to http://{device hostname}:8384.
+ + Username: root
+ + Password: Found in System Settings menu
+
+Updates and Bug Fixes
+
+ * Many distribution updates - including kernel 6.1.10, Python 3,
+ systemd, busybox, SDL2, and more.
+ * Updates emulators, cores, and art book next theme.
+ * Improves WIFI startup time.
+ * Drops -Ofast, --disable-shared --enable-static as defaults.
+ * Improves boot speed.
+ * Misc build dependency fixes.
+-------------------------------------------------------------------------------
+20230213 -
+
+Updates
+
+ * Kernel 6.1.11, Mesa 22.3.5, and several emulator/core updates.
+
+Bug Fixes
+
+ * Revert PPSSPP to last stable to resolve instability issues.
+-------------------------------------------------------------------------------
+20230219 -
+
+New Features
+
+ * RK3566 devices return - Support for RG353P/M/V/VS and RG503 using
+ the RK3566 build.
+ + Devices with a v1 display only, there are no plans to add
+ support for devices with an updated display.
+ + Requires a re-flash, updating from previous versions of JELOS
+ or uOS is not supported.
+ + There will not be individual builds, the RK3566 build is
+ compatible across devices.
+
+Updates
+
+ * Overhaul of the Yuzu emulator bringing support for QT on supported
+ devices.
+ * Updates our emulators and cores.
+-------------------------------------------------------------------------------
+20230220 -
+
+New Features
+
+ * Adds Microsoft Xbox support.
+
+Updates
+
+ * Updates kernel to 6.1.12
+ * Updates Cemu, Citra, and PCSX2.
+-------------------------------------------------------------------------------
+20230224 -
+
+New Features
+
+ * Libretro cores pcsx_rearmed and flycast return, thanks to
+ [91]@amd343.
+ * Adds Libretro core bsnds-hd, thanks to [92]@daedalia.
+ * yabasanshiroSA returns for ARM devices.
+
+Updates
+
+ * Updates Linux kernel to 6.1.13.
+ * Updates Mesa to 22.3.6
+ * Updates PPSSPP.
+
+Bug Fixes
+
+ * Corrects an image generation issue breaking RK3588.
+ * Fixes an issue with melonds no audio after the first use.
+ * Fixes performance issues on some lower powered devices.
+ * Fix battery reporting issues on RK3566 devices.
+ * Fix jelos-info hang if temp device doesn't exist.
+ * Fixes an issue with RK3566 controllers not always being available
+ on boot, thanks to [93]@puffnfresh.
+ * Fixes an issue with missing controllers.
+-------------------------------------------------------------------------------
+20230303 -
+
+Updates
+
+ * Updates OS packages, emulators, and cores.
+ * Build tooling and many packages are now more closely aligned with
+ [91]@CoreELEC.
+
+Bug Fixes
+
+ * Fixes an issue requiring PYTHON_EGG_CACHE to be exported during a
+ docker build.
+-------------------------------------------------------------------------------
+20230306 -
+
+New Features
+
+ * Adds new core Beetle PSX.
+ * Adds Box86 and Box64.
+ * Adds 32bit i686 libraries for future use.
+
+Updates
+
+ * Updates emulators and cores, bumps kernel to 6.1.15.
+
+Bug Fixes
+
+ * Correct a no audio issue with Dolphin stand alone.
+-------------------------------------------------------------------------------
+20230311 -
+
+Updates
+
+ * Multiple package updates including the kernel, box86 and box64,
+ emulators, and cores.
+
+Bug Fixes
+
+ * Corrects an issue with bluetooth not functioning after the last
+ release.
+ * Corrects an issue with scummvm libretro core not starting games.
+ * Updates release workflow to execute actions in any fork that has
+ keys defined.
+-------------------------------------------------------------------------------
+20230315 -
+
+ * Updates emulators, cores, several base packages, and the Linux
+ kernel.
+-------------------------------------------------------------------------------
+20230322 -
+
+-------------------------------------------------------------------------------
+20230326 -
+
+New Features
+
+ * Initial Ryujinx Emulator Support on x86_64 (handheld build).
+
+Updates
+
+ * Initial work to clean up and standardize emulator and core package
+ naming.
+ * Update emulators, cores, Mesa (23) and Linux kernel (6.1.20).
+
+Bug Fixes
+
+ * Fix Mupen64Plus SA on x86_64.
+ * Fix a bug with movie playback and re-introduce it to RK3588 and
+ RK3566 builds.
+ * Correct a build issue with fakeroot and update to 1.31.1.
+ * Corrects an issue preventing RK3588 devices from booting.
+ * Corrects multiple package dependency issues.
+-------------------------------------------------------------------------------
+20230329 -
+
+Updates
+
+ * Linux kernel updated to 6.1.21 (handheld build).
+
+Bug Fixes
+
+ * Correct an issue with Bluetooth on RK3566 based devices.
+-------------------------------------------------------------------------------
+20230330 -
+
+New Features
+
+ * Adds support for Anbernic RG353 devices with a version 2 display.
+ + Huge thanks to [91]@dfreivald, [92]@macromorgan, and
+ [93]@RetroGFX for their work!
+ * Adds initial support for RTL8821CS on RK3588 devices.
+-------------------------------------------------------------------------------
+20230401 -
+
+New Features
+
+ * Adds support for adjusting gamma/contrast/saturation/hue on
+ Anbernic RG353 and RG503 devices.
+ + Thanks to [91]@christianhaitian for the idea and reference
+ implementation in ArkOS!
+ * Foundational support for Powkiddy RK2023 (incomplete).
+
+Updates
+
+ * Linux kernel to 6.1.22 (handheld build only).
+
+Bug Fixes
+
+ * PPSSPP build fix thanks to [92]@JohnnyonFlame.
+ * Misc build fixes.
+-------------------------------------------------------------------------------
+20230402 -
+
+Bug Fixes
+
+ * Fix issue preventing games from starting with Portmaster.
+
+Misc
+
+ * Package repo housekeeping (incomplete).
+-------------------------------------------------------------------------------
+20230407 -
+
+New Features
+
+Hardkernel ODROID Go Ultra
+
+ Introducing support for the Hardkernel ODROID Go Ultra! Thanks to
+ @brooksytech for the fantastic work on this!
+ * Kernel: Linux 6.1.23 (based on the work from MDRJR)
+ * GPU Drivers: Libmali w/ Vulkan
+
+Flashing instructions:
+
+ * Boot the device into eMMC recovery mode:
+ + Stock OS: Hold R2 + L2 then power on the device
+ + Recovery SD card:
+ [93]https://wiki.odroid.com/odroid_go_ultra/getting_started/re
+ covery_emmc
+ * Connect the device to your computer via the USB C port.
+ * Flash the S922X img to the device via your preferred method and
+ reboot.
+
+Known issues
+
+ * Occasionally the device wont boot, power off and then back on
+ should resolve.
+ * Poor audio quality.
+ * No audio in the AetherSX2 PS2 emulator.
+ * No portmaster support at this time due to gpu drivers.
+
+Updates
+
+ * Bump kernel to 6.1.23 and update WIFI drivers.
+ * Update emulators and cores.
+ * New build feature switch "ENABLE_32BIT" default true, used to
+ disable 32BIT package and root builds when they're not desired.
+ * Misc project housekeeping to help keep our builds reliable and
+ repeatable.
+-------------------------------------------------------------------------------
+20230408 -
+
+New Features
+
+ Introducing support for the new Powkiddy RK2023.
+ * Uses the same image as our other RK3566 devices for installation
+ and updates.
+ * This device has no integrated WIFI, however online updates are
+ supported using an external adapter.
+-------------------------------------------------------------------------------
+20230409 -
+
+Bug Fixes
+
+ * Corrects an issue with bluetooth being unavailable on RK3566 and
+ RK3588 devices.
+-------------------------------------------------------------------------------
+20230413 -
+
+Bug Fixes
+
+ * Fix AetherSX2 audio on S922X
+ * Fix File Manager on S922X
+ * Fix SchedUtil Governor on S922X
+ * Hopefully fix audio init on S922X
+
+Updates
+
+ * Update Mesa to 23.0.2
+ * Update Vulkan
+ * Update emulators and cores.
+ * Add Odroid Recovery features to S922X U-Boot.
+ * Misc project housekeeping to help keep our builds reliable and
+ repeatable.
+-------------------------------------------------------------------------------
+20230414 -
+
+Updates
+
+ * Linux kernel to 6.1.24 for x86 and s922x.
+ * Update emulators and cores.
+
+Bug Fixes
+
+ * Fix misconfigured regulator preventing cpufreq and other CPU
+ features from functioning correctly on Powkiddy RK2023.
+ * Correct a condition where the root password is not configured on
+ startup when set externally.
+-------------------------------------------------------------------------------
+20230417 -
+
+New Features
+
+ * Adds Drastic support for S922X & RK3566 based devices.
+
+Updates
+
+ * Updates handheld to follow our device naming standard (now AMD64).
+ * Updates standalone emulators.
+
+Bug Fixes
+
+ * Fixes mupen64plus-sa on RK3566 devices.
+ * Corrects an issue with Fileman not opening.
+ * Corrects an issue where exiting a tool spawns another instance of
+ the tool before closing.
+ * Fixes an issue with Yabasanshiro-sa controls on S922X.
+ * Corrects an issue with RG353 v2 panel output, thanks to
+ [93]@TheGammaSqueeze!
+
+ Note: This release contains a crossover update to switch the
+ handheld build to AMD64, users of the handheld build will need to
+ update to the AMD64 build manually in the future if they skip this
+ release.
+-------------------------------------------------------------------------------
+20230420 -
+
+Updates
+
+ * Updates emulators and cores.
+
+Bug Fixes
+
+ * Corrects a condition where features are missing in ES on AMD64
+ devices.
+-------------------------------------------------------------------------------
+20230423 -
+
+New Features
+
+ * Adds new build option CONTAINER_SUPPORT=yes to JELOS providing
+ support for docker containers.
+ + Not available in release builds, currently for development use
+ only.
+ * Adds a new build option for building JELOS without emulators export
+ EMULATION_DEVICE="no".
+ * Adds additional feedback during OS boot.
+
+Updates
+
+ * Linux kernel 6.1.25.
+ * Mesa 23.0.3.
+ * Updates Ryujinx and Yuzu.
+ * Migrate JELOS package dependencies to virtual packages where they
+ belong.
+ * S922X bootloader optimization.
+
+Bug Fixes
+
+ * Corrects an issue preventing Weston terminal and other tools from
+ starting properly in both desktop and kiosk modes.
+ * Fix AetherSX2 on RK3588 devices.
+ * Corrects a condition where a base build kernel panics on boot.
+ * Adds battery charge images back to S922X.
+ * Improves Audio Quality on S922 devices.
+ * Corrects an issue preventing FileMan from functioning correctly on
+ AMD64 devices.
+-------------------------------------------------------------------------------
+20230424 -
+
+New Features
+
+ * Big / Little core selection S922X & RK3588
+
+Updates
+
+ * Improves docker to use /storage for data, now supports building
+ JELOS with JELOS.
+ * New boot ux to replace splash screens.
+ * Multiple S922X improvements
+ + Corrects console and terminal font size.
+ + Disables blinking blue LED on S922X.
+ * New tool to backup/detect/correct system configuration corruption.
+ * Update Moonlight to fetch resolution from the running system rather
+ than setting at build time.
+
+Bug Fixes
+
+ * Properly scale the ES splash regardless of aspect ratio and screen
+ size.
+ * Fixes system menu bug with fresh flashes.
+ * Fixes language bug in ES.
+ * Adds a build flag to build debug packages (DEBUG_SUPPORT=yes).
+
+ Note: 20230424 has been re-released to correct a critical bug that
+ occurs on some devices after a fresh flash.
+-------------------------------------------------------------------------------
+20230427 -
+
+ We are pleased to announce support for the Powkiddy x55^1, and we would
+ like to thank Powkiddy for sharing their x55 source code with us.
+
+New Features
+
+ * Adds support for Powkiddy x55.
+ * Adds per game/system/global big/little core switching support for
+ RK3588 and S922X devices.
+
+Bug Fixes
+
+ * Corrects missing Duckstation SA on RK3566 based devices.
+
+ Note: ^1This device is not currently compatible with our single
+ image, and is available separately. See the installation section of
+ the release documentation for instructions.
+-------------------------------------------------------------------------------
+20230428 -
+
+-------------------------------------------------------------------------------
+20230430 -
+
+Updates
+
+ * Linux kernel 6.1.26 (AMD64, S922X).
+ * Adds a simple toggle for headphone output switching on S922X.
+ + No GPIO or kernel mechanism currently currently exists to
+ allow use of a helper.
+ * Update emulators and cores.
+
+Bug Fixes
+
+ * Fixes a missing ExFAT driver on Powkiddy x55 preventing ExFAT cards
+ from functioning correctly.
+ * Fix cpu and gpu governors on S922X.
+ * Multiple build bug fixes since the return of the device_root
+ function.
+ * Corrects an issue where WIFI doesn't always start when the device
+ is powered on.
+-------------------------------------------------------------------------------
+20230502 -
+
+New Features
+
+ * Announcing support for the AYANEO Air Plus^1
+
+Updates
+
+ * Emulator and core updates including RetroArch, PPSSPP, Ryujinx,
+ Xemu, Duckstation, Flycast, Yuzu, and more.
+ * Linux kernel 6.1.27.
+ * Adds lower CPU clocks for S922X.
+ * ODROID Go Ultra audio improvements.
+
+Bug Fixes
+
+ * Corrects a long standing bug preventing games cards from auto
+ mounting on some devices when enabled.
+
+ Notes: ^1 Known issues: No volume controls (no available hardware
+ events), no LED controls.
+-------------------------------------------------------------------------------
+20230505 -
+
+Bug Fixes
+
+AYANEO Air Plus
+
+ * Temporarily disables fan control to work around an issue with fan
+ management.
+
+PowKiddy x55
+
+ * Fixes battery status to report correctly.
+ * Corrects panel adjustment restore issue.
+
+PowKiddy RK2023, Anbernic RG353 series and RG503.
+
+ * Enables low battery led (20%).
+ * Reverts updated v1 panel timings to resolve an issue with
+ fragmented display on some RG353 units.
+-------------------------------------------------------------------------------
+20230508 -
+
+Updates
+
+ * Multiple base packages, SAMBA, Systemd, OpenSSH, Emulators, and
+ Cores.
+
+Bug Fixes
+
+ * Corrects lack of volume control on AYANEO Air Plus.
+ * Switch AYANEO Air Plus to use S0 sleep^1.
+ * Fix Hypseus-Singe build issue allowing it to be updated.
+ * Corrects an issue with the installer on AMD64 devices preventing
+ devices from being available for installation.
+ * Restarts the syncthing service if enabled after setting the root
+ password to resolve an authentication error after password changes.
+
+ Note: ^1 This mode prevents the device from crashing on wake from
+ sleep, however it does not fully sleep the device. POWER THE DEVICE
+ OFF if you will be transporting it or not using it for a period of
+ time.
+-------------------------------------------------------------------------------
+20230516 -
+
+New Features
+
+ * Announcing new and refined support for some RK3326 devices
+ including the RG351P/M and the ODROID Go Advance Black Edition!
+ * Portmaster returns! Announcing the addition of Portmaster, that has
+ been customized for JELOS and includes support for the ODROID Go
+ Ultra!
+ * Preliminary support for ZeroTier, thanks to [97]@NeoTheFox!
+ * Flycast Libretro returns for improved Dreamcast support!
+
+Updates
+
+ * Core platform updates including Linux kernel 6.1.28, Mesa 23.1, and
+ over 100 other base package updates.
+
+Bug Fixes
+
+ * Corrects an issue with panel properties not correctly restoring on
+ startup.
+ * Corrects an issue with the system hostname not persisting after
+ being set in ES.
+-------------------------------------------------------------------------------
+20230517 -
+
+New Features
+
+ * Adds ZeroTier integration into EmulationStation, thanks to
+ [97]@NeoTheFox!
+
+Updates
+
+ * Updates emulators and cores.
+
+Bug Fixes
+
+ * Corrects an issue preventing RK3566 devices from booting after a
+ fresh flash.
+-------------------------------------------------------------------------------
+20230522 -
+
+New Features
+
+ * Add support for the Odroid Go Super to the RK3326 image
+ * Add JelosAddOns source to portmaster
+ * Add experimental citra-sa-vulkan support to S922X build
+
+Updates
+
+ * Update linux kernel to 6.1.29 on mainline devices
+ * Add .conf to DOSBox extensions thanks to [97]@NeoTheFox!
+
+Bug Fixes
+
+ * Fix Rockchip devices update script
+ * Adjust S922X clock speeds to hopefully fix random lockups
+ * Various other bug fixes
+-------------------------------------------------------------------------------
+20230527 -
+
+New Features
+
+ * Adds support for GPD Win Max 2 (2022), thanks to [97]@rishooty!
+ * Adds ZeroTier support to EmulationStation, thanks to
+ [98]@NeoTheFox!
+
+Updates
+
+ * Bump Linux kernel to 6.1.30.
+ * Updates RK3566 device core firmware.
+ * Bumps Emulators and Cores.
+ * Adds .conf to supported DosBox extensions, thanks to
+ [99]@NeoTheFox!
+ * Improves image burning tool to provide better feedback and improve
+ drive selection logic.
+
+Bug Fixes
+
+ * Corrects performance issues on Powkiddy x55.
+ * Resolves an issue with the Powkiddy x55 booting when connected to a
+ charger while powered off.
+ * Create missing CPS1-3 directories.
+ * Corrects an issue with hostname configuration.
+ * Corrects an issue causing WIFI network to sometimes not connect
+ correctly during startup.
+ * Fixes an issue with es_features not being properly updated with the
+ OS.
+
+ NOTE: Upgrading the x55 IS NOT SUPPORTED with this release. A fresh
+ flash is required.
+-------------------------------------------------------------------------------
+20230603 -
+
+New Features
+
+ * JELOS now features support for configuring device sleep/suspend
+ mode via System Settings.
+ * We've added support for building ARM64 build images (and Ubuntu
+ ARM64 is now a supported build target with Docker), thanks in part
+ to [97]@oOblik and [98]@rishooty.
+ * This release adds support for mupen64 standalone on AMD64, thanks
+ to [99]@rishooty.
+ * Wii and Gamecube emulation now offloads the Vulkan renderer to
+ separate thread when using the standalone emulator, adds support
+ for fast forward (z), and for configuring gamepad orientation.
+ * Panel version is now available in System Settings / Information on
+ the RG353 family of devices.
+
+Updates
+
+ * We've updated emulators and cores, along with power top, ryzenadj,
+ and the Linux kernel has been bumped to 6.1.31.
+ * Powkiddy x55 now defaults to deep sleep mode and only drains ~4%
+ overnight.
+ * Freeze is still our default, however S2Idle sleep is now enabled by
+ default when using deep sleep mode on RG353, RK2023, and RG503.
+ * Adds Vulkan QT support, thanks to [100]@rishooty.
+ * Improved moped64plus build/install process, thanks to
+ [101]@rishooty.
+
+Bug Fixes
+
+ * Corrects 3:2 aspect ratio splash generation, thanks in part to
+ [102]@UzuCore.
+ * We've fixed up an issue with the standalone mupen64 emulator on ARM
+ devices.
+ * Thanks to [103]@UzuCore, we've fixed an issue with FileMan on x55
+ devices.
+ * We've corrected an issue preventing DMC clock control on RK3326
+ devices which improves performance by up to 15%.
+ * Brightness shortcuts on x55 and RK2023 (R2 + volume) are now fixed
+ and working correctly.
+ * Fixed a bug preventing ssh keys from being injected into docker dev
+ builds.
+ * Corrects an issue preventing devices to boot if the trust/resource
+ partition is swapped.
+
+Powkiddy x55 - READ ME BEFORE UPDATING
+
+ With JELOS version 20220527 we introduced a fix that corrected an issue
+ with the device powering on and booting when it was connected to a
+ charger. If you've already re-flashed your x55 with 20220527, you can
+ ignore this section.
+
+ This fix changes how the device boots and cannot be mitigated by an
+ update alone. The JELOS team recommends that you re-flash your device.
+ If you have updated and you're here because you have a black screen and
+ the device will not boot - you're in luck because manual recovery is
+ pretty easy.
+
+Manual Recovery Steps
+
+ * Eject the microsd and insert it into a Window/Linux/Mac PC.
+ * Open /extlinux/extlinux.conf with a text editor like Visual Studio
+ Code.
+ * Change: FDTDIR / to FDT /rk3566-evb2-lp4x-v10-linux.dtb
+ * Save and eject the card.
+ * Insert the card in your x55, and it should power on normally.
+ * Enter the System Settings Menu in ES.
+ * Enable FORCE NEXT UPDATE.
+ * Back out of the menu to save.
+ * Re-enter System Settings, and select START UPDATE.
+-------------------------------------------------------------------------------
+20230606 -
+
+New Features
+
+ * Adds touch display support to RG353 family of devices, thanks to
+ [97]@anaximan!
+
+Updates
+
+ * Bump emulators and cores.
+
+Bug Fixes
+
+ * Corrects failure to boot issue on RK3588 devices, and updates
+ firmware.
+ * Fixes several device quirks that caused boot configuration issues.
+ + ATARI VCS, AYANEO Air Plus, AYANEO Air, GPD Win 4, Orange Pi
+ 5, Steam Deck.
+ * Corrects mupen64plus standalone controls on Powkiddy x55.
+-------------------------------------------------------------------------------
+20230607 -
+
+New Features
+
+ * Adds Dolphin shader options to ES features.
+ * New EXPERIMENTAL 1/2 internal resolution feature to Dolphin.
+ + This produces a grainy picture BUT should make some games
+ playable on lower end hardware. Can cause graphical artifacts
+ or crash the game. YMMV
+
+Bug Fixes
+
+ * Fix Wii games and ports not starting on systems that support them
+ * Corrects Wii controls
+-------------------------------------------------------------------------------
+20230610 -
+
+New Features
+
+ * Adds a new hotkey setting to Dolphin Standalone to cycle through
+ internal resolutions (Select + B).
+
+Updates
+
+ * Updates the Linux kernel to 6.1.32, Mesa to version 23.1.2, as well
+ as MelonDS and Duckstation stand alone emulators.
+
+Bug Fixes
+
+ * Fixes a few missing systems from the conversion to a generated
+ systems list.
+ * Corrects an issue with PSP minis not starting.
+ * Fixes multiple bugs with Moonlight, and removes the external
+ Moonlight software from PortMaster.
+-------------------------------------------------------------------------------
+20230614 -
+
+New Features
+
+ * Touch display support on RG353 devices for Drastic, thanks to
+ [97]@anaximan!
+
+Updates
+
+ * Updates Linux kernel to 6.3.7 on AMD64.
+ * Updates emulators and cores.
+
+Bug Fixes
+
+ * Fixes a bug where Dolphin-sa controls dont work if no profile is
+ selected.
+ * Splits directory creation so directories are only created for
+ supported systems.
+ * Fixes an issue where NDS BIOS are not being copied if found.
+ * Corrects an issue with Moonlight resolution not being set
+ correctly.
+-------------------------------------------------------------------------------
+20230617 -
+
+New Features
+
+ * Announcing touch display support for Anbernic RG353P and RG353M.
+ * JELOS now supports the Simple64 Mupen64 core on AMD64, RK3588, and
+ S922X based devices.
+ * GZDoom returns and is now available for all devices!
+ * Flycast SA is now default on S922X with Vulkan support.
+
+Updates
+
+ * Linux kernel 6.3.7 (AMD64), and 6.1.34 (S922X, RK3326).
+ * Updates emulators and cores.
+
+Bug Fixes
+
+ * Fixes missing preempt_rt option in the AMD64 build.
+ * Corrects an issue with Ryujinx.
+ * Fixes issues with some PortMaster games on S922X devices.
+ * Corrects a data issue with flycast2021.
+-------------------------------------------------------------------------------
+20230619 -
+
+New Features
+
+ * Reverts brightness hotkey to R2 + vol+/- and adds a battery
+ reporting feature to L2 + vol+/-.
+
+Updates
+
+ * Updates emulators and cores.
+
+Bug Fixes
+
+ * Corrects an issue with get_setting not properly finding games with
+ some special characters in the filename.
+ * Corrects an issue with gzdoom not starting.
+ * Revert preempt rt patch as it is causing the Air Pro to crash after
+ a period of time.
+-------------------------------------------------------------------------------
+20230622 -
+
+New Features
+
+ * Adds support for the ROG Ally's audio device, thanks to
+ [97]@ruineka [98]@ChimeraOS. ^1
+ * Deprecates support for developer_settings.conf - builders, please
+ migrate these variables to ${HOME}/.JELOS/options
+
+Updates
+
+ * Linux kernel, SyncThing, Samba, SSH, and several Emulators and
+ Cores.
+
+Bug Fixes
+
+ * Corrects issues with deep sleep and the microsd reader on the
+ AYANEO Air Plus.
+ * Corrects issues with Flycast and Hatari standalone emulators not
+ starting.
+
+ Note: ^1 A community member with the device will need to build and
+ submit device quirks before this device can be fully supported.
+-------------------------------------------------------------------------------
+20230627 -
+
+New Features
+
+ * Improves power management capability across the distribution and
+ enables finer control over power management options.
+ + AYANEO Air Pro: > 7 hours^1 for some systems.
+ + AYANEO Air Plus: > 5.5 hours^1 for some systems.
+ * Adds an audible battery low warning at and below 25%. Configurable
+ in Audio Settings.
+ * Adds a new WIFI toggle key (L2 + Volume Down).
+
+Updates
+
+ * Linux kernel 6.4 for AMD64 devices.
+
+Bug Fixes
+
+ * Fixes an issue where the cores overlay sometimes fails to mount on
+ AMD64 devices.
+ * Corrects an issue where items set to "auto" in EmulationStation are
+ not set to auto in the OS.
+ * Fixes an issue preventing FileMan from using the full display on
+ Powkiddy x55.
+ * Corrects an issue preventing movie playback across devices.
+ * Fixes a condition where the desired GPU profile is configured
+ incorrectly.
+
+ NOTE: ^1 All power saving options enabled, CPU limited to 4 threads
+ and 4w TDP, GPU set to low performance, brightness at 30%. Up to
+ 16bit emulation.
+-------------------------------------------------------------------------------
+20230629 -
+
+Updates
+
+ * Updates emulators and cores, and kernel firmware. Reverts Linux
+ kernel to 6.3.9.
+
+Bug Fixes
+
+ * Corrects an issue with fan control on AYANEO Air and Air Pro.
+ * Fixes a bug introduced in the last release that prevents the touch
+ display from working on RK3566 devices.
+ * Corrects bugs related to enhanced power savings.
+-------------------------------------------------------------------------------
+20230704 -
+
+New Features
+
+ * Support for the Anbernic RG552 returns!
+ * Announcing support for the Powkiddy RGB10 Max 3 Pro (S922X image)!
+
+Updates
+
+ * Linux kernel 6.3.11 and 6.1.37, Mesa 23.1.3.
+ * Updates emulators and cores.
+
+Bug Fixes
+
+ * Corrects a condition where the BIOS directory is not created.
+-------------------------------------------------------------------------------
+20230711 -
+
+-------------------------------------------------------------------------------
+20230712 -
+
+New Features
+
+ * Adds OGA controls support to Portmaster.
+ * Adds MelonDS standalone support to RK3399.
+ * Adds an HDMI auto switch for RK3399 (Warning: It will restart ES
+ and close your game, save before connecting.)
+ * Adds LED battery status indicator to RK3399.
+
+Updates
+
+ * Updates emulators and cores.
+ * Updates Linux kernel to 6.3.12 and 6.1.38.
+
+Bug Fixes
+
+ * Fixes missing Gameboy Color Hacks.
+ * Corrects an issue with global and per system settings not applying
+ correctly.
+ * Fixes missing wireguard kernel module on Powkiddy x55.
+ * Corrects issues with audio support on RK3399.
+ * Fixes headphone switching on RK3399.
+ * Corrects an issue with ES sound settings not appearing on some
+ devices.
+ * Fixes a bug with RK3566 devices that causes incorrect battery
+ reading in some cases requiring a battery disconnect and reconnect.
+-------------------------------------------------------------------------------
+20230714 -
+
+Updates
+
+ * Linux kernel 6.4.3 (AMD64).
+ * Updates emulators and cores.
+ * Improves power management for ARM devices when enabled.
+
+Bug Fixes
+
+ * Corrects a bug causing reduced performance on some ARM devices.
+ * Fixes issue with HDMI resolution on several devices, thanks to
+ [99]@Rocky5.
+ * Fixes issues with the Mupen64Plus standalone emulator on x86 and
+ ARM devices.
+-------------------------------------------------------------------------------
+20230716 -
+
+ The JELOS team is happy to announce that our documentation has been
+ migrated from the wiki and is now available [115]within the project for
+ the community to help maintain via pull requests. Additionally, we are
+ now generating system/emulator/core documentation at build time so it
+ is always accurate for your device.
+
+New Features
+
+ * Amiga emulators amiberry and uae4arm return to our ARM device
+ family.
+ * Infocom Z-Machine emulation is now available across devices, thanks
+ in part to [116]@AmberELEC!
+ * Many hotkeys have been updated per device for convenience.
+ * JELOS now features the GMU music player.
+ + Music does not play back immediately when started from ES, it
+ will be resolved in a future update.
+ + Controls work, but they are a work in progress.
+
+Updates
+
+ * Emulators and cores have been updated.
+
+Bug Fixes
+
+ * GBC hacks now appear correctly in EmulationStation.
+ * Fan control is no longer visible on devices without a fan.
+ * MangoHUD is now hidden by default.
+ * Mesa has been rolled back to version 22.3.7 to eliminate crashes.
+ * The backup tool now properly names backup files.
+
+For Developers
+
+ * A new tool has been introduced to help speed building packages
+ across devices ./tools/foreach.
+ + Ex. ./tools/foreach './scripts/clean emulators &&
+ ./scripts/build emulators'
+ * A new make option is now available to build es_systems and system
+ documentation make docs.
+ * Improved logging has been added to autostart (/var/log/boot.log).
+-------------------------------------------------------------------------------
+20230718 -
+
+ We are pleased to announce that JELOS now supports the AOKZOE A1 Pro
+ and GPD Win 4!
+
+New Features
+
+ * Adds support for AOKZOE A1 Pro and GPD Win 4, thanks to
+ [115]@anthonycaccese!
+ * New documentation for creating custom shaders, thanks to
+ [116]@gannon345!
+ * Music Player now includes a start script and lists available
+ playlists in ES rather than lists of songs.
+
+Bug Fixes
+
+ * Corrects Amiberry controls and fixes a bug preventing the emulator
+ from functioning on some ARM devices.
+ * Fixes an issue with music player not starting on S922X devices and
+ corrects scaling on some devices.
+ * Fixes recovery mode on S922X devices (OGU, Max 3).
+ * Corrects an issue with RK3399 that caused random lockups on some
+ devices.
+ * Fixes an issue in EmulationStation where opening the system or game
+ settings menu will enable all threads when no selection is made.
+ * Corrects a condition where enhanced power saving options are set
+ even when enhanced power saving mode is disabled.
+-------------------------------------------------------------------------------
+20230721 -
+
+New Features
+
+ * Our Art Book theme has had a major overhaul and it looks marvelous.
+ Some new features include:
+ + A new help bar describing button configuration that switches
+ for those who prefer B/A over A/B.
+ + Improved support for aspect ratios.
+ + Icons to showcase menu items.
+ + Immersive gamelist views.
+ * LED battery notifications are now available on RG351P and RGB10 Max
+ 3 devices!
+ * We've added support for Desmume Libretro core on RK3399 devices.
+ * JELOS now launches games faster than ever due to several
+ performance optimizations in how games are configured and launched.
+ * We're pleased to announce support for Arduboy across our family of
+ devices.
+ * The gPSP GBA emulator has returned to our Rockchip devices!
+ * PSP emulation now uses the OpenGL renderer replacing GLES on
+ RK3326, RK3588, RK3399, & AMD64 devices.
+ * The RK3399 kernel has been further optimized to eliminate bugs and
+ improve performance.
+
+Updates
+
+ * Linux kernel 6.4.4 (AMD64), and 6.1.39 (S922X, RK3399, RK3326).
+ * The Yuzu and Xemu emulators have been updated.
+
+Bug Fixes
+
+ * Corrects a bug preventing memory and gpu governor setting on some
+ devices.
+ * Amiberry now enables the on screen keyboard overlay on startup.
+-------------------------------------------------------------------------------
+20230724 -
+
+New Features
+
+ * The JELOS team is pleased to announce updated defaults to our
+ wonderful Art Book theme!
+ + Multi Artwork mode is now default, along with full status bar
+ transparency!
+ + The EmulationStation startup splash with JELOS logo is now
+ deprecated and removed.
+ * HDMI out is now supported on the Powkiddy x55!
+ * The Desmume Libretto core is now available across Rockchip devices.
+
+Updates
+
+ * Emulators and cores have been updated.
+ * Linux kernel has been updated to 6.4.5 (AMD64), and 6.1.40 (S922X,
+ RK3399, RK3326).
+ * Mesa 23.1.4.
+ * Relabels CPU governor to scaling governor in EmulationStation.
+
+Bug Fixes
+
+ * PPSSPP controls have been corrected on RK3326 devices.
+ * Additional RK3399 bug fixes to improve stability.
+ * Corrects an issue setting the 16:10 aspect ratio in
+ EmulationStation.
+ * EmulationStation no longer shows GPU settings on unsupported
+ devices.
+ * Dolphin SA and Primehack no longer appear in ES on unsupported
+ devices.
+ * Autostart no longer skips device specific start scripts.
+ * Corrects an issue of missing the snapshot directories on new
+ flashes.
+ * Fixes a bug where RetroArch does not retain the correct overlayfs
+ paths.
+-------------------------------------------------------------------------------
+20230726 -
+
+New Features
+
+ * New TDP options and AMD devices now default to 15W TDP.
+ + 2.5w, 4.5w, 9w, 12w, 15w, 18w, 22w, 24w, and 28w.
+ * Adds support for ryzensmu (AMD64).
+ * Adds a new platform quirks feature for future use.
+
+Updates
+
+ * Update Linux to 6.4.6 and 6.1.41
+ * Update alsa and associated packages.
+ * Updates multiple stand alone emulators.
+
+Bug Fixes
+
+ * Multiple games settings fixes
+ + Corrects issues with controller index passed from
+ EmulationStation.
+ + Primary controller in EmulationStation is configured for
+ hotkeys.
+ + Analog dpad configuration now works correctly.
+ + Fixes a data issue preventing certain keys from being properly
+ deleted.
+ * GPU performance settings are now correctly configured per system.
+ * Fix error on exiting PICO-8.
+ * Removes ES logo.
+ * Only enable auto mute for specific models of AYANEO Air Plus
+ (6800U).
+ * Corrects an issue preventing configuration settings from being set
+ before executing ports.
+ * Cleans up multiple quirks and supported file extensions.
+ * Labels certain power saving settings to warn of possible
+ instability when used.
+-------------------------------------------------------------------------------
+20230728 -
+
+Updates
+
+ * Update SDL2 to 2.28.1.
+ * Update Linux kernel to 6.4.7 and 6.1.42.
+ * GMU music player controls are now automatically configured on
+ startup.
+
+Bug Fixes
+
+ * The RG552 (RK3399) no longer crashes and locks up while idle or
+ during game play.
+ * Corrects a bug preventing a Wii U Pro Controller configuration from
+ working correctly.
+ * Moves RetroArch input settings to post-update to correct a
+ setsettings performance regression.
+ * Corrects a data issue preventing ES from showing games with a .dosz
+ extension.
+ * A sleep wake bug has been fixed which prevented audio from
+ functioning on wake on the Powkiddy x55.
+ * Fix power state and auto suspend bug on AMD64.
+ * Updates Art Book Next to resolve a few theme issues.
+ * Hide moonlight on S922X.
+-------------------------------------------------------------------------------
+20230804 -
+
+New Features
+
+ * JELOS now has an audio reset feature in Danger Zone that allows
+ users to reset audio settings.
+ * PPSSPP control mapping is now available for ODROID Go Advance.
+
+Updates
+
+ * Linux kernel 6.4.8 and 6.1.43.
+ * Updates emulators and cores.
+ + Duckstation, Flycast, Hatarisa, Mupen64, PPSSPP, RetroArch,
+ ScummVM, Yuzu, and Xemu standalone emulators.
+ + Box64, Beetle Lynx, DosBox Pure, Fake08, FBNeo, Gearboy,
+ Gearcoleco, Gearsystem, Genesis Plus GX and GX Wide, Mame2003
+ Plus, PCSX Rearmed, PPSSPP, and Swanstation libretro cores.
+ + GLSL and SLANG shaders.
+ * Improves HDMI out support on Powkiddy x55 and adds a hotkey to
+ restart EmulationStation (L1 + Select + Start).
+
+Bug Fixes
+
+ * Pins Mesa to 22.3.7 on RK3399 to resolve additional crash issues.
+ * Fix GPIO wifi control to resolve kernel panic issue on RK3399.
+ * Fixes parallel N64 resolution issue, thanks to [115]@littleguy77.
+ * Corrects issues with Mupen64 Standalone emulator and cores across
+ all supported devices.
+ * Fixes a bug preventing Xemu from exiting correctly.
+ * Corrects multiple emulation filename data errors.
+ * Eliminates a potential cause of settings data loss.
+ * Setsettings now configures the fastforward button as our
+ documentation indicates.
+ * Fixes a bug preventing RetroArch controller configuration from
+ being set properly when configured in EmulationStation.
+ * Corrects an issue with RetroArch losing desired path settings.
+ * TDP is now correctly set to default when no TDP or an invalid TDP
+ is requested.
+-------------------------------------------------------------------------------
+20230811 -
+
+New Features
+
+ * We are happy to announce that we have migrated to pipewire for
+ audio management, allowing all of the old mechanisms and quirks to
+ be deprecated and removed.
+ * JELOS now supports bluetooth and HDMI audio output auto switching
+ across supported devices.
+ * Audio and brightness now increment by 10 and are unified across
+ devices.
+ * We now have a new energy performance preference configuration
+ option for Intel CPUs (AMD64).
+ * Mupen64 plugins have been simplified in ES. Same options, more
+ flexible configuration.
+ * Documentation is now available for setting up SyncThing and
+ Bluetooth Audio, thanks to [115]@wansti!
+
+Updates
+
+ * Mesa 21.1.5
+ * Linux 6.4.9 (AMD64), and 6.1.44 (S922X, RK3326, RK3399)
+
+Bug Fixes
+
+ * Updates clock rates on S922X devices to help eliminate stability
+ issues.
+ * JELOS information now correctly reports system battery status when
+ other battery operated devices are connected.
+ * Corrects an issue where JELOS would sometimes not unmount cleanly
+ during the initial resize causing the device to power off.
+ * Fixes a bug preventing brightness control hotkeys from working on
+ AYANEO Air and Air Pro.
+ * Bluetooth audio and headset pairing now works correctly across our
+ ARM devices.
+ * Scummvm standalone emulator audio now works correctly.
+ * Vice standalone emulator controls have been corrected across
+ devices.
+-------------------------------------------------------------------------------
+20230814 -
+
+New Features
+
+ * Netplay returns! Enable in Games Settings, press X from the main
+ interface to launch the netplay lobby or X over a game to find
+ options for hosting or connecting a session on your local network!
+ * Adds a new standalone emulator NanoBoyAdance for OpenGL capable
+ devices (AMD64, RK3399, RK3588, RK3326).
+
+Updates
+
+ * New PPSSPP features are now available in EmulationStation.
+ * Display rotation is now improved on Powkiddy x55, thanks to
+ [115]@JohnnyonFlame!
+ * Performance mode is now default for Dreamcast, Saturn, PSP, and N64
+ systems on many ARM devices.
+ * Artbook Next theme updated to include higher res artwork for some
+ systems.
+ * Updates emulators, cores, and emulation support packages.
+ + box64, a5200-lr, atari800-lr, beetle-pce-fast-lr,
+ beetle-pce-lr, beetle-psx-lr, bsnes-lr, package.mk,
+ desmume-lr, dosbox-pure-lr, fbneo-lr, flycast-lr,
+ genesis-plus-gx-lr, genesis-plus-gx-wide-lr, handy-lr,
+ mame-lr, mame2003-plus-lr, mupen64plus-nx-lr, opera-lr,
+ pcsx_rearmed-lr, picodrive-lr, play-lr, ppsspp-lr, stella-lr,
+ swanstation-lr, tic80-lr, cemu-sa, duckstation-sa, hatarisa,
+ package.mk, ppsspp-sa, primehack, retroarch, scummvmsa,
+ yuzu-sa, glsl-shaders, slang-shaders, and retroarch-joypads.
+ * Updates Linux kernel to 6.4.10 (AMD64), and 6.1.45 (S922X, RK3399,
+ RK3326)
+
+Bug Fixes
+
+ * Fixed an issue causing audio latency and choppy playback.
+ * Corrected a bug causing the volume and brightness control service
+ to fail when battery status was requested.
+ * Corrects an issue preventing scummvm standalone from starting
+ correctly.
+ * Fixes bugs related to audio output selection preventing audio on
+ some devices during the first boot.
+ * Resolves missing 32bit library issue causing some cores to fail to
+ launch.
+-------------------------------------------------------------------------------
+20230817 -
+
+New Features
+
+ The JELOS team is happy to announce support for local network play.
+ This feature creates a device to device network allowing network play
+ for up to four JELOS devices and you are able to mix and match any
+ supported device as long as they are on the same version of JELOS!
+
+ Using this feature is simple, just enable it on each device, select a
+ host or client ID, wait for the devices to converge, and then start
+ your netplay session.
+
+Host Device
+
+ * Select Games Settings -> Netplay Settings
+ + NetPlay -> Enabled
+ + Index Games
+ * Select Network Settings
+ + Enable Local Play Mode
+ + Select 1 (Host)
+ * Choose a game and press Y
+ + Select Netplay Options
+ o Select Host a Netplay Session
+
+Client Device(s)
+
+ * Select Games Settings -> Netplay Settings
+ + NetPlay -> Enabled
+ + Index Games
+ * Select Network Settings
+ + Enable Local Play Mode
+ + Select 2-4 (Clients)
+ * Choose a game and press Y
+ + Select Netplay Options
+ o Select Connect to a Netplay Session
+
+Updates
+
+ * Updates Yuzu and Xemu standalone emulators.
+
+Bug Fixes
+
+ * Corrects issues with pipewire-alsa compatibility and resolves a
+ performance regression on some devices. Thanks to [115]@obi1!
+ * Corrects no audio issue on the ODROID Go Ultra.
+-------------------------------------------------------------------------------
+20230820 -
+
+New Features
+
+ * Adds support for GB/GBC link cable play. Select the Gambatte or
+ TGBDual core, and start a netplay client/host session and game link
+ is enabled automatically. * TGBDual recommended.
+ * Artbook Next now has initial support for 1:1 aspect ratios.
+
+Updates
+
+ * Linux kernel 6.4.11 (AMD64)
+ * MESA 23.1.6
+ * Rclone 1.63.1
+ * Syncthing 1.23.7
+ * Fuse 3.16.1
+
+Bug Fixes
+
+ * Fixes an issue preventing WIFI connecting on startup after a fresh
+ flash in some instances.
+ * Now ensures the save states directory is created by default.
+ * Corrects the default gamma setting to 50 rather than 5.
+ * Fixes missing right analog trigger in RetroArch on AYANEO devices.
+-------------------------------------------------------------------------------
+20230824 -
+
+New Features
+
+ * ODROID GO Ultra and Powkiddy RGB10 Max now have proper internal
+ display support, eliminating screen tearing!
+ * Setting an SSID and Passphrase are no longer required for local
+ netplay, they are now generated automatically when enabled.
+ * Dreamcast RetroAchievements are now available, thanks to
+ [115]@obi1!
+ * Add EmulationStation features allowing configuration of Auto Frame
+ Skip, Aspect Ratio, Show FPS, and VSync.
+
+Updates
+
+ * Update Linux kernel to 6.1.47 (S922X, RK3399, RK3326).
+ * Corrects an issue with vim by creating defaults at build time,
+ thanks to [116]@conchyliculture!
+ * Initial support for RG351V (Work in progress).
+
+Bug Fixes
+
+ * Correctly honor Fast HLE (Mupen) choice for RSP plugin, thanks to
+ [117]@littleguy77.
+ * Splits fuse 2.x and 3.x to allow applications that need both to
+ function correctly.
+-------------------------------------------------------------------------------
+20230826 -
+
+Updates
+
+ * Core platform refresh updating many distribution packages.
+ * Adds a change log preview to system settings allowing users to
+ preview changes before updating - available after this update.
+
+Bug Fixes
+
+ * Corrects an issue with cross-device local network play.
+ * Disables system suspend on ODROID Go Ultra and Powkiddy RGB 10 Max.
+ * Fixes an issue where volume service is starting before required
+ variables are created on fresh installations.
+ * Adds a warning when building a device with a prerequisite build
+ that does not exist.
+-------------------------------------------------------------------------------
+20230831 -
+
+New Features
+
+ * Adds the puae2021 Amiga core, thanks to [116]@ilmenit!
+
+Updates
+
+ * Updates emulators, cores, and moonlight.
+ + Citra-sa update fixes touch input, and adds virtual mouse
+ support on S922X!
+ * Linux 6.1.49 (S922X, RK3399, RK3326).
+
+Bug Fixes
+
+ * Corrects an issue where the GPU setting of "auto" isn't always
+ honored (AMD64).
+ * Fixes an issue where the desired TDP isn't correctly set on startup
+ (AMD64).
+ * Corrects a Vulkan regression on S922X.
+ * Panel refresh rates should be back at 60hz on S922X.
+ * Updates PortMaster to fix an input issue, thanks to [117]@kloptops!
+ * OGA audio output path now correctly set on startup.
+ * Fix VIM defaults, thanks to [118]@conchyliculture.
+-------------------------------------------------------------------------------
+20230903 -
+
+New Features
+
+ * Adds support for the new Powkiddy RGB30.
+ * Adds FPS setting to GlideN64, thanks to [118]@littleguy77!
+
+Updates
+
+ * Linux kernel 6.1.51 (S922X, RK3399, RK3326).
+ * Linux kernel 6.4.13 (AMD64).
+
+Bug Fixes
+
+ * Fix WIFI configuration to allow for an empty passphrase. Thanks to
+ [119]@conchyliculture!
+ * Revert fix for battery status reading on RK3566 devices. This may
+ require users reseat their batteries more often.
+ * Corrects dead zone issue on the Powkiddy RGB Max 3.
+-------------------------------------------------------------------------------
+20230909 -
+
+New Features
+
+ * Adds initial support for Ayn Loki Zero!
+ * Adds initial support for PS Vita emulation (AMD64 only).
+ * Adds a max incremental saves option to ES for RetroArch and fixes a
+ setsettings bug, thanks to [118]@Stosman!
+ * SNES and Genesis multi-tap are now configured by default for
+ netplay!
+ * Adds pixel perfect scaling to Pico-8, and enables it by default on
+ the Powkiddy RGB30! Thanks to [119]@christianhaitian!
+ * EmulationStation now has an option to select the graphics backend
+ for PPSSPP.
+
+Updates
+
+ * Linux kernel 6.4.15, and 6.1.52.
+ * Updates emulators and cores.
+ * Adds PS Vita to Art Book Next.
+ * Updates Mesa to 23.1.7.
+ * Reworked quirks mechanism to collapse common platform quirks and
+ reduce quirk sprawl.
+ * Audio latency is now honored system wide, configured in Games
+ Settings/Latency Reduction.
+
+Bug Fixes
+
+ * Corrects a bug with Weston preventing output on some devices.
+ * Fixes and improves to our build documentation, thanks to
+ [120]@littleguy77!
+ * Corrects an issue with sources and binaries being used outside of
+ the build root, thanks to [121]@adamg88!
+ * Refactors profile scripts to correct ordering and sequence issues.
+ * Fixes a bug with RG351P volume not being correctly set on startup
+ causing a low volume issue.
+ * Fixes a no audio bug on the RG351V.
+ * Corrects a first boot bug causing unexpected data to appear during
+ first setup.
+-------------------------------------------------------------------------------
+20230914 -
+
+New Features
+
+ * Adds Ayn Loki Max as a supported device!
+ * JELOS now supports LED and Fan control for Ayn Loki Zero and Loki
+ Max!
+ * Headphone detect is now available for the ODROID Go Ultra!
+ * Firmware (BIOS) fan control is now available across supported
+ devices (auto).
+ * Adds a new SCSI Link Power Management feature for improved battery
+ life on supported devices.
+ * Support for the display during u-boot initialization returns to
+ S922X devices!
+
+Updates
+
+ * Linux kernel 6.4.16 and 6.1.53.
+ * Documentation updates, thanks to [118]@littleguy77!
+ * Increased dead zones for Powkiddy RGB 10 Max 3 Pro.
+ * Updates emulators and cores.
+
+Bug Fixes
+
+ * Corrects a condition where GPU performance does not save when set
+ to Auto. Updates "default" behavior when configuring per
+ system/game.
+ * Ensures bluetooth volume is set when devices connect so device
+ volume isn't 100%.
+ * Amlogic u-boot typo fix and package cleanup, thanks to
+ [119]@adamg88!
+ * JELOS now waits for automount to complete before starting
+ EmulationStation to correct a condition where ES sometimes loads
+ before games are available.
+ * Corrects FPS and screen stretching configuration options for
+ mupen64plus-sa.
+ * Fixes an issue with global latency settings not being honored.
+ * Movie playback bugs have been fixed and hardware acceleration is
+ available where supported.
+ * Reverts removal of ES audio path configuration from post-update to
+ resolve no audio in ES when updating from pre-pipewire versions of
+ JELOS.
+-------------------------------------------------------------------------------
+20230915 -
+
+Updates
+
+ * Emulators updated: Flycast-SA, MelonDS-SA, and Yuzu-SA.
+
+Bug Fixes
+
+ * Fixes a get_settings bug that caused the system to always run in
+ performance mode during gameplay if a system/game setting was not
+ available causing unnecessary battery drain.
+ + Note: Some emulation may feel less performant, use system/game
+ settings to adjust the scheduler as needed.
+ * Corrects an issue preventing RetroArch rewind from being enabled
+ when set.
+ * Fixes a bug preventing audio output in EmulationStation if enable
+ video preview audio had been previously disabled.
+-------------------------------------------------------------------------------
+20230919 -
+
+New Features
+
+ * AYN Loki LED control now supports brightness and rainbow pulse
+ (default)!
+ * The "black" screensaver now reduces the display brightness to zero
+ when active to reduce idle power consumption.
+ * AYANEO Air and AYN Loki now flash LEDs red on low battery.
+ * Several ID Software libretro cores have returned!
+ * CEMU now allows switching to gamepad view using the Ayaneo button
+ or the right lower action button on Loki.
+
+Updates
+
+ * Updates emulators and cores.
+ * Improved fan profiles for AYANEO Air and Air Pro.
+
+Bug Fixes
+
+ * Disable the RetroArch image viewer so games properly start in
+ FAKE-08.
+ * Fixes a few issues causing the builder to reach out of the build
+ root to build packages, thanks to [118]@adamg88!
+ * Corrects an issue with brightness not saving when set in
+ EmulationStation.
+ * Fixes a bug preventing video screensaver audio output when enabled
+ in EmulationStation.
+ * Corrects a bug in EmulationStation preventing the default GPU
+ profile from being displayed correctly in system/game settings
+ menus.
+-------------------------------------------------------------------------------
+20231003 -
+
+New Features
+
+ * The JELOS team is happy to announce our new wiki @
+ [116]https://www.jelos.org!
+ + If you would like to become a contributor you're welcome to PR
+ changes to the [117]jelos.org repository! We recommend joining
+ our Discord community to talk about your changes with our
+ community of developers and users.
+ * LED control is now available for AYANEO Air Plus!
+ * Parallel graphics and audio plugins for N64 emulation are now
+ available on supported devices!
+ * Gamecube/Wii and NDS standalone emulators are now available on
+ RK3588 devices!
+ * 30W TDP is now a configurable option for AMD64 devices.
+ * Vulkan is now available on Haswell devices, thanks to
+ [118]@asoderq!
+
+Updates
+
+ * LED and Fan control optimizations on supported AYANEO and AYN
+ devices.
+ * Kernel 6.1.55 and Mesa 23.2.1 for supported devices.
+ * Adds AYN platform driver, thanks to [119]@pastaq!
+ * Bluetooth audio latency has been reduced, improving but not
+ eliminating it.
+ * Emulators and cores have been updated!
+ * PCSX2 is now the default PS2 emulator for AMD64 on new
+ installations.
+ * AYN Mini Pro internal display is now rotated correctly.
+
+Bug Fixes
+
+ * Improved build support and optimization, thanks to [120]@adamg88!
+ * Improved radial deadzone scaling for S922X devices, thanks to
+ [121]@littleguy77!
+ * Fixes an incorrect soundfont path for ScummVM, thanks to
+ [122]@miwasp!
+ * PCSX2 no longer requires a screen tap or mouse movement before
+ starting emulation.
+ * CPU temperature and fan speed now reported correctly in System
+ Information on supported devices.
+-------------------------------------------------------------------------------
+20231012 -
+
+Updates and New Features
+
+ * Brightness logic has been re-worked to switch from a linear to a
+ logarithmic model thanks to [116]@Percentnineteen!
+ * JELOS now uses the full version of Moonlight on AMD64 devices,
+ thanks to [117]@beebono!
+ * Linux kernel 6.1.57 on supported devices.
+ * Duckstation SA now has a video renderer option available.
+ * Tools in the tools menu now have logos!
+ * Dolphin (Gamecube/Wii) is no longer available on RK3566 devices.
+ * EmulationStation no longer loops game video playback.
+ * Hardware video playback is now used by EmulationStation to play
+ videos when available.
+ * RK3566 Libmali drivers have been updated to g13.
+ * An internal WIFI switch has been added for RK3399.
+ * CHD extension support is now available for PPSSPP.
+ * Updates emulators and cores
+
+Bug Fixes
+
+ * Corrects an issue causing audio to not mute when headphones are
+ connected on Powkiddy x55.
+ * Standalone emulator start scripts are now only available when the
+ emulator is installed.
+ * Multiple EmulationStation bugs have been fixed to improve
+ stability.
+-------------------------------------------------------------------------------
+20231016 -
+
+New Features
+
+ * RPCS3 emulation now supports PSN games and includes functional
+ controller mapping by default (AMD64).
+ * PCSX2 now includes an ES option to enable and disable FPS.
+ * System names now correctly describe the system being emulated.
+ * EmulationStation now offers the ability to disable preview videos.
+
+Updates
+
+ * Updates to our default theme Art Book Next, emulators, and cores.
+
+Bug Fixes
+
+ * Corrects a compatibility bug with podman, thanks to
+ [116]@ColinKinloch!
+ * Fixes and optimizes ES bluetooth enable/disable to correct bugs and
+ improve performance.
+ * Corrects a brightness bug that caused brightness to reduce to 0 if
+ the brightness table did not exist after the previous update.
+ * Recovery mode issues have been resolved for ODROID Go Ultra and
+ Powkiddy RGB10 Max 3, thanks to [117]@adamg88 for helping debug and
+ correct the issues!
+ * Fixes a bug with Powkiddy RGB10 Max 3 audio quirks.
+ * Suspend tool now restarts systemd-logind if the mode has been
+ changed and no longer requires a reboot.
+-------------------------------------------------------------------------------
+20231022 -
+
+New Features
+
+ * The JELOS team is pleased to announce support for the ODROID N2 and
+ N2+ models, thanks to [118]@adamg88!
+
+Updates
+
+ * Linux 6.1.58 on supported devices.
+ * Improvements to the JELOS logo and console font.
+ * Pico-8 now supports multiple arch binaries in the games directory.
+ Use pico-8/aarch64 and pico-8/x86_64. Previous behavior has been
+ preserved.
+ * System menu sorting and grouping has been improved.
+ * PCSX rearmed now enables threaded rendering by default, thanks to
+ [119]@christianhaitian.
+
+Bug Fixes
+
+ * Adds a basic es_systems.cfg to correct a condition where ES does
+ not start correctly when building with EMULATION_SUPPORT=no.
+ * Fixes an bug that broke audio output on Powkiddy RGB10 Max 3.
+ * Corrects an issue with Pico-8 startup that prevented starting the
+ dynamic binary if the static binary exists and fails to start.
+ * Now sets permissions on the Pico-8 binary before executing.
+ * PCSX rearmed has been reverted to a previous version to correct
+ artifacting issues.
+-------------------------------------------------------------------------------
+20231023 -
+
+Updates
+
+ * Linux kernel 6.4.8 (AMD64), 6.1.59 (S922X, RK3399, RK3326).
+ * Update emulators, cores, and theme.
+
+Bug Fixes
+
+ * Revert bluetooth update to restore bluetooth functionality.
+ * Fix Pico-8 failing to start on some devices.
+ * Corrects an issue routing audio on S922X SBC devices.
+-------------------------------------------------------------------------------
+20231029 -
+
+New Features
+
+ * Enables entware, adding opkg support to JELOS, thanks to
+ [119]@adamg88!
+ * Adds the Kronos Sega Saturn emulator to AMD64 devices!
+ * Adds Mednafen support to RK3399 devices, thanks to [120]@asoderq!
+ * Adds support for Macintosh Plus emulation across devices.
+
+Updates
+
+ * Enables DRM Framebuffer double buffering to improve performance on
+ KMS/DRM devices (RK3566), thanks in part to [121]@shauninman!
+ * Updates emulators, libretro cores, and system theme.
+ * Linux kernel 6.5.9 (AMD64) and 6.1.60 (RK3326, RK3399, S922X).
+ * Adds esp8089 WIFI driver for Odroid Go Advance Black Edition,
+ thanks to [122]@ab0tj
+ * Use game name in save state filename to Dolphin SA, thanks to
+ [123]@batocera!
+
+Bug Fixes
+
+ * Improve emulation performance across a variety of cores and
+ emulators.
+ * Corrects an issue with RG351P/M waking from sleep, thanks to
+ [124]@macromorgan!
+ * Fixes a bug causing retroarch latency settings to be ignored.
+ * Corrects CPU opp tables for S922X and A311D devices, thanks to
+ [125]@adamg88!
+-------------------------------------------------------------------------------
+20231110 -
+
+New Features
+
+ * JELOS is happy to announce support for the HardKernel ODROID N2L,
+ thanks to [121]@adamg88!
+ * We're also happy to announce support for the Powkiddy RGB10, thanks
+ to [122]@ab0tj!
+ * GPU performance modes are now user configurable on ARM devices.
+ * Mednafen is now available on AMD64 and RK3326 devices! Thanks to
+ [123]@asoderq!
+ * JELOS now includes the latest version of [124]PortMaster for
+ supported ARM devices.
+ + Note: S922X and A311D based devices are not currently
+ supported. Postmaster is not yet available for AMD64.
+
+Updates
+
+ * Linux kernel 6.5.11 (AMD64) and 6.1.62 (S922X, RK3399, RK3329).
+ * Update emulators, cores, and theme.
+ * Enables debug tools across supported devices.
+ * Multiple RK3399 platform improvements including an updated kernel
+ config to remove unneeded features/drivers and improve stability!
+ * Implements radial thresholding on Powkiddy X55 and RK3399, thanks
+ to [125]@JohnnyonFlame!
+ * AMD64 optimization improvements.
+ + Note: Optimization breaks compatibility with platforms that do
+ not support AVX including N5000.
+ * Factory Reset now available in System Settings -> Danger Zone.
+ * UI improvements including improved emulator and tools sorting.
+
+Bug Fixes
+
+ * Switch RetroArch default audio output from pulseaudio to
+ alsathread.
+ * Correct low audio issues on multiple devices including ODROID Go
+ Ultra and RGB10 Max 3 Pro.
+ * Switches RK3566 devices to utilize BSP native battery reporting.
+ * Corrects an issue causing the desired GPU state to be overridden by
+ the desired CPU state function.
+ * Fixes an issue with TDP selection that caused the system TDP to
+ fail to restore after exiting a game.
+ * Corrects a bug preventing correct CPU frequency selection on ODROID
+ Go Ultra and RGB 10 Max 3 Pro.
+ * Fixes audio on resume from sleep and corrects issues with HDMI
+ audio on RK3399 devices.
+ * Improves memory voltages to improve device support for RK3326.
+-------------------------------------------------------------------------------
+20231112 -
+
+New Features
+
+ * CEMU now supports enabling online mode for the system or per game.
+ + Note: Online mode requires owning a Wii-U and configuring CEMU
+ for online play manually.
+ * Adds a start script to the tools menu for Ryujinx on supported
+ devices.
+
+Bug Fixes
+
+ * Fixes a bug preventing JELOS from booting on RG353P.
+ + Note: If your device was affected you can recover by editing
+ extlinux/extlinux.conf on the boot partition of your JELOS
+ MicroSD, changing: FDTDIR / to FDT /rk3566-rg353p-linux.dtb.
+ You do NOT need to re-flash.
+ * Corrects missing kill shortcut for PortMaster.
+ * AetherSX2 now starts correctly on supported ARM devices.
+ * Enables performance mode by default for GBA and PSX on RK3326
+ devices.
+ * Corrects a bug preventing Mednafen from being available for ST-V
+ emulation.
+-------------------------------------------------------------------------------
+20231116 -
+
+New Features
+
+ * Drops support for filesystem features that are not yet supported on
+ popular Linux distributions for new flashes, thanks to
+ [121]@troopermax!
+ * EmulationStation now reduces physical brightness in black and dim
+ screen saver modes to reduce power consumption while idle.
+
+Updates
+
+ * Our core platform has been updated which consists of updates to
+ hundreds of packages including our base system, kernel, firmware,
+ emulators and cores, EmulationStation, our Art Book theme, and
+ more.
+ * Devices supported by our S922X platform now use performance mode by
+ default for GameCube, PS2, and 3DS.
+ * Adds Mednafen reset to Danger Zone menu.
+
+Bug Fixes
+
+ * Portmaster control issues have been resolved across supported
+ devices.
+ * Portmaster compatibility libraries are now properly configured on
+ installation.
+ * Tailscale was previously installed incorrectly on AMD64 devices,
+ this issue has been resolved.
+ * Corrects a bug preventing Citra-SA from functioning correctly on
+ S922X devices.
+ * RK3399 kernel optimizations including removal of unnecessary /
+ unused drivers and frequencies.
+ * Mednafen now configures properly on startup after a fresh flash.
+-------------------------------------------------------------------------------
+20231124 -
+
+Updates
+
+ * Linux kernel 6.1.63 for RK3326, RK3399, and S922X.
+ * Linux kernel 6.6.2 for AMD64.
+ * Updates emulators, cores, emulation support packages, and theme.
+ * Games installed via Portmaster now default to performance mode.
+
+Bug Fixes
+
+ * Corrects an issue preventing EmulationStation from starting on
+ SBCs.
+ * Fixes a bug preventing 3DS emulation from executing on some Weston
+ devices.
+ * Adds a missing SDL joystick mapping for RK3566 devices.
+ * Fixes an issue on RK3566 devices causing battery drain when
+ charging the device while it is powered off.
+ + Correction requires a modification in how the device boots.
+ When you connect a charger and the power is off, the device
+ will now power on. This is expected behavior and not a bug.
+ + As the method of booting has changed, it is possible that
+ battery reporting could be inaccurate and require a battery
+ reset. To reset, disconnect the battery from the mainboard for
+ 10 seconds.
+ + DO NOT ATTEMPT TO DRAIN THE BATTERY TO RESET, this will cause
+ the charge controller to become even more inaccurate.
+ + Big thanks to Recalbox for developing the feature.
+-------------------------------------------------------------------------------
+20231127 -
+
+New Features
+
+ * Improved support for AMD's p-state driver for improved battery life
+ across supported devices.
+ * Initial support for USB gadget mode, thanks to [121]@citral23!
+
+Updates
+
+ * Update emulators and cores.
+
+Bug Fixes
+
+ * Revert Retroarch version to correct issue with Retroachievement
+ related crashes.
+ * Revert battery drain when charged while off fix, as it has led to
+ quite a bit of instability.
+ * Revert enable uart2 on Powkiddy x55 as it broke sleep.
+-------------------------------------------------------------------------------
+20231201 -
+
+New Features
+
+ * The JELOS team is happy to announce support for merged storage!
+ This change merges your internal or tf1 microsd storage with your
+ external microsd to allow both devices to be used as game storage!
+ + Requires the microsd card to be formatted as ext4, the feature
+ is automatically disabled when ExFAT and FAT are used as those
+ filesystems are not compatible.
+ + We now have a new directory structure for games:
+ o Internal Storage (or tf1): /storage/games-internal
+ o External MicroSD (or tf2): /storage/games-external
+ o Combined Path: /storage/roms
+ + Games and data copied to /storage/roms will be saved to
+ /storage/games-internal.
+ + Samba has been updated to present both volumes for network
+ access.
+ + EmulationStation now has an eject option under System Settings
+ -> Hardware /Storage that is available when merged storage is
+ active.
+ + When a compatible microsd is inserted, JELOS will
+ automatically add it to the overlay if merged storage is
+ active, making the content available to ES after a gamelist
+ update or an ES restart.
+ + The udevil service will no longer mount microsd cards to
+ /run/media, however it will still handle mounting all other
+ external storage.
+ + After the update, JELOS will automatically migrate your
+ current roms directory to /storage/games-internal once.
+ + A new function is available in System Settings to disable
+ merged storage, please disable before copying files into the
+ games folders.
+ + The rom split tool is now deprecated as it is no longer
+ needed.
+ * Adds saving for TWB64 and Pixelshift Gambatte palettes, thanks to
+ [121]@GlazedBelmont!
+ * JELOS now supports AptX and AptX-LL Bluetooth audio using supported
+ devices and headphones. Thanks to [122]@ValveSoftware for patches
+ and reference sources.
+ * CPS1, CPS2, and CPS3 now include support for RetroAchievements,
+ thanks to [123]@BitingChaos!
+
+Updates
+
+ * JELOS now includes all available Realtek WIFI firmwares in every
+ image.
+ * Hotkey management has moved from System Settings to Controller and
+ Bluetooth Settings.
+ * Many switches in EmulationStation have been updated to execute
+ immediately rather than requiring users to back out of menus to
+ save.
+ * Update Linux to 6.6.3 and 6.1.4, Mesa updated to 23.3.0.
+ * Anbernic RG552 and RK3326 devices now shift into powersave mode
+ before sleep to significantly reduce power consumption while
+ sleeping.
+ * AMD64 Linux kernel now includes [124]@NeroReflex's optimize harder
+ patch for improved optimization.
+ * Adds support for Lenovo Legion GO display rotation, thanks to
+ [125]@mauroferra!
+
+Bug Fixes
+
+ * Resequenced thread and gpu setting on boot as it was being excuted
+ too early for some devices.
+ * Fixes a condition with powerstate where the status variable is
+ being clobbered causing it to loop and waste unnecessary resources.
+ * Corrects a bug preventing voltage stepping on ODROID GO Ultra and
+ Powkiddy RGB10 Max 3 Pro.
+ * Fixes an incorrect architecture issue with TailScale.
+ * Reverts RPCS3-SA to an earlier version to resolve game startup and
+ crash issues.
+ * Corrects an issue with Wireguard tools not being executable, thanks
+ to [126]@mauroferra!
+ * Fixes Portmaster permissions preventing the software from executing
+ correctly under certain conditions.
+-------------------------------------------------------------------------------
+20231212 -
+
+New Features
+
+ * Adds support for changing the merged storage target between the
+ internal and external card.
+ + Since JELOS creates the games directory structure it is
+ possible that the overlay will hide games if you switch
+ targets as it will consider them removed. Delete the empty
+ directories and reboot to resolve.
+ o Ex: find /storage/games-internal -type d -empty -delete
+ && find /storage/games-external -type d -empty -delete &&
+ reboot
+ + Merged storage can now be disabled persistently.
+ + A new directory structure is required to enable switching:
+ o /storage/games-internal/roms
+ o /storage/games-external/roms
+ o The target /storage/roms has not changed.
+ o Games will be migrated automatically when possible.
+ o If game directories are not created correctly, ssh into
+ the device and run systemd-tmpfiles --create
+ /usr/config/system-dirs.conf.
+ * Lowers RK3566 device clocks when put to sleep.
+ * Adds ATSC acceleration and CPU accuracy options to Yuzu.
+ * Adds TWB64 - Pack 3, thanks to [121]@GlazedBelmont!
+
+Updates
+
+ * Update Mali Bifrost and Vulkan to r46 (S922X).
+ * JELOS now uses Xwayland and has deprecated xorg-server.
+ * Updates Portmaster, Citra-SA, Flycast-SA, Yuzu-SA, Cemu-SA,
+ Gambatte-LR, and the Linux kernel to 6.1.65 and 6.6.5 on supported
+ devices.
+ * Check if the controller is registered and 8bitdo and force
+ 360-behavior in mednafen, thanks to [122]@sydarn!
+
+Bug Fixes
+
+ * Fixes an issue with Yuzu graphics glitching due to bad Mesa
+ compiler flags.
+ * Removes 1908 clock as it is not present in the BSP kernel (S922X).
+ * Corrects an issue with Yuzu prompting for confirmation when closing
+ the app.
+ * Update process now removes stale profile scripts that cause missing
+ audio on some devices.
+ * Fixes a udevil regression preventing thumb drives from mounting
+ automatically.
+ * Corrects factory reset to ignore new games paths.
+ * Applies a workaround to portmaster to set permissions on games if
+ they are not already set.
+ * Adjusts available clock frequencies on RK3326 devices to improve
+ stability.
+-------------------------------------------------------------------------------
+20231214 -
+
+Updates
+
+ * Linux kernel 6.6.6 (AMD64).
+ * Update emulators, cores, emulation support packages, and system
+ theme.
+ * Enable serial console output on RK3326, thanks to [121]@royger!
+ * Switch default suspend mode to mem + s2idle on RK3566 devices.
+
+Bug Fixes
+
+ * Corrects an issue with merged storage preventing EmulationStation
+ from enabling the menu options.
+ * Fixes an issue with system directory creation and switches the
+ function from automatic to an option in System Settings that
+ creates them on demand. This resolves a conflict condition that can
+ hide games as duplicate directories may exist before the overlay is
+ initialized. See previous release notes (20231212) as a fix is
+ provided for affected users.
+
+ Note: For the 'CREATE GAME DIRECTORIES' to work correctly, users
+ will need to create /storage/games-internal/roms or
+ /storage/games-external/roms manually. This issue will be corrected
+ in the next release.
+-------------------------------------------------------------------------------
+20231220 -
+
+New Features
+
+ * JELOS now has support for Kronos Libretro (Saturn) on AMD64, thanks
+ to [121]@sydarn!
+
+Updates
+
+ * Linux 6.1.68 (RK3326, RK3399, S922X)
+ * Update emulators, cores, and support packages.
+ * Update SyncThing and rclone.
+
+Bug Fixes
+
+ * Corrects an issue with integer overscale, thanks to
+ [122]@GlazedBelmont.
+ * Fixes a bug preventing /storage/games-internal/roms and
+ /storage/games-external/roms from being created automatically.
+ * Reverts AMD64 kernel to 6.6.4 to resolve missing battery issue.
+ * Reverts Powkiddy x55 GPU driver to correct an issue with GPU hangs
+ while idle and in game.
+ * Fixes a bug causing EmulationStation to fail to restore brightness
+ when using the video screensaver.
+ * Corrects a quirks bug causing missing audio on some devices.
+-------------------------------------------------------------------------------
+20231230 -
+
+New Features
+
+ * Adds support for .cpr files to Amstrad CPC, thanks to [121]@Josian!
+ * JELOS now supports access via web browser using simple http server,
+ thanks to [122]@NeoTheFox!
+ * Adds meson core to Famicom Disk System, thanks to [123]@BitingChaos
+ for the tip!
+ * Adds a OpenGL/Vulkan selection feature to EmulationStation for WiiU
+ (Cemu-sa).
+
+Updates
+
+ * Update mali-bifrost GPU driver to r47p0 (Amlogic/S922X)
+ * Linux kernel 6.1.69 (RK3399, RK3326, S922X), and 6.6.8 (AMD64).
+ * GCC 13.2.0, Mesa 23.3.2, Vulkan 1.3.274, LLVM 17.0.6, Python
+ 3.11.7, GLIB 2.78.3, ALSA 1.2.10, Pipewire 1.0.0.
+ + Thanks to [124]@CoreELEC (Python 3), [125]@archlinux (lrps2),
+ and [126]@AmberELEC (EmulationStation).
+ * Refactored runemu launch utility to improve performance and
+ eliminate bugs.
+ * Updates to CEMU, Yuzu, Citra, and GZdoom.
+ * Adds console output to post-update execution to show update
+ progression.
+ * Improves Wireplumber's bluetooth auto connect, thanks to
+ [127]@ValveSoftware.
+
+Bug Fixes
+
+ * Re-optimize distribution defaults to use -O3 over -Ofast to
+ eliminate GPU artifacts and other issues caused by the prior
+ optimization.
+ * Eliminated support for a variety of emulators and cores that were
+ not integrated in EmulationStation.
+ * Fixes a bug causing autosaved games to load when 'start a new game'
+ is chosen.
+ * Reverts RK3566 GPU update to correct a missing symbols bug
+ preventing build completion.
+ * Fix long standing get_settings bug that does not honor filenames
+ with a single quote.
+-------------------------------------------------------------------------------
+20240109 -
+
+New Features
+
+ * Announcing initial support for the Ayaneo 2S!
+ + Note: When put to sleep, the display does not fully power off.
+ We hope to resolve this in a future release.
+ * New options in Danger Zone!
+ + An Overlay reset which deletes overlays from /storage and
+ reboots. This will be useful for cleaning up broken joypad
+ configurations or fixing scenarios where users have used the
+ retroarch update tool.
+ + A full retroarch reset which deletes the entire retroarch
+ directory and all overlay directories and then reboots. Useful
+ for cleaning up when other resets don't resolve issues, and
+ users don't want to factory reset.
+ * beetle-supafaust-lr now defaults to quad core optimized settings,
+ thanks to [121]@sydarn!
+
+Updates
+
+ * Updates several emulators, cores, and support packages.
+ * Linux kernel 6.1.70 (RK3326, RK3399, S922X) and 6.7 (AMD64).
+ * Updates Mesa and GPU drivers for RK3399.
+
+Bug Fixes
+
+ * Reverts GCC to 12.2.x to fix bugs with Dolphin SA.
+ * Reverts gzdoom to the latest stable release and fixes a crash bug.
+ * Fixes a bug preventing Syncthing from using the correct
+ configuration file.
+ * Corrects a bug with shaders on Amlogic devices, thanks to
+ [122]@nayasis!
+ * Fixes an issue preventing netplay clients from converging with
+ their host instances.
+ * Resolves an issue in EmulationStation causing slow response when
+ opening the network settings menu.
+-------------------------------------------------------------------------------
+20240116 -
+
+-------------------------------------------------------------------------------
+20240117 -
+
+New Features
+
+ * JELOS now supports installing to EMMC on ARM!
+ + On Weston devices, select the installer from the tools menu
+ and choose your EMMC.
+ + For RK3566, execute installer over an ssh connection to
+ install JELOS to your EMMC.
+ + An external keyboard is required to step through the
+ installation menu.
+ + Some devices are not configured to make the EMMC available to
+ JELOS.
+ + Not yet supported: Powkiddy x55, Anbernic RG552.
+ * Volume and brightness can now be controlled via R3 and the d-pad on
+ the RGB10.
+ * System Information now displays internal/external storage
+ utilization.
+ * Adds Portmaster controller layout support via EmulationStation.
+ * New software available: nvtop (panfrost only), weston-debug.
+ * JELOS now has initial support for MTP, thanks to [121]@citral23!
+ + Requires configuration over SSH as ES integration is still
+ work in progress.
+ * LED control has been improved, including adding the color white on
+ supported devices.
+ * Adds sorting of shaders, filters, and overlays in ES. Thanks to
+ [122]@nayasis!
+ * JELOS now utilizes the Panfrost forcepack feature to offload
+ texture compression to the GPU on supported devices. Thanks to
+ [123]@chealy!
+ * Automount now places a readme in /storage/roms with instructions to
+ create game directories.
+
+Updates
+
+ * Our RK3399 and RK3326 platforms have been migrated to Linux kernel
+ 6.7.0!
+ * RK3399 now uses mainline u-boot with arm trusted firmware, thanks
+ to [124]@LibreELEC!
+ * Mesa 23.3.3.
+ * Mednafen 1.32.0.
+ * Systemd 255.2.
+ * Tailscale 1.56.1.
+ * Updated root certificates.
+ * Emulator updates (Citra-SA, Yuzu-SA).
+
+Bug Fixes
+
+ * Fix AYANEO 2S display remaining on when put to sleep.
+ * Primehack has been deprecated and removed from the project.
+ * Fixes a full factory reset issue on weston devices.
+ * Ensure userconfig setup runs after automount to correct a potential
+ conflict during the initialization (first) boot.
+ * Pico 8 autostart script no longer creates the directory by default.
+ It is created when Create Game Directories is selected in System
+ Settings.
+ * Fixes a bug preventing the eject option from appearing in
+ EmulationStation when Merged Storage is disabled.
+ * Revert enabling blkid in e2fsprogs, this conflicts with the busybox
+ binary and causes partitions to fail to resize on first boot.
+ * Optimize startup order and apply a guard to set_settings to ensure
+ the system configuration exists before writing to it. This resolves
+ black screen issues that sometimes occur during the initial boot.
+-------------------------------------------------------------------------------
+20240121 -
+
+New Features
+
+ * The JELOS team is happy to announce support for the Magicx XU10,
+ thanks to [121]@Oendaril!
+ * Adds mame support for Game and Watch.
+ * Enables the EMMC on Powkiddy x55 to allow JELOS to be installed to
+ it using installer over an ssh connection.
+ * Playstation and Gameboy Advance emulation will now use the
+ performance governor by default on RK3566 based devices.
+
+Updates
+
+ * Linux kernel 6.7.1 (AMD64).
+ * Updates emulators, cores, and support packages.
+ * Deprecates and removes flycast32.
+
+Bug Fixes
+
+ * Corrects a bug in our X-Box 360 Retroarch gamepad configuration
+ file causing invalid input in some emulators.
+ * EmulationStation now properly adds a default option to the cpu
+ scaling governor selection in per game/system options.
+ * Fixes a long standing issue with RK3566 devices causing drain after
+ being charged while devices are powered off.
+ * Reverts an OpenBor update that broke input on some devices.
+ * Corrects a bug introduced in the last release that causes Weston to
+ fail to start on some devices when booting.
+ * Trap cases where external cards weren't being excluded from factory
+ resets. Exclude deleting games-internal as well.
+
+ P.S. Sorry Mr. Fluffles.
+-------------------------------------------------------------------------------
+20240201 -
+
+New Features
+
+ * The JELOS team is happy to announce support for the following
+ devices:
+ + Powkiddy RGB10 Max 3 (RK3566)
+ + Game Console R33S (RK3326)
+ * RK3326 and RK3399 devices now have overclocking options available
+ in EmulationStation!
+ * Power LEDs are now controllable via EmulationStation for RK3566
+ devices (Excluding x55).
+ * Automatic generation of Splore.png can now be disabled, thanks to
+ [121]@HuiJun!
+ * Same CDI single arcade / machine emulator libretro core is now
+ available, thanks to [122]@wwark!
+ * Super Cassette Vision libretro core is now available, thanks to
+ [123]@wwark!
+
+Updates
+
+ * Many improvements to the MagicX XU10, thanks to [124]@Oendaril!
+ * Updates Blues, Pipewire, PulseAudio, and WirePlumber for improved
+ device support and reduced audio/controller latency.
+ * Linux kernel 6.6.14 (AMD64) and 6.7.2 (RK3399 and RK3326).
+ * Mesa 23.3.4
+ * Danger Zone has been relabeled as "System Management and Reset
+ Options".
+
+Bug Fixes
+
+ * Corrects a drastic button mapping issue on RGB10 devices.
+ * Improves drastic hotkey support for RK3399 devices.
+ * Fixes a bug causing reversed controls in RetroArch after
+ configuring controller priority in EmulationStation.
+ * LEDs now turn off when AYANEO S2 devices power off.
+ * Flycast2021 now works correctly across supported devices.
+ * Freej2me now works correctly, thanks to [125]@AveyondFly!
+ * X68000 now loads d88 format floppies correctly, thanks to
+ [126]@wwark!
+ * ZeroTier is now available on RK3326 devices, thanks to
+ [127]@Oendaril!
+ * Corrects a bug preventing nvme partitions from resizing on Orange
+ Pi 5 devices.
+ * Fixes a condition that prevents some Powkiddy x55 devices from
+ booting.
+ * Fixes Odroid Go Ultra bootloader not updating.
+ * Raises the GPU frequency floor on RK3566 devices to eliminate UI
+ lag.
+ * Corrects a condition where you cannot start a new game if you have
+ an existing auto save.
+-------------------------------------------------------------------------------
+20240202 -
+
+Updates
+
+ * Updates Linux kernel to 6.7.3 (AMD64, RK3399, RK3326).
+ * Our S922X platform now features Linux kernel 6.6.15!
+ * Mesa 24.0.0 and libdrm 2.4.119.
+ * Adds speedtest-cli network benchmark tool.
+
+Bug Fixes
+
+ * Fixes Portmaster not launching on RK3566 devices.
+ * Fixes per system performance defaults not honoring user provided
+ settings.
+ * Corrects an issue with system management options not providing
+ visual output on RK3566 devices.
+ * Fixes Duckstation rotation on the Powkiddy RGB10 Max 3.
+ * Correct mupen64plus-sa mappings on MagicX xu10, thanks to
+ [121]@Oendaril!
+ * Update regulator settings for xu10 to reduce crashes when waking
+ from sleep, thanks to [122]@Oendaril!
+ * Allow inverting analog controls for xu10, thanks to [123]@Oendaril!
+
+ Due to a bug in yesterday's release, updating through
+ EmulationStation will not work on the RK3566 family of devices if
+ you updated to 20240201. You can update over ssh by logging in as
+ root and running system-upgrade, or using the manual update process
+ [124]https://jelos.org/play/update/#option-2-manual-update.
+-------------------------------------------------------------------------------
+20240206 -
+
+New Features
+
+ * Overclocking is now supported on ODROID N2, N2+, and N2L!
+ * CHIP-8, X-CHIP, and XO-CHIP emulation is now supported, thanks to
+ [121]@wwark!
+
+Updates
+
+ * S922X devices now use Linux 6.7.3!
+ * Update emulators, cores, and support packages.
+ + Yuzu-sa, Citra-SA, Flycast-SA, PPSSPP-SA, RetroArch, Vice-SA
+ * Vulkan 1.3.277 on supported devices.
+ * File Manager now supports native resolutions, thanks to
+ [122]@Oendaril!
+ * Handy Atari Lynx emulator now supports .lyx extensions, thanks to
+ [123]@wwark!
+
+Bug Fixes
+
+ * Corrects SDL controller bindings on MagicX xu10, thanks to
+ [124]@Oendaril!
+ * Fixes bugs preventing RGB and Power LEDs from flashing on low
+ battery.
+ * Sharp X1 & PC98 now correctly load d88 format images, thanks to
+ [125]@wwark!
+ * Corrects bugs related to controller detection, and improves default
+ controller settings in EmulationStation.
+ * Fixes AMD64 button modifiers for L3 and R3 in Mednafen.
+ * Resolves a condition that sometimes causes Weston/EmulationStation
+ to fail to start on startup.
+ * S922X devices now use correct opps tables for turbo modes.
+ * gzdoom now detects and uses the correct resolution across supported
+ devices.
+-------------------------------------------------------------------------------
+20240212 -
+
+New Features
+
+ * JELOS now supports the Game Console R35S and R36S! An option to
+ select your device variant is available in the "System Settings"
+ menu.
+ * PS Vita is now fully integrated in EmulationStation. Once your
+ games are configured, use the "Scan Vita Games" option to scan
+ them, followed by "Update Game Lists" to reload them. Once scanned,
+ they can be scraped using the built in scrapers.
+ * EmulationStation now supports displaying PICO-8 cartridge images
+ when no scraped image is available.
+ * The JELOS installer now supports using built in controls to perform
+ installation to internal storage on supported devices.
+ * RetroAchievements are now available again in the main menu when
+ enabled. Thanks in part to [117]@batocera-linux, [118]@AmberELEC,
+ and [119]@dhwz!
+ * Audio reset is now available in the "System Management and Reset
+ Options" menu.
+ * USB Gadget options are now available in EmulationStation including
+ MTP and ECM modes. Thanks to [120]@citral23!
+
+Updates
+
+ * Linux kernel 6.7.4 (AMD64, S922X, RK3326, RK3399).
+ * Weston 13.0.0.
+
+Bug Fixes
+
+ * The fan is now correctly disabled on AYANEO 2S when the device
+ enters sleep mode and is re-enabled on wake.
+ * Fixes a bug with default scaling governors on RK3588 devices.
+ * Reverts flycast standalone to resolve artifacting issues.
+
+ Note: Anbernic RG353P/M/V/VS, RG503, Powkiddy RK2023, RGB30, RGB10
+ Max 3, and x55 releases are paused at version [121]20240206 while
+ mainline integration is completed. New releases for these devices
+ will return soon.
+-------------------------------------------------------------------------------
+20240222 -
+
+New Features
+
+ * Adds support for Vircon32, a virtual console emulator. Thanks to
+ [118]@wwark!
+
+Updates
+
+ * Linux kernel 6.7.5 (AMD64, S922X, RK3399, RK3326).
+ * Mesa 24.0.1.
+ * Update emulators cores, and support packages:
+ + moonlight, beetle-pce-fast-lr, beetle-pce-lr,
+ beetle-supergrafx-lr, fbneo-lr, fmsx-lr, freej2me-lr,
+ gambatte-lr, gearboy-lr, gearsystem-lr, genesis-plus-gx-lr,
+ mame-lr, mame2003-plus-lr, mupen64plus-nx-lr, nestopia-lr,
+ pcsx_rearmed-lr, scummvm-lr, tic80-lr, vecx-lr, flycast-sa,
+ hatarisa, control-gen, gamecontrollerdb, retroarch-joypads,
+ libretro-database, slang-shaders, cemu-sa, vita3k-sa, and
+ yuzu-sa.
+ * Adds udev rules for 8Bitdo M30 and 2.4ghz ultimate, thanks to
+ [119]@shantigilbert and [120]@EmuELEC!
+ * Enables FN on R36S devices, thanks to [121]@Oendaril!
+
+Bug Fixes
+
+ * Corrects an issue with debug service, thanks to [122]@Sparticuz!
+ * Fixes a bug causing JELOS to report an update exists when no update
+ is available.
+ * PPSSPP no longer mutes audio output when changing backends between
+ OpenGL and Vulkan.
+ * Corrects display jitter on ODROID Go Ultra and Powkiddy RGB10 Max 3
+ Pro, thanks to [123]@earthnciel!
+ * Fixes a bug preventing accurate TDP reporting and boot time
+ configuration on AMD64 devices.
+
+ Note: Anbernic RG353P/M/V/VS, RG503, Powkiddy RK2023, RGB30, RGB10
+ Max 3, and x55 releases are paused at version [124]20240206 while
+ mainline integration is completed. New releases for these devices
+ will return soon.
+-------------------------------------------------------------------------------
diff --git a/Makefile b/Makefile
index 3dcc6363bb..a1b9b554a5 100644
--- a/Makefile
+++ b/Makefile
@@ -24,7 +24,7 @@ src-pkg:
docs:
./tools/foreach './scripts/clean emulators && ./scripts/build emulators'
-world: AMD64 RK3588 S922X RK3326 RK3399
+world: AMD64 RK3566-BSP RK3566-BSP-X55 RK3588 S922X RK3326 RK3399
AMD64:
unset DEVICE_ROOT
@@ -54,6 +54,15 @@ RK3566-X55:
DEVICE_ROOT=RK3566 PROJECT=Rockchip DEVICE=RK3566-X55 ARCH=arm ./scripts/build_distro
DEVICE_ROOT=RK3566 PROJECT=Rockchip DEVICE=RK3566-X55 ARCH=aarch64 ./scripts/build_distro
+RK3566-BSP:
+ unset DEVICE_ROOT
+ DEVICE_ROOT=RK3566-BSP PROJECT=Rockchip DEVICE=RK3566-BSP ARCH=arm ./scripts/build_distro
+ DEVICE_ROOT=RK3566-BSP PROJECT=Rockchip DEVICE=RK3566-BSP ARCH=aarch64 ./scripts/build_distro
+
+RK3566-BSP-X55:
+ DEVICE_ROOT=RK3566-BSP PROJECT=Rockchip DEVICE=RK3566-BSP-X55 ARCH=arm ./scripts/build_distro
+ DEVICE_ROOT=RK3566-BSP PROJECT=Rockchip DEVICE=RK3566-BSP-X55 ARCH=aarch64 ./scripts/build_distro
+
RK-ARMV8-A:
unset DEVICE_ROOT
PROJECT=Rockchip DEVICE=RK-ARMV8-A ARCH=arm ./scripts/build_distro
@@ -69,6 +78,13 @@ RK3399:
PROJECT=Rockchip DEVICE=RK3399 ARCH=arm ./scripts/build_distro
PROJECT=Rockchip DEVICE=RK3399 ARCH=aarch64 ./scripts/build_distro
+RK33XX:
+ unset DEVICE_ROOT
+ unset BASE_DEVICE
+ $(MAKE) RK-ARMV8-A
+ BASE_DEVICE=RK-ARMV8-A $(MAKE) RK3326
+ BASE_DEVICE=RK-ARMV8-A $(MAKE) RK3399
+
update:
PROJECT=PC DEVICE=AMD64 ARCH=x86_64 ./scripts/update_packages
diff --git a/README.md b/README.md
index c8e49a965e..01174d83db 100644
--- a/README.md
+++ b/README.md
@@ -118,6 +118,7 @@ JELOS supports a variety of ARM and Intel/AMD based devices.
| AYANEO | [AYANEO 2S](https://jelos.org/devices/ayaneo/ayaneo-2) | Amd Ryzen 7 7840U / (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station |
| Ayn | [Loki Zero](https://jelos.org/devices/ayn/loki-zero) | AMD Athlon Silver 3050e (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station |
| Ayn | [Loki Max](https://jelos.org/devices/ayn/loki-max) | Amd Ryzen 7 6800U / (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station |
+| Gameforce | [ACE](https://jelos.org/devices/gameforce/gameforce-ace/) | Rockchip RK3588S | Rockchip BSP | Panfrost | | Weston + Emulation Station |
| Game Console | [R33S](https://jelos.org/devices/unbranded/game-console-r33s) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station |
| Game Console | [R35S, R36S](https://jelos.org/devices/unbranded/game-console-r35s-r36s) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station |
| GPD | [Win 4](https://jelos.org/devices/gpd/win4) | Amd Ryzen 7 6800U / (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station |
diff --git a/config/blocklist b/config/blocklist
index 9989ad9950..384d429049 100644
--- a/config/blocklist
+++ b/config/blocklist
@@ -13,6 +13,5 @@ pico-8 # Metapackage, doesn't need to update
ppsspp-sa # Manually update to release versions.
retroarch # Manually update to release versions.
rpcs3-sa # Need to update to llvm 16
-ryujinx-sa # Broken on JELOS after build 1.1740.
vice-sa # Doesn't support updating with the script.
vita3k-sa # Should be manually updated.
diff --git a/config/emulators/3ds.conf b/config/emulators/3ds.conf
deleted file mode 100644
index 9ea1a9d3f2..0000000000
--- a/config/emulators/3ds.conf
+++ /dev/null
@@ -1,11 +0,0 @@
-SYSTEM_NAME="3ds"
-SYSTEM_FULLNAME="Nintendo 3DS"
-SYSTEM_MANUFACTURER="Nintendo"
-SYSTEM_RELEASE="2010"
-SYSTEM_HARDWARE="portable"
-SYSTEM_PATH="/storage/roms/3ds"
-SYSTEM_EXTENSION=".3ds .3dsx .elf .axf .cci .cxi .app"
-SYSTEM_COMMAND="/usr/bin/runemu.sh %ROM% -P%SYSTEM% --core=%CORE% --emulator=%EMULATOR% --controllers=\"%CONTROLLERSCONFIG%\""
-SYSTEM_PLATFORM="3ds"
-SYSTEM_THEME="3ds"
-SYSTEM_WIKI_PATH="3ds"
diff --git a/config/emulators/moto.conf b/config/emulators/moto.conf
new file mode 100644
index 0000000000..aea15fa7a2
--- /dev/null
+++ b/config/emulators/moto.conf
@@ -0,0 +1,11 @@
+SYSTEM_NAME="moto"
+SYSTEM_FULLNAME="MO/TO family (TO7, TO7/70, TO8, TO8D, TO9, TO9+, MO5 and MO6)"
+SYSTEM_MANUFACTURER="Thomson"
+SYSTEM_RELEASE="1982"
+SYSTEM_HARDWARE="computer"
+SYSTEM_PATH="/storage/roms/moto"
+SYSTEM_EXTENSION=".fd .sap .k7 .m7 .m5 .rom"
+SYSTEM_COMMAND="/usr/bin/runemu.sh %ROM% -P%SYSTEM% --core=%CORE% --emulator=%EMULATOR% --controllers=\"%CONTROLLERSCONFIG%\""
+SYSTEM_PLATFORM="moto"
+SYSTEM_THEME="moto"
+SYSTEM_WIKI_PATH="moto"
diff --git a/config/emulators/ngp.conf b/config/emulators/ngp.conf
index cd1d546148..caf4c78694 100644
--- a/config/emulators/ngp.conf
+++ b/config/emulators/ngp.conf
@@ -4,7 +4,7 @@ SYSTEM_MANUFACTURER="SNK"
SYSTEM_RELEASE="1998"
SYSTEM_HARDWARE="portable"
SYSTEM_PATH="/storage/roms/ngp"
-SYSTEM_EXTENSION=".ngc .ngp .zip .7z"
+SYSTEM_EXTENSION=".ngp .ngc .zip .7z"
SYSTEM_COMMAND="/usr/bin/runemu.sh %ROM% -P%SYSTEM% --core=%CORE% --emulator=%EMULATOR% --controllers=\"%CONTROLLERSCONFIG%\""
SYSTEM_PLATFORM="ngp"
SYSTEM_THEME="ngp"
diff --git a/config/emulators/ngpc.conf b/config/emulators/ngpc.conf
index 06c9495615..187811f32d 100644
--- a/config/emulators/ngpc.conf
+++ b/config/emulators/ngpc.conf
@@ -4,7 +4,7 @@ SYSTEM_MANUFACTURER="SNK"
SYSTEM_RELEASE="1999"
SYSTEM_HARDWARE="portable"
SYSTEM_PATH="/storage/roms/ngpc"
-SYSTEM_EXTENSION=".ngc .zip .7z"
+SYSTEM_EXTENSION=".ngp .ngc .zip .7z"
SYSTEM_COMMAND="/usr/bin/runemu.sh %ROM% -P%SYSTEM% --core=%CORE% --emulator=%EMULATOR% --controllers=\"%CONTROLLERSCONFIG%\""
SYSTEM_PLATFORM="ngpc"
SYSTEM_THEME="ngpc"
diff --git a/config/emulators/switch.conf b/config/emulators/switch.conf
deleted file mode 100644
index d6496ab6a4..0000000000
--- a/config/emulators/switch.conf
+++ /dev/null
@@ -1,11 +0,0 @@
-SYSTEM_NAME="switch"
-SYSTEM_FULLNAME="Switch"
-SYSTEM_MANUFACTURER="Nintendo"
-SYSTEM_RELEASE="2017"
-SYSTEM_HARDWARE="console"
-SYSTEM_PATH="/storage/roms/switch"
-SYSTEM_EXTENSION=".xci .nsp .nca .nso .nro"
-SYSTEM_COMMAND="/usr/bin/runemu.sh %ROM% -P%SYSTEM% --core=%CORE% --emulator=%EMULATOR% --controllers=\"%CONTROLLERSCONFIG%\""
-SYSTEM_PLATFORM="switch"
-SYSTEM_THEME="switch"
-SYSTEM_WIKI_PATH="switch"
diff --git a/config/emulators/wonderswan.conf b/config/emulators/wonderswan.conf
index e993deb0c5..85f5d2b84a 100644
--- a/config/emulators/wonderswan.conf
+++ b/config/emulators/wonderswan.conf
@@ -4,7 +4,7 @@ SYSTEM_MANUFACTURER="Bandai"
SYSTEM_RELEASE="1999"
SYSTEM_HARDWARE="portable"
SYSTEM_PATH="/storage/roms/wonderswan"
-SYSTEM_EXTENSION=".ws .zip .7z"
+SYSTEM_EXTENSION=".ws .wsc .zip .7z"
SYSTEM_COMMAND="/usr/bin/runemu.sh %ROM% -P%SYSTEM% --core=%CORE% --emulator=%EMULATOR% --controllers=\"%CONTROLLERSCONFIG%\""
SYSTEM_PLATFORM="wonderswan"
SYSTEM_THEME="wonderswan"
diff --git a/config/emulators/wonderswancolor.conf b/config/emulators/wonderswancolor.conf
index 35aac00b0c..460571ce1f 100644
--- a/config/emulators/wonderswancolor.conf
+++ b/config/emulators/wonderswancolor.conf
@@ -4,7 +4,7 @@ SYSTEM_MANUFACTURER="Bandai"
SYSTEM_RELEASE="2000"
SYSTEM_HARDWARE="portable"
SYSTEM_PATH="/storage/roms/wonderswancolor"
-SYSTEM_EXTENSION=".wsc .zip .7z"
+SYSTEM_EXTENSION=".ws .wsc .zip .7z"
SYSTEM_COMMAND="/usr/bin/runemu.sh %ROM% -P%SYSTEM% --core=%CORE% --emulator=%EMULATOR% --controllers=\"%CONTROLLERSCONFIG%\""
SYSTEM_PLATFORM="wonderswancolor"
SYSTEM_THEME="wonderswancolor"
diff --git a/distributions/JELOS/options b/distributions/JELOS/options
index 219b2aa744..54c01cb1d0 100644
--- a/distributions/JELOS/options
+++ b/distributions/JELOS/options
@@ -50,7 +50,7 @@
# a BSP kernel and a rotated display when using DEVICE_ROOT.
if [ -n "${DEVICE_ROOT}" ]
then
- CLEAN_DEVICE_ROOT="busybox systemd initramfs linux u-boot libmali SDL2 SDL2-rotated retroarch mupen64plus-sa-input-sdl flycast-sa duckstation-sa drastic-sa fileman oga_controls portmaster glew-cmake"
+ CLEAN_DEVICE_ROOT="busybox systemd initramfs linux u-boot libmali libmali_rk3588 SDL2 SDL2-rotated retroarch mupen64plus-sa-input-sdl flycast-sa duckstation-sa drastic-sa fileman oga_controls portmaster glew-cmake"
fi
# additional drivers to install:
diff --git a/documentation/PER_DEVICE_DOCUMENTATION/AMD64/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/AMD64/SUPPORTED_EMULATORS_AND_CORES.md
index 07cd298fa1..110152c2b2 100644
--- a/documentation/PER_DEVICE_DOCUMENTATION/AMD64/SUPPORTED_EMULATORS_AND_CORES.md
+++ b/documentation/PER_DEVICE_DOCUMENTATION/AMD64/SUPPORTED_EMULATORS_AND_CORES.md
@@ -27,13 +27,13 @@ This document describes all available systems emulators and cores available for
|Atari|Atari Lynx (atarilynx)|1989|`atarilynx`|.lnx .lyx .o .zip .7z|**retroarch:** handy (default)
**retroarch:** beetle_lynx
**mednafen:** lynx
|
|Atari|Atari ST (atarist)|1985|`atarist`|.st .msa .stx .dim .ipf .m3u .zip .7z|**retroarch:** hatari (default)
**hatarisa:** hatarisa
|
|Bandai|SuFami Turbo (sufami)|1996|`sufami`|.st .zip .7z|**retroarch:** snes9x (default)
|
-|Bandai|Wonderswan (wonderswan)|1999|`wonderswan`|.ws .zip .7z|**retroarch:** beetle_wswan (default)
**mednafen:** wswan
|
-|Bandai|Wonderswan Color (wonderswancolor)|2000|`wonderswancolor`|.wsc .zip .7z|**retroarch:** beetle_wswan (default)
**mednafen:** wswan
|
+|Bandai|Wonderswan (wonderswan)|1999|`wonderswan`|.ws .wsc .zip .7z|**retroarch:** beetle_wswan (default)
**mednafen:** wswan
|
+|Bandai|Wonderswan Color (wonderswancolor)|2000|`wonderswancolor`|.ws .wsc .zip .7z|**retroarch:** beetle_wswan (default)
**mednafen:** wswan
|
|belogic|Uzebox (uzebox)|2008|`uzebox`|.uze|**retroarch:** uzem (default)
|
|Capcom|CPS-I (cps1)|1988|`cps1`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
|
|Capcom|CPS-II (cps2)|1993|`cps2`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
|
|Capcom|CPS-III (cps3)|1996|`cps3`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
|
-|Coleco|ColecoVision (colecovision)|1982|`coleco`|.bin .col .rom .zip .7z|**retroarch:** bluemsx (default)
**retroarch:** gearcoleco
**retroarch:** smsplus
|
+|Coleco|ColecoVision (colecovision)|1982|`coleco`|.bin .col .rom .zip .7z|**retroarch:** gearcoleco (default)
**retroarch:** bluemsx
**retroarch:** smsplus
|
|Commodore|Amiga (amiga)|1985|`amiga`|.zip .adf .uae .ipf .dms .adz .lha .m3u .hdf .hdz|**retroarch:** puae (default)
**retroarch:** puae2021
|
|Commodore|Amiga CD32 (amigacd32)|1994|`amigacd32`|.iso .cue .lha .chd|**retroarch:** puae (default)
**retroarch:** puae2021
|
|Commodore|Commodore 128 (c128)|1985|`c128`|.d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_x128 (default)
**vicesa:** x128
|
@@ -73,7 +73,6 @@ This document describes all available systems emulators and cores available for
|Nintendo|Game Boy Color (Hacks) (gbch)|1998|`gbch`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
**mednafen:** gb
|
|Nintendo|GameCube (gamecube)|2001|`gamecube`|.gcm .iso .gcz .ciso .wbfs .rvz .dol|**dolphin:** dolphin-sa-gc (default)
**retroarch:** dolphin
|
|Nintendo|NES (Hacks) (nesh)|1985|`nesh`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
**mednafen:** nesh
|
-|Nintendo|Nintendo 3DS (3ds)|2010|`3ds`|.3ds .3dsx .elf .axf .cci .cxi .app|**retroarch:** citra (default)
**citra:** citra-sa
|
|Nintendo|Nintendo 64 (n64)|1996|`n64`|.z64 .n64 .v64 .zip .7z|**retroarch:** mupen64plus_next (default)
**retroarch:** mupen64plus
**retroarch:** parallel_n64
**mupen64plus:** mupen64plus-sa
|
|Nintendo|Nintendo DS (nds)|2005|`nds`|.nds .zip .7z|**retroarch:** melonds (default)
**retroarch:** desmume
**melonds:** melonds-sa
|
|Nintendo|Nintendo Entertainment System (nes)|1985|`nes`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
**mednafen:** nes
|
@@ -83,7 +82,6 @@ This document describes all available systems emulators and cores available for
|Nintendo|Super NES MSU-1 (snesmsu1)|2012|`snesmsu1`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** beetle_supafaust
**mednafen:** snes_faust
|
|Nintendo|Super Nintendo (Hacks) (snesh)|1991|`snesh`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes_mercury_performance
**retroarch:** bsnes
**retroarch:** bsnes_hd_beta
**mednafen:** snes
**mednafen:** snes_faust
|
|Nintendo|Super Nintendo (snes)|1991|`snes`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes_mercury_performance
**retroarch:** bsnes
**retroarch:** bsnes_hd_beta
**mednafen:** snes_faust
**mednafen:** snes
|
-|Nintendo|Switch (switch)|2017|`switch`|.xci .nsp .nca .nso .nro|**yuzu:** yuzu-sa (default)
**ryujinx:** ryujinx-sa
|
|Nintendo|Virtual Boy (virtualboy)|1995|`virtualboy`|.vb .zip .7z|**retroarch:** beetle_vb (default)
**mednafen:** vb
|
|Nintendo|Wii (wii)|2006|`wii`|.gcm .iso .gcz .ciso .wbfs .rvz .dol .wad|**dolphin:** dolphin-sa-wii (default)
**retroarch:** dolphin
|
|Nintendo|Wii U (wiiu)|2012|`wiiu`|.wud .wux .wua|**cemu:** cemu-sa (default)
|
@@ -113,15 +111,16 @@ This document describes all available systems emulators and cores available for
|Smith Engineering|Vectrex (vectrex)|1982|`vectrex`|.bin .gam .vec .zip .7z|**retroarch:** vecx (default)
|
|SNK|Neo Geo (neogeo)|1990|`neogeo`|.7z .zip|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
|
|SNK|Neo Geo CD (neocd)|1994|`neocd`|.cue .iso .chd|**retroarch:** neocd (default)
**retroarch:** fbneo
|
-|SNK|Neo Geo Pocket (ngp)|1998|`ngp`|.ngc .ngp .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
**mednafen:** ngp
|
-|SNK|Neo Geo Pocket Color (ngpc)|1999|`ngpc`|.ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
**mednafen:** ngp
|
-|Sony|PlayStation (psx)|1994|`psx`|.bin .cue .img .mdf .pbp .toc .cbn .m3u .ccd .chd .iso|**retroarch:** beetle_psx (default)
**duckstation:** duckstation-sa
**mednafen:** psx
**retroarch:** duckstation
**retroarch:** swanstation
|
+|SNK|Neo Geo Pocket (ngp)|1998|`ngp`|.ngp .ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
**mednafen:** ngp
|
+|SNK|Neo Geo Pocket Color (ngpc)|1999|`ngpc`|.ngp .ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
**mednafen:** ngp
|
+|Sony|PlayStation (psx)|1994|`psx`|.bin .cue .img .mdf .pbp .toc .cbn .m3u .ccd .chd .iso|**retroarch:** beetle_psx (default)
**mednafen:** psx
**duckstation:** duckstation-sa
**retroarch:** duckstation
**retroarch:** swanstation
|
|Sony|PlayStation 2 (ps2)|2000|`ps2`|.iso .mdf .nrg .bin .img .dump .gz .cso .chd|**pcsx2:** pcsx2-sa (default)
**retroarch:** pcsx2
|
|Sony|PlayStation 3 (ps3)|2006|`ps3`|.ps3 .psn|**rpcs3:** rpcs3-sa (default)
|
|Sony|PlayStation Portable (psp)|2004|`psp`|.iso .cso .pbp .chd|**ppsspp:** ppsspp-sa (default)
**retroarch:** ppsspp
|
|Sony|PlayStation Vita (psvita)|2011|`launcher`|.sh .psvita|**vita3k:** vita3k-sa (default)
|
|Sony|PSP Minis (pspminis)|2004|`pspminis`|.iso .cso .pbp|**ppsspp:** ppsspp-sa (default)
**retroarch:** ppsspp
|
|Sun Microsystems|J2ME (j2me)|2002|`j2me`|.jar|**retroarch:** freej2me (default)
|
+|Thomson|MO/TO family (TO7, TO7/70, TO8, TO8D, TO9, TO9+, MO5 and MO6) (moto)|1982|`moto`|.fd .sap .k7 .m7 .m5 .rom|**retroarch:** theodore (default)
|
|Various|CHIP-8 / S-CHIP / XO-CHIP (chip-8)|1978|`chip-8`|.ch8 .sc8 .xo8|**retroarch:** jaxe (default)
|
|Various|EasyRPG (easyrpg)|2003|`easyrpg`|.zip .easyrpg .ldb|**retroarch:** easyrpg (default)
|
|Various|OpenBOR (openbor)|2003|`openbor`|.pak|**OpenBOR:** OpenBOR (default)
|
diff --git a/documentation/PER_DEVICE_DOCUMENTATION/RK3326/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/RK3326/SUPPORTED_EMULATORS_AND_CORES.md
index 7ac029dd4b..cf9a61993d 100644
--- a/documentation/PER_DEVICE_DOCUMENTATION/RK3326/SUPPORTED_EMULATORS_AND_CORES.md
+++ b/documentation/PER_DEVICE_DOCUMENTATION/RK3326/SUPPORTED_EMULATORS_AND_CORES.md
@@ -27,13 +27,13 @@ This document describes all available systems emulators and cores available for
|Atari|Atari Lynx (atarilynx)|1989|`atarilynx`|.lnx .lyx .o .zip .7z|**retroarch:** handy (default)
**retroarch:** beetle_lynx
**mednafen:** lynx
|
|Atari|Atari ST (atarist)|1985|`atarist`|.st .msa .stx .dim .ipf .m3u .zip .7z|**retroarch:** hatari (default)
**hatarisa:** hatarisa
|
|Bandai|SuFami Turbo (sufami)|1996|`sufami`|.st .zip .7z|**retroarch:** snes9x (default)
|
-|Bandai|Wonderswan (wonderswan)|1999|`wonderswan`|.ws .zip .7z|**retroarch:** beetle_wswan (default)
**mednafen:** wswan
|
-|Bandai|Wonderswan Color (wonderswancolor)|2000|`wonderswancolor`|.wsc .zip .7z|**retroarch:** beetle_wswan (default)
**mednafen:** wswan
|
+|Bandai|Wonderswan (wonderswan)|1999|`wonderswan`|.ws .wsc .zip .7z|**retroarch:** beetle_wswan (default)
**mednafen:** wswan
|
+|Bandai|Wonderswan Color (wonderswancolor)|2000|`wonderswancolor`|.ws .wsc .zip .7z|**retroarch:** beetle_wswan (default)
**mednafen:** wswan
|
|belogic|Uzebox (uzebox)|2008|`uzebox`|.uze|**retroarch:** uzem (default)
|
|Capcom|CPS-I (cps1)|1988|`cps1`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
|Capcom|CPS-II (cps2)|1993|`cps2`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
|Capcom|CPS-III (cps3)|1996|`cps3`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
-|Coleco|ColecoVision (colecovision)|1982|`coleco`|.bin .col .rom .zip .7z|**retroarch:** bluemsx (default)
**retroarch:** gearcoleco
**retroarch:** smsplus
|
+|Coleco|ColecoVision (colecovision)|1982|`coleco`|.bin .col .rom .zip .7z|**retroarch:** gearcoleco (default)
**retroarch:** bluemsx
**retroarch:** smsplus
|
|Commodore|Amiga (amiga)|1985|`amiga`|.zip .adf .uae .ipf .dms .adz .lha .m3u .hdf .hdz|**retroarch:** puae2021 (default)
**retroarch:** puae
**amiberry:** amiberry
**retroarch:** uae4arm
|
|Commodore|Amiga CD32 (amigacd32)|1994|`amigacd32`|.iso .cue .lha .chd|**retroarch:** puae2021 (default)
**retroarch:** puae
**retroarch:** uae4arm
|
|Commodore|Commodore 128 (c128)|1985|`c128`|.d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_x128 (default)
**vicesa:** x128
|
@@ -88,7 +88,7 @@ This document describes all available systems emulators and cores available for
|Sega|Dreamcast (dreamcast)|1998|`dreamcast`|.cdi .gdi .chd .m3u .cue|**retroarch:** flycast2021
**flycast:** flycast-sa
**retroarch:** flycast (default)
|
|Sega|Game Gear (gamegear)|1990|`gamegear`|.bin .gg .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
**retroarch:** smsplus
**mednafen:** gg
|
|Sega|Game Gear (Hacks) (ggh)|1990|`gamegearh`|.bin .gg .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
**retroarch:** smsplus
**mednafen:** gg
|
-|Sega|Genesis (genesis)|1989|`genesis`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
|
+|Sega|Genesis (genesis)|1989|`genesis`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
**mednafen:** md
|
|Sega|Genesis (Hacks) (genh)|1989|`genh`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
**mednafen:** md
|
|Sega|Master System (mastersystem)|1985|`mastersystem`|.bin .sms .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
**retroarch:** smsplus
**mednafen:** sms
|
|Sega|Mega CD (megacd)|1991|`megacd`|.chd .cue .iso .m3u|**retroarch:** genesis_plus_gx (default)
**retroarch:** picodrive
|
@@ -107,12 +107,13 @@ This document describes all available systems emulators and cores available for
|Smith Engineering|Vectrex (vectrex)|1982|`vectrex`|.bin .gam .vec .zip .7z|**retroarch:** vecx (default)
|
|SNK|Neo Geo (neogeo)|1990|`neogeo`|.7z .zip|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
|
|SNK|Neo Geo CD (neocd)|1994|`neocd`|.cue .iso .chd|**retroarch:** neocd (default)
**retroarch:** fbneo
|
-|SNK|Neo Geo Pocket (ngp)|1998|`ngp`|.ngc .ngp .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
**mednafen:** ngp
|
-|SNK|Neo Geo Pocket Color (ngpc)|1999|`ngpc`|.ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
**mednafen:** ngp
|
-|Sony|PlayStation (psx)|1994|`psx`|.bin .cue .img .mdf .pbp .toc .cbn .m3u .ccd .chd .iso|**retroarch:** pcsx_rearmed32 (default)
**retroarch:** pcsx_rearmed
**retroarch:** duckstation
**retroarch:** swanstation
|
+|SNK|Neo Geo Pocket (ngp)|1998|`ngp`|.ngp .ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
**mednafen:** ngp
|
+|SNK|Neo Geo Pocket Color (ngpc)|1999|`ngpc`|.ngp .ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
**mednafen:** ngp
|
+|Sony|PlayStation (psx)|1994|`psx`|.bin .cue .img .mdf .pbp .toc .cbn .m3u .ccd .chd .iso|**retroarch:** pcsx_rearmed32 (default)
**retroarch:** pcsx_rearmed
**duckstation:** duckstation-sa
**retroarch:** duckstation
**retroarch:** swanstation
|
|Sony|PlayStation Portable (psp)|2004|`psp`|.iso .cso .pbp .chd|**ppsspp:** ppsspp-sa (default)
|
|Sony|PSP Minis (pspminis)|2004|`pspminis`|.iso .cso .pbp|**ppsspp:** ppsspp-sa (default)
**retroarch:** ppsspp
|
|Sun Microsystems|J2ME (j2me)|2002|`j2me`|.jar|**retroarch:** freej2me (default)
|
+|Thomson|MO/TO family (TO7, TO7/70, TO8, TO8D, TO9, TO9+, MO5 and MO6) (moto)|1982|`moto`|.fd .sap .k7 .m7 .m5 .rom|**retroarch:** theodore (default)
|
|Various|CHIP-8 / S-CHIP / XO-CHIP (chip-8)|1978|`chip-8`|.ch8 .sc8 .xo8|**retroarch:** jaxe (default)
|
|Various|EasyRPG (easyrpg)|2003|`easyrpg`|.zip .easyrpg .ldb|**retroarch:** easyrpg (default)
|
|Various|OpenBOR (openbor)|2003|`openbor`|.pak|**OpenBOR:** OpenBOR (default)
|
diff --git a/documentation/PER_DEVICE_DOCUMENTATION/RK3399/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/RK3399/SUPPORTED_EMULATORS_AND_CORES.md
index eebfec1f38..1ae68a3783 100644
--- a/documentation/PER_DEVICE_DOCUMENTATION/RK3399/SUPPORTED_EMULATORS_AND_CORES.md
+++ b/documentation/PER_DEVICE_DOCUMENTATION/RK3399/SUPPORTED_EMULATORS_AND_CORES.md
@@ -27,13 +27,13 @@ This document describes all available systems emulators and cores available for
|Atari|Atari Lynx (atarilynx)|1989|`atarilynx`|.lnx .lyx .o .zip .7z|**retroarch:** handy (default)
**retroarch:** beetle_lynx
**mednafen:** lynx
|
|Atari|Atari ST (atarist)|1985|`atarist`|.st .msa .stx .dim .ipf .m3u .zip .7z|**retroarch:** hatari (default)
**hatarisa:** hatarisa
|
|Bandai|SuFami Turbo (sufami)|1996|`sufami`|.st .zip .7z|**retroarch:** snes9x (default)
|
-|Bandai|Wonderswan (wonderswan)|1999|`wonderswan`|.ws .zip .7z|**retroarch:** beetle_wswan (default)
**mednafen:** wswan
|
-|Bandai|Wonderswan Color (wonderswancolor)|2000|`wonderswancolor`|.wsc .zip .7z|**retroarch:** beetle_wswan (default)
**mednafen:** wswan
|
+|Bandai|Wonderswan (wonderswan)|1999|`wonderswan`|.ws .wsc .zip .7z|**retroarch:** beetle_wswan (default)
**mednafen:** wswan
|
+|Bandai|Wonderswan Color (wonderswancolor)|2000|`wonderswancolor`|.ws .wsc .zip .7z|**retroarch:** beetle_wswan (default)
**mednafen:** wswan
|
|belogic|Uzebox (uzebox)|2008|`uzebox`|.uze|**retroarch:** uzem (default)
|
|Capcom|CPS-I (cps1)|1988|`cps1`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
|Capcom|CPS-II (cps2)|1993|`cps2`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
|Capcom|CPS-III (cps3)|1996|`cps3`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
-|Coleco|ColecoVision (colecovision)|1982|`coleco`|.bin .col .rom .zip .7z|**retroarch:** bluemsx (default)
**retroarch:** gearcoleco
**retroarch:** smsplus
|
+|Coleco|ColecoVision (colecovision)|1982|`coleco`|.bin .col .rom .zip .7z|**retroarch:** gearcoleco (default)
**retroarch:** bluemsx
**retroarch:** smsplus
|
|Commodore|Amiga (amiga)|1985|`amiga`|.zip .adf .uae .ipf .dms .adz .lha .m3u .hdf .hdz|**retroarch:** puae2021 (default)
**retroarch:** puae
**amiberry:** amiberry
**retroarch:** uae4arm
|
|Commodore|Amiga CD32 (amigacd32)|1994|`amigacd32`|.iso .cue .lha .chd|**retroarch:** puae2021 (default)
**retroarch:** puae
**retroarch:** uae4arm
|
|Commodore|Commodore 128 (c128)|1985|`c128`|.d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_x128 (default)
**vicesa:** x128
|
@@ -109,13 +109,14 @@ This document describes all available systems emulators and cores available for
|Smith Engineering|Vectrex (vectrex)|1982|`vectrex`|.bin .gam .vec .zip .7z|**retroarch:** vecx (default)
|
|SNK|Neo Geo (neogeo)|1990|`neogeo`|.7z .zip|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
|
|SNK|Neo Geo CD (neocd)|1994|`neocd`|.cue .iso .chd|**retroarch:** neocd (default)
**retroarch:** fbneo
|
-|SNK|Neo Geo Pocket (ngp)|1998|`ngp`|.ngc .ngp .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
**mednafen:** ngp
|
-|SNK|Neo Geo Pocket Color (ngpc)|1999|`ngpc`|.ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
**mednafen:** ngp
|
+|SNK|Neo Geo Pocket (ngp)|1998|`ngp`|.ngp .ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
**mednafen:** ngp
|
+|SNK|Neo Geo Pocket Color (ngpc)|1999|`ngpc`|.ngp .ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
**mednafen:** ngp
|
|Sony|PlayStation (psx)|1994|`psx`|.bin .cue .img .mdf .pbp .toc .cbn .m3u .ccd .chd .iso|**retroarch:** pcsx_rearmed32 (default)
**retroarch:** pcsx_rearmed
**retroarch:** beetle_psx
**duckstation:** duckstation-sa
**retroarch:** duckstation
**retroarch:** swanstation
|
|Sony|PlayStation 2 (ps2)|2000|`ps2`|.iso .mdf .nrg .bin .img .dump .gz .cso .chd|**aethersx2:** aethersx2-sa (default)
|
|Sony|PlayStation Portable (psp)|2004|`psp`|.iso .cso .pbp .chd|**ppsspp:** ppsspp-sa (default)
|
|Sony|PSP Minis (pspminis)|2004|`pspminis`|.iso .cso .pbp|**ppsspp:** ppsspp-sa (default)
**retroarch:** ppsspp
|
|Sun Microsystems|J2ME (j2me)|2002|`j2me`|.jar|**retroarch:** freej2me (default)
|
+|Thomson|MO/TO family (TO7, TO7/70, TO8, TO8D, TO9, TO9+, MO5 and MO6) (moto)|1982|`moto`|.fd .sap .k7 .m7 .m5 .rom|**retroarch:** theodore (default)
|
|Various|CHIP-8 / S-CHIP / XO-CHIP (chip-8)|1978|`chip-8`|.ch8 .sc8 .xo8|**retroarch:** jaxe (default)
|
|Various|EasyRPG (easyrpg)|2003|`easyrpg`|.zip .easyrpg .ldb|**retroarch:** easyrpg (default)
|
|Various|OpenBOR (openbor)|2003|`openbor`|.pak|**OpenBOR:** OpenBOR (default)
|
diff --git a/documentation/PER_DEVICE_DOCUMENTATION/RK3566-BSP-X55/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/RK3566-BSP-X55/SUPPORTED_EMULATORS_AND_CORES.md
new file mode 100644
index 0000000000..0f2c4bcd95
--- /dev/null
+++ b/documentation/PER_DEVICE_DOCUMENTATION/RK3566-BSP-X55/SUPPORTED_EMULATORS_AND_CORES.md
@@ -0,0 +1,123 @@
+ [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy)
+#
+
+# Supported Systems Emulators and Cores
+This document describes all available systems emulators and cores available for the device.
+
+|Manufacturer|System|Release Date|Games Path|Supported Extensions|Emulator / Core|
+|----|----|----|----|----|----|
+| System|Media Player (mplayer)|System|`mplayer`|.mp4 .mkv .avi .mov .wmv .m3u .mpg .ytb .twi .sh .mp3 .aac .mka .dts .flac .ogg .m4a .ac3 .opus .wav .wv .eac33 .thd|**mplayer:** mplayer (default)
|
+| System|Moonlight Game Streaming (moonlight)|System|`moonlight`|.sh||
+| System|Music Player (music)|System|`playlists`|.m3u .sh|**gmu:** gmu (default)
|
+| System|Ports (ports)|System|`ports`|.sh|**portmaster:** portmaster (default)
|
+| System|Screenshots (imageviewer)|System|`screenshots`|.jpg .jpeg .png .bmp .psd .tga .gif .hdr .pic .ppm .pgm .mkv .pdf .mp4 .avi||
+| System|Tools (tools)|System|`modules`|.sh||
+|Amstrad|Amstrad CPC (amstradcpc)|1984|`amstradcpc`|.dsk .cpr .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)
**retroarch:** cap32
|
+|Apple|Macintosh (macintosh)|1984|`mac`|.dsk .img .hfv .cmd .zip|**retroarch:** minivmac (default)
|
+|Arcade|Arcade (arcade)|0000|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
**retroarch:** mame
|
+|Arcade|Daphne (daphne)|1996|`daphne`|.daphne .singe|**hypseus-singe:** hypseus-singe (default)
**retroarch:** daphne
|
+|Arcade|Final Burn Neo (fbn)|2002|`fbneo`|.7z .zip|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
|
+|Arcade|MAME (mame)|1997|`mame`|.7z .zip|**retroarch:** mame2003_plus (default)
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
|
+|Arduboy|Arduboy (arduboy)|2014|`arduboy`|.hex|**retroarch:** arduous (default)
|
+|Atari|Atari 2600 (atari2600)|1977|`atari2600`|.a26 .bin .zip .7z|**retroarch:** stella (default)
|
+|Atari|Atari 5200 (atari5200)|1982|`atari5200`|.rom .xfd .atr .atx .cdm .cas .car .bin .a52 .xex .zip .7z|**retroarch:** a5200 (default)
**retroarch:** atari800
|
+|Atari|Atari 7800 (atari7800)|1986|`atari7800`|.a78 .bin .zip .7z|**retroarch:** prosystem (default)
|
+|Atari|Atari 800 (atari800)|1979|`atari800`|.rom .xfd .atr .atx .cdm .cas .car .bin .a52 .xex .zip .7z|**retroarch:** atari800 (default)
|
+|Atari|Atari Jaguar (atarijaguar)|1993|`atarijaguar`|.j64 .jag .rom .abs .cof .bin .prg|**retroarch:** virtualjaguar (default)
|
+|Atari|Atari Lynx (atarilynx)|1989|`atarilynx`|.lnx .lyx .o .zip .7z|**retroarch:** handy (default)
**retroarch:** beetle_lynx
|
+|Atari|Atari ST (atarist)|1985|`atarist`|.st .msa .stx .dim .ipf .m3u .zip .7z|**retroarch:** hatari (default)
**hatarisa:** hatarisa
|
+|Bandai|SuFami Turbo (sufami)|1996|`sufami`|.st .zip .7z|**retroarch:** snes9x (default)
|
+|Bandai|Wonderswan (wonderswan)|1999|`wonderswan`|.ws .wsc .zip .7z|**retroarch:** beetle_wswan (default)
|
+|Bandai|Wonderswan Color (wonderswancolor)|2000|`wonderswancolor`|.ws .wsc .zip .7z|**retroarch:** beetle_wswan (default)
|
+|belogic|Uzebox (uzebox)|2008|`uzebox`|.uze|**retroarch:** uzem (default)
|
+|Capcom|CPS-I (cps1)|1988|`cps1`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
+|Capcom|CPS-II (cps2)|1993|`cps2`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
+|Capcom|CPS-III (cps3)|1996|`cps3`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
+|Coleco|ColecoVision (colecovision)|1982|`coleco`|.bin .col .rom .zip .7z|**retroarch:** gearcoleco (default)
**retroarch:** bluemsx
**retroarch:** smsplus
|
+|Commodore|Amiga (amiga)|1985|`amiga`|.zip .adf .uae .ipf .dms .adz .lha .m3u .hdf .hdz|**retroarch:** puae2021 (default)
**retroarch:** puae
**amiberry:** amiberry
**retroarch:** uae4arm
|
+|Commodore|Amiga CD32 (amigacd32)|1994|`amigacd32`|.iso .cue .lha .chd|**retroarch:** puae2021 (default)
**retroarch:** puae
**retroarch:** uae4arm
|
+|Commodore|Commodore 128 (c128)|1985|`c128`|.d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_x128 (default)
**vicesa:** x128
|
+|Commodore|Commodore 16 (c16)|1984|`c16`|.d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_xplus4 (default)
**vicesa:** xplus4
|
+|Commodore|Commodore 64 (c64)|1982|`c64`|.d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_x64 (default)
**vicesa:** x64sc
|
+|Commodore|Commodore PET (pet)|1977|`pet`|.20 .a0 .b0 .d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .gz .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_xpet (default)
|
+|Commodore|VIC-20 (vic20)|1980|`vic20`|.20 .a0 .b0 .d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .gz .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_xvic (default)
**vicesa:** xvic
|
+|EPOCH/YENO|Super Cassette Vision (scv)|1984|`scv`|.cart .bin .rom .0 .zip|**retroarch:** emuscv (default)
|
+|Fairchild|Fairchild Channel F (channelf)|1976|`channelf`|.bin .chf .zip .7z|**retroarch:** freechaf (default)
|
+|id Software|Doom (doom)|1993|`doom`|.doom|**gzdoom:** gzdoom-sa (default)
|
+|id Software|iDtech (idtech)|1991|`idtech`|.sh|**retroarch:** idtech
|
+|Infocom|Z-machine (zmachine)|1979|`zmachine`|.dat .z1 .z2 .z3 .z4 .z5 .z6 .zip|**retroarch:** mojozork (default)
|
+|Lexaloffle|PICO-8 (pico-8)|2015|`pico-8`|.p8 .png|**pico-8:** pico8 (default)
**retroarch:** fake08
|
+|Magnavox|Odyssey 2 (odyssey2)|1979|`odyssey`|.bin .zip .7z|**retroarch:** o2em (default)
|
+|Mattel|Intellivision (intellivision)|1979|`intellivision`|.int .bin .rom .zip .7z|**retroarch:** freeintv (default)
|
+|Microsoft|DOS (pc)|1981|`pc`|.com .bat .exe .dosz|**retroarch:** dosbox_pure
**retroarch:** dosbox_svn
|
+|Microsoft|MSX (msx)|1983|`msx`|.dsk .mx1 .mx2 .rom .zip .7z .m3u|**retroarch:** bluemsx (default)
**retroarch:** fmsx
|
+|Microsoft|MSX 2 (msx2)|1988|`msx2`|.dsk .mx1 .mx2 .rom .zip .7z .m3u|**retroarch:** bluemsx (default)
**retroarch:** fmsx
|
+|NEC|PC Engine (pcengine)|1987|`pcengine`|.pce .bin .zip .7z|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
|
+|NEC|PC Engine CD (pcenginecd)|1988|`pcenginecd`|.cue .ccd .chd .toc .m3u|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
|
+|NEC|PC-8800 (pc-8800)|1981|`pc88`|.d88 .m3u|**retroarch:** quasi88 (default)
|
+|NEC|PC-9800 (pc-9800)|1983|`pc98`|.d98 .zip .fdi .fdd .2hd .tfd .d88 .hdm .xdf .dup .hdi .thd .nhd .hdd .hdn|**retroarch:** np2kai (default)
|
+|NEC|PC-FX (pcfx)|1994|`pcfx`|.chd .cue .ccd .toc|**retroarch:** beetle_pcfx (default)
|
+|NEC|SuperGrafx (supergrafx)|1989|`sgfx`|.pce .sgx .cue .ccd .chd .zip .7z|**retroarch:** beetle_supergrafx
**retroarch:** beetle_pce
|
+|NEC|TurboGrafx-16 (tg16)|1989|`tg16`|.pce .bin .zip .7z|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
|
+|NEC|TurboGrafx-CD (tg16cd)|1989|`tg16cd`|.cue .ccd .chd .toc .m3u|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
|
+|Nesbox|TIC-80 (tic-80)|2017|`tic-80`|.tic|**retroarch:** tic80 (default)
|
+|Nintendo|Famicom (famicom)|1983|`famicom`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
|
+|Nintendo|Famicom Disk System (fds)|1986|`fds`|.fds .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
|
+|Nintendo|Game & Watch (gameandwatch)|1980|`gameandwatch`|.mgw .zip .7z|**retroarch:** gw
**retroarch:** mame
|
+|Nintendo|Game Boy (gb)|1989|`gb`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
|
+|Nintendo|Game Boy (Hacks) (gbh)|1989|`gbh`|.gb .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
|
+|Nintendo|Game Boy Advance (gba)|2001|`gba`|.gba .zip .7z|**retroarch:** mgba (default)
**retroarch:** gbsp
**retroarch:** vbam
**retroarch:** vba_next
**retroarch:** beetle_gba
**retroarch:** gpsp
|
+|Nintendo|Game Boy Advance (Hacks) (gbah)|2001|`gbah`|.gba .zip .7z|**retroarch:** mgba (default)
**retroarch:** gbsp
**retroarch:** vbam
**retroarch:** vba_next
**retroarch:** beetle_gba
|
+|Nintendo|Game Boy Color (gbc)|1998|`gbc`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
|
+|Nintendo|Game Boy Color (Hacks) (gbch)|1998|`gbch`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
|
+|Nintendo|NES (Hacks) (nesh)|1985|`nesh`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
|
+|Nintendo|Nintendo 64 (n64)|1996|`n64`|.z64 .n64 .v64 .zip .7z|**retroarch:** mupen64plus_next (default)
**retroarch:** mupen64plus
**retroarch:** parallel_n64
**mupen64plus:** mupen64plus-sa
|
+|Nintendo|Nintendo DS (nds)|2005|`nds`|.nds .zip .7z|**drastic:** drastic-sa (default)
**retroarch:** melonds
**retroarch:** desmume
|
+|Nintendo|Nintendo Entertainment System (nes)|1985|`nes`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
|
+|Nintendo|Pokémon Mini (pokemini)|2001|`pokemini`|.min .zip .7z|**retroarch:** pokemini (default)
|
+|Nintendo|Satellaview (satellaview)|1995|`satellaview`|.smc .fig .bs .sfc .bsx .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
|
+|Nintendo|Super Famicom (sfc)|1990|`sfc`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes_mercury_performance
|
+|Nintendo|Super NES MSU-1 (snesmsu1)|2012|`snesmsu1`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** beetle_supafaust
|
+|Nintendo|Super Nintendo (Hacks) (snesh)|1991|`snesh`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes_mercury_performance
|
+|Nintendo|Super Nintendo (snes)|1991|`snes`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes_mercury_performance
|
+|Nintendo|Virtual Boy (virtualboy)|1995|`virtualboy`|.vb .zip .7z|**retroarch:** beetle_vb (default)
|
+|Panasonic|3DO (3do)|1993|`3do`|.iso .bin .chd .cue|**retroarch:** opera (default)
|
+|Philips|CD-i (cdi)|1991|`cdi`|.chd .cue .iso|**retroarch:** same_cdi (default)
|
+|Philips|VideoPac (videopac)|1978|`videopac`|.bin .zip .7z|**retroarch:** o2em (default)
|
+|Sammy|Atomiswave (atomiswave)|2003|`atomiswave`|.lst .bin .dat .zip .7z|**retroarch:** flycast2021
**retroarch:** flycast
**flycast:** flycast-sa
|
+|Sega|Dreamcast (dreamcast)|1998|`dreamcast`|.cdi .gdi .chd .m3u .cue|**retroarch:** flycast2021
**retroarch:** flycast
**flycast:** flycast-sa
|
+|Sega|Game Gear (gamegear)|1990|`gamegear`|.bin .gg .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
**retroarch:** smsplus
|
+|Sega|Game Gear (Hacks) (ggh)|1990|`gamegearh`|.bin .gg .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
**retroarch:** smsplus
|
+|Sega|Genesis (genesis)|1989|`genesis`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
|
+|Sega|Genesis (Hacks) (genh)|1989|`genh`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
|
+|Sega|Master System (mastersystem)|1985|`mastersystem`|.bin .sms .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
**retroarch:** smsplus
|
+|Sega|Mega CD (megacd)|1991|`megacd`|.chd .cue .iso .m3u|**retroarch:** genesis_plus_gx (default)
**retroarch:** picodrive
|
+|Sega|Mega Drive (megadrive)|1990|`megadrive`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
|
+|Sega|Mega Drive (megadrive-japan)|1988|`megadrive-japan`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
|
+|Sega|Naomi (naomi)|1998|`naomi`|.lst .bin .dat .zip .7z|**retroarch:** flycast2021
**retroarch:** flycast
**flycast:** flycast-sa
|
+|Sega|Saturn (saturn)|1994|`saturn`|.cue .chd .iso|**yabasanshiro:** yabasanshiro-sa (default)
**retroarch:** yabasanshiro
|
+|Sega|Sega 32X (sega32x)|1994|`sega32x`|.32x .smd .bin .md .zip .7z|**retroarch:** picodrive (default)
|
+|Sega|Sega CD (segacd)|1991|`segacd`|.chd .cue .iso .m3u|**retroarch:** genesis_plus_gx (default)
**retroarch:** picodrive
|
+|Sega|SG-1000 (sg-1000)|1983|`sg-1000`|.bin .sg .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
|
+|Sega|ST-V (st-v)|1995|`st-v`|.zip .ZIP||
+|Sharp|X1 (x1)|1982|`x1`|.dx1 .2d .2hd .tfd .d88 .hdm .xdf .dup .tap .cmd .zip .7z|**retroarch:** x1 (default)
|
+|Sharp|x68000 (x68000)|1987|`x68000`|.dim .img .d88 .hdm .dup .2hd .xdf .hdf .cmd .m3u .zip .7z|**retroarch:** px68k (default)
|
+|Sinclair|ZX Spectrum (zxspectrum)|1982|`zxspectrum`|.tzx .tap .z80 .rzx .scl .trd .dsk .zip .7z|**retroarch:** fuse
|
+|Sinclair|ZX81 (zx81)|1981|`zx81`|.tzx .p .zip .7z|**retroarch:** 81 (default)
|
+|Smith Engineering|Vectrex (vectrex)|1982|`vectrex`|.bin .gam .vec .zip .7z|**retroarch:** vecx (default)
|
+|SNK|Neo Geo (neogeo)|1990|`neogeo`|.7z .zip|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
|
+|SNK|Neo Geo CD (neocd)|1994|`neocd`|.cue .iso .chd|**retroarch:** neocd (default)
**retroarch:** fbneo
|
+|SNK|Neo Geo Pocket (ngp)|1998|`ngp`|.ngp .ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
|
+|SNK|Neo Geo Pocket Color (ngpc)|1999|`ngpc`|.ngp .ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
|
+|Sony|PlayStation (psx)|1994|`psx`|.bin .cue .img .mdf .pbp .toc .cbn .m3u .ccd .chd .iso|**retroarch:** pcsx_rearmed32 (default)
**retroarch:** pcsx_rearmed
**duckstation:** duckstation-sa
**retroarch:** duckstation
**retroarch:** swanstation
|
+|Sony|PlayStation Portable (psp)|2004|`psp`|.iso .cso .pbp .chd|**ppsspp:** ppsspp-sa (default)
|
+|Sony|PSP Minis (pspminis)|2004|`pspminis`|.iso .cso .pbp|**ppsspp:** ppsspp-sa (default)
**retroarch:** ppsspp
|
+|Sun Microsystems|J2ME (j2me)|2002|`j2me`|.jar|**retroarch:** freej2me (default)
|
+|Thomson|MO/TO family (TO7, TO7/70, TO8, TO8D, TO9, TO9+, MO5 and MO6) (moto)|1982|`moto`|.fd .sap .k7 .m7 .m5 .rom|**retroarch:** theodore (default)
|
+|Various|CHIP-8 / S-CHIP / XO-CHIP (chip-8)|1978|`chip-8`|.ch8 .sc8 .xo8|**retroarch:** jaxe (default)
|
+|Various|EasyRPG (easyrpg)|2003|`easyrpg`|.zip .easyrpg .ldb|**retroarch:** easyrpg (default)
|
+|Various|OpenBOR (openbor)|2003|`openbor`|.pak|**OpenBOR:** OpenBOR (default)
|
+|Various|ScummVM (scummvm)|2001|`games`|.sh .svm .scummvm|**scummvmsa:** scummvm (default)
**retroarch:** scummvm
|
+|Various|Vircon32 (vircon32)|2021|`vircon32`|.v32|**retroarch:** vircon32 (default)
|
+|Watara|Supervision (supervision)|1992|`supervision`|.sv .zip .7z|**retroarch:** potator (default)
|
+|Welback Holdings|Mega Duck (megaduck)|1993|`megaduck`|.bin .zip .7z|**retroarch:** sameduck (default)
|
diff --git a/documentation/PER_DEVICE_DOCUMENTATION/RK3566-BSP/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/RK3566-BSP/SUPPORTED_EMULATORS_AND_CORES.md
new file mode 100644
index 0000000000..0f2c4bcd95
--- /dev/null
+++ b/documentation/PER_DEVICE_DOCUMENTATION/RK3566-BSP/SUPPORTED_EMULATORS_AND_CORES.md
@@ -0,0 +1,123 @@
+ [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy)
+#
+
+# Supported Systems Emulators and Cores
+This document describes all available systems emulators and cores available for the device.
+
+|Manufacturer|System|Release Date|Games Path|Supported Extensions|Emulator / Core|
+|----|----|----|----|----|----|
+| System|Media Player (mplayer)|System|`mplayer`|.mp4 .mkv .avi .mov .wmv .m3u .mpg .ytb .twi .sh .mp3 .aac .mka .dts .flac .ogg .m4a .ac3 .opus .wav .wv .eac33 .thd|**mplayer:** mplayer (default)
|
+| System|Moonlight Game Streaming (moonlight)|System|`moonlight`|.sh||
+| System|Music Player (music)|System|`playlists`|.m3u .sh|**gmu:** gmu (default)
|
+| System|Ports (ports)|System|`ports`|.sh|**portmaster:** portmaster (default)
|
+| System|Screenshots (imageviewer)|System|`screenshots`|.jpg .jpeg .png .bmp .psd .tga .gif .hdr .pic .ppm .pgm .mkv .pdf .mp4 .avi||
+| System|Tools (tools)|System|`modules`|.sh||
+|Amstrad|Amstrad CPC (amstradcpc)|1984|`amstradcpc`|.dsk .cpr .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)
**retroarch:** cap32
|
+|Apple|Macintosh (macintosh)|1984|`mac`|.dsk .img .hfv .cmd .zip|**retroarch:** minivmac (default)
|
+|Arcade|Arcade (arcade)|0000|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
**retroarch:** mame
|
+|Arcade|Daphne (daphne)|1996|`daphne`|.daphne .singe|**hypseus-singe:** hypseus-singe (default)
**retroarch:** daphne
|
+|Arcade|Final Burn Neo (fbn)|2002|`fbneo`|.7z .zip|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
|
+|Arcade|MAME (mame)|1997|`mame`|.7z .zip|**retroarch:** mame2003_plus (default)
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
|
+|Arduboy|Arduboy (arduboy)|2014|`arduboy`|.hex|**retroarch:** arduous (default)
|
+|Atari|Atari 2600 (atari2600)|1977|`atari2600`|.a26 .bin .zip .7z|**retroarch:** stella (default)
|
+|Atari|Atari 5200 (atari5200)|1982|`atari5200`|.rom .xfd .atr .atx .cdm .cas .car .bin .a52 .xex .zip .7z|**retroarch:** a5200 (default)
**retroarch:** atari800
|
+|Atari|Atari 7800 (atari7800)|1986|`atari7800`|.a78 .bin .zip .7z|**retroarch:** prosystem (default)
|
+|Atari|Atari 800 (atari800)|1979|`atari800`|.rom .xfd .atr .atx .cdm .cas .car .bin .a52 .xex .zip .7z|**retroarch:** atari800 (default)
|
+|Atari|Atari Jaguar (atarijaguar)|1993|`atarijaguar`|.j64 .jag .rom .abs .cof .bin .prg|**retroarch:** virtualjaguar (default)
|
+|Atari|Atari Lynx (atarilynx)|1989|`atarilynx`|.lnx .lyx .o .zip .7z|**retroarch:** handy (default)
**retroarch:** beetle_lynx
|
+|Atari|Atari ST (atarist)|1985|`atarist`|.st .msa .stx .dim .ipf .m3u .zip .7z|**retroarch:** hatari (default)
**hatarisa:** hatarisa
|
+|Bandai|SuFami Turbo (sufami)|1996|`sufami`|.st .zip .7z|**retroarch:** snes9x (default)
|
+|Bandai|Wonderswan (wonderswan)|1999|`wonderswan`|.ws .wsc .zip .7z|**retroarch:** beetle_wswan (default)
|
+|Bandai|Wonderswan Color (wonderswancolor)|2000|`wonderswancolor`|.ws .wsc .zip .7z|**retroarch:** beetle_wswan (default)
|
+|belogic|Uzebox (uzebox)|2008|`uzebox`|.uze|**retroarch:** uzem (default)
|
+|Capcom|CPS-I (cps1)|1988|`cps1`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
+|Capcom|CPS-II (cps2)|1993|`cps2`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
+|Capcom|CPS-III (cps3)|1996|`cps3`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
+|Coleco|ColecoVision (colecovision)|1982|`coleco`|.bin .col .rom .zip .7z|**retroarch:** gearcoleco (default)
**retroarch:** bluemsx
**retroarch:** smsplus
|
+|Commodore|Amiga (amiga)|1985|`amiga`|.zip .adf .uae .ipf .dms .adz .lha .m3u .hdf .hdz|**retroarch:** puae2021 (default)
**retroarch:** puae
**amiberry:** amiberry
**retroarch:** uae4arm
|
+|Commodore|Amiga CD32 (amigacd32)|1994|`amigacd32`|.iso .cue .lha .chd|**retroarch:** puae2021 (default)
**retroarch:** puae
**retroarch:** uae4arm
|
+|Commodore|Commodore 128 (c128)|1985|`c128`|.d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_x128 (default)
**vicesa:** x128
|
+|Commodore|Commodore 16 (c16)|1984|`c16`|.d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_xplus4 (default)
**vicesa:** xplus4
|
+|Commodore|Commodore 64 (c64)|1982|`c64`|.d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_x64 (default)
**vicesa:** x64sc
|
+|Commodore|Commodore PET (pet)|1977|`pet`|.20 .a0 .b0 .d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .gz .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_xpet (default)
|
+|Commodore|VIC-20 (vic20)|1980|`vic20`|.20 .a0 .b0 .d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .gz .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_xvic (default)
**vicesa:** xvic
|
+|EPOCH/YENO|Super Cassette Vision (scv)|1984|`scv`|.cart .bin .rom .0 .zip|**retroarch:** emuscv (default)
|
+|Fairchild|Fairchild Channel F (channelf)|1976|`channelf`|.bin .chf .zip .7z|**retroarch:** freechaf (default)
|
+|id Software|Doom (doom)|1993|`doom`|.doom|**gzdoom:** gzdoom-sa (default)
|
+|id Software|iDtech (idtech)|1991|`idtech`|.sh|**retroarch:** idtech
|
+|Infocom|Z-machine (zmachine)|1979|`zmachine`|.dat .z1 .z2 .z3 .z4 .z5 .z6 .zip|**retroarch:** mojozork (default)
|
+|Lexaloffle|PICO-8 (pico-8)|2015|`pico-8`|.p8 .png|**pico-8:** pico8 (default)
**retroarch:** fake08
|
+|Magnavox|Odyssey 2 (odyssey2)|1979|`odyssey`|.bin .zip .7z|**retroarch:** o2em (default)
|
+|Mattel|Intellivision (intellivision)|1979|`intellivision`|.int .bin .rom .zip .7z|**retroarch:** freeintv (default)
|
+|Microsoft|DOS (pc)|1981|`pc`|.com .bat .exe .dosz|**retroarch:** dosbox_pure
**retroarch:** dosbox_svn
|
+|Microsoft|MSX (msx)|1983|`msx`|.dsk .mx1 .mx2 .rom .zip .7z .m3u|**retroarch:** bluemsx (default)
**retroarch:** fmsx
|
+|Microsoft|MSX 2 (msx2)|1988|`msx2`|.dsk .mx1 .mx2 .rom .zip .7z .m3u|**retroarch:** bluemsx (default)
**retroarch:** fmsx
|
+|NEC|PC Engine (pcengine)|1987|`pcengine`|.pce .bin .zip .7z|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
|
+|NEC|PC Engine CD (pcenginecd)|1988|`pcenginecd`|.cue .ccd .chd .toc .m3u|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
|
+|NEC|PC-8800 (pc-8800)|1981|`pc88`|.d88 .m3u|**retroarch:** quasi88 (default)
|
+|NEC|PC-9800 (pc-9800)|1983|`pc98`|.d98 .zip .fdi .fdd .2hd .tfd .d88 .hdm .xdf .dup .hdi .thd .nhd .hdd .hdn|**retroarch:** np2kai (default)
|
+|NEC|PC-FX (pcfx)|1994|`pcfx`|.chd .cue .ccd .toc|**retroarch:** beetle_pcfx (default)
|
+|NEC|SuperGrafx (supergrafx)|1989|`sgfx`|.pce .sgx .cue .ccd .chd .zip .7z|**retroarch:** beetle_supergrafx
**retroarch:** beetle_pce
|
+|NEC|TurboGrafx-16 (tg16)|1989|`tg16`|.pce .bin .zip .7z|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
|
+|NEC|TurboGrafx-CD (tg16cd)|1989|`tg16cd`|.cue .ccd .chd .toc .m3u|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
|
+|Nesbox|TIC-80 (tic-80)|2017|`tic-80`|.tic|**retroarch:** tic80 (default)
|
+|Nintendo|Famicom (famicom)|1983|`famicom`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
|
+|Nintendo|Famicom Disk System (fds)|1986|`fds`|.fds .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
|
+|Nintendo|Game & Watch (gameandwatch)|1980|`gameandwatch`|.mgw .zip .7z|**retroarch:** gw
**retroarch:** mame
|
+|Nintendo|Game Boy (gb)|1989|`gb`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
|
+|Nintendo|Game Boy (Hacks) (gbh)|1989|`gbh`|.gb .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
|
+|Nintendo|Game Boy Advance (gba)|2001|`gba`|.gba .zip .7z|**retroarch:** mgba (default)
**retroarch:** gbsp
**retroarch:** vbam
**retroarch:** vba_next
**retroarch:** beetle_gba
**retroarch:** gpsp
|
+|Nintendo|Game Boy Advance (Hacks) (gbah)|2001|`gbah`|.gba .zip .7z|**retroarch:** mgba (default)
**retroarch:** gbsp
**retroarch:** vbam
**retroarch:** vba_next
**retroarch:** beetle_gba
|
+|Nintendo|Game Boy Color (gbc)|1998|`gbc`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
|
+|Nintendo|Game Boy Color (Hacks) (gbch)|1998|`gbch`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
|
+|Nintendo|NES (Hacks) (nesh)|1985|`nesh`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
|
+|Nintendo|Nintendo 64 (n64)|1996|`n64`|.z64 .n64 .v64 .zip .7z|**retroarch:** mupen64plus_next (default)
**retroarch:** mupen64plus
**retroarch:** parallel_n64
**mupen64plus:** mupen64plus-sa
|
+|Nintendo|Nintendo DS (nds)|2005|`nds`|.nds .zip .7z|**drastic:** drastic-sa (default)
**retroarch:** melonds
**retroarch:** desmume
|
+|Nintendo|Nintendo Entertainment System (nes)|1985|`nes`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
|
+|Nintendo|Pokémon Mini (pokemini)|2001|`pokemini`|.min .zip .7z|**retroarch:** pokemini (default)
|
+|Nintendo|Satellaview (satellaview)|1995|`satellaview`|.smc .fig .bs .sfc .bsx .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
|
+|Nintendo|Super Famicom (sfc)|1990|`sfc`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes_mercury_performance
|
+|Nintendo|Super NES MSU-1 (snesmsu1)|2012|`snesmsu1`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** beetle_supafaust
|
+|Nintendo|Super Nintendo (Hacks) (snesh)|1991|`snesh`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes_mercury_performance
|
+|Nintendo|Super Nintendo (snes)|1991|`snes`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes_mercury_performance
|
+|Nintendo|Virtual Boy (virtualboy)|1995|`virtualboy`|.vb .zip .7z|**retroarch:** beetle_vb (default)
|
+|Panasonic|3DO (3do)|1993|`3do`|.iso .bin .chd .cue|**retroarch:** opera (default)
|
+|Philips|CD-i (cdi)|1991|`cdi`|.chd .cue .iso|**retroarch:** same_cdi (default)
|
+|Philips|VideoPac (videopac)|1978|`videopac`|.bin .zip .7z|**retroarch:** o2em (default)
|
+|Sammy|Atomiswave (atomiswave)|2003|`atomiswave`|.lst .bin .dat .zip .7z|**retroarch:** flycast2021
**retroarch:** flycast
**flycast:** flycast-sa
|
+|Sega|Dreamcast (dreamcast)|1998|`dreamcast`|.cdi .gdi .chd .m3u .cue|**retroarch:** flycast2021
**retroarch:** flycast
**flycast:** flycast-sa
|
+|Sega|Game Gear (gamegear)|1990|`gamegear`|.bin .gg .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
**retroarch:** smsplus
|
+|Sega|Game Gear (Hacks) (ggh)|1990|`gamegearh`|.bin .gg .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
**retroarch:** smsplus
|
+|Sega|Genesis (genesis)|1989|`genesis`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
|
+|Sega|Genesis (Hacks) (genh)|1989|`genh`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
|
+|Sega|Master System (mastersystem)|1985|`mastersystem`|.bin .sms .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
**retroarch:** smsplus
|
+|Sega|Mega CD (megacd)|1991|`megacd`|.chd .cue .iso .m3u|**retroarch:** genesis_plus_gx (default)
**retroarch:** picodrive
|
+|Sega|Mega Drive (megadrive)|1990|`megadrive`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
|
+|Sega|Mega Drive (megadrive-japan)|1988|`megadrive-japan`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
|
+|Sega|Naomi (naomi)|1998|`naomi`|.lst .bin .dat .zip .7z|**retroarch:** flycast2021
**retroarch:** flycast
**flycast:** flycast-sa
|
+|Sega|Saturn (saturn)|1994|`saturn`|.cue .chd .iso|**yabasanshiro:** yabasanshiro-sa (default)
**retroarch:** yabasanshiro
|
+|Sega|Sega 32X (sega32x)|1994|`sega32x`|.32x .smd .bin .md .zip .7z|**retroarch:** picodrive (default)
|
+|Sega|Sega CD (segacd)|1991|`segacd`|.chd .cue .iso .m3u|**retroarch:** genesis_plus_gx (default)
**retroarch:** picodrive
|
+|Sega|SG-1000 (sg-1000)|1983|`sg-1000`|.bin .sg .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
|
+|Sega|ST-V (st-v)|1995|`st-v`|.zip .ZIP||
+|Sharp|X1 (x1)|1982|`x1`|.dx1 .2d .2hd .tfd .d88 .hdm .xdf .dup .tap .cmd .zip .7z|**retroarch:** x1 (default)
|
+|Sharp|x68000 (x68000)|1987|`x68000`|.dim .img .d88 .hdm .dup .2hd .xdf .hdf .cmd .m3u .zip .7z|**retroarch:** px68k (default)
|
+|Sinclair|ZX Spectrum (zxspectrum)|1982|`zxspectrum`|.tzx .tap .z80 .rzx .scl .trd .dsk .zip .7z|**retroarch:** fuse
|
+|Sinclair|ZX81 (zx81)|1981|`zx81`|.tzx .p .zip .7z|**retroarch:** 81 (default)
|
+|Smith Engineering|Vectrex (vectrex)|1982|`vectrex`|.bin .gam .vec .zip .7z|**retroarch:** vecx (default)
|
+|SNK|Neo Geo (neogeo)|1990|`neogeo`|.7z .zip|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
|
+|SNK|Neo Geo CD (neocd)|1994|`neocd`|.cue .iso .chd|**retroarch:** neocd (default)
**retroarch:** fbneo
|
+|SNK|Neo Geo Pocket (ngp)|1998|`ngp`|.ngp .ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
|
+|SNK|Neo Geo Pocket Color (ngpc)|1999|`ngpc`|.ngp .ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
|
+|Sony|PlayStation (psx)|1994|`psx`|.bin .cue .img .mdf .pbp .toc .cbn .m3u .ccd .chd .iso|**retroarch:** pcsx_rearmed32 (default)
**retroarch:** pcsx_rearmed
**duckstation:** duckstation-sa
**retroarch:** duckstation
**retroarch:** swanstation
|
+|Sony|PlayStation Portable (psp)|2004|`psp`|.iso .cso .pbp .chd|**ppsspp:** ppsspp-sa (default)
|
+|Sony|PSP Minis (pspminis)|2004|`pspminis`|.iso .cso .pbp|**ppsspp:** ppsspp-sa (default)
**retroarch:** ppsspp
|
+|Sun Microsystems|J2ME (j2me)|2002|`j2me`|.jar|**retroarch:** freej2me (default)
|
+|Thomson|MO/TO family (TO7, TO7/70, TO8, TO8D, TO9, TO9+, MO5 and MO6) (moto)|1982|`moto`|.fd .sap .k7 .m7 .m5 .rom|**retroarch:** theodore (default)
|
+|Various|CHIP-8 / S-CHIP / XO-CHIP (chip-8)|1978|`chip-8`|.ch8 .sc8 .xo8|**retroarch:** jaxe (default)
|
+|Various|EasyRPG (easyrpg)|2003|`easyrpg`|.zip .easyrpg .ldb|**retroarch:** easyrpg (default)
|
+|Various|OpenBOR (openbor)|2003|`openbor`|.pak|**OpenBOR:** OpenBOR (default)
|
+|Various|ScummVM (scummvm)|2001|`games`|.sh .svm .scummvm|**scummvmsa:** scummvm (default)
**retroarch:** scummvm
|
+|Various|Vircon32 (vircon32)|2021|`vircon32`|.v32|**retroarch:** vircon32 (default)
|
+|Watara|Supervision (supervision)|1992|`supervision`|.sv .zip .7z|**retroarch:** potator (default)
|
+|Welback Holdings|Mega Duck (megaduck)|1993|`megaduck`|.bin .zip .7z|**retroarch:** sameduck (default)
|
diff --git a/documentation/PER_DEVICE_DOCUMENTATION/RK3566/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/RK3566/SUPPORTED_EMULATORS_AND_CORES.md
index 1ee2626182..0f2c4bcd95 100644
--- a/documentation/PER_DEVICE_DOCUMENTATION/RK3566/SUPPORTED_EMULATORS_AND_CORES.md
+++ b/documentation/PER_DEVICE_DOCUMENTATION/RK3566/SUPPORTED_EMULATORS_AND_CORES.md
@@ -27,13 +27,13 @@ This document describes all available systems emulators and cores available for
|Atari|Atari Lynx (atarilynx)|1989|`atarilynx`|.lnx .lyx .o .zip .7z|**retroarch:** handy (default)
**retroarch:** beetle_lynx
|
|Atari|Atari ST (atarist)|1985|`atarist`|.st .msa .stx .dim .ipf .m3u .zip .7z|**retroarch:** hatari (default)
**hatarisa:** hatarisa
|
|Bandai|SuFami Turbo (sufami)|1996|`sufami`|.st .zip .7z|**retroarch:** snes9x (default)
|
-|Bandai|Wonderswan (wonderswan)|1999|`wonderswan`|.ws .zip .7z|**retroarch:** beetle_wswan (default)
|
-|Bandai|Wonderswan Color (wonderswancolor)|2000|`wonderswancolor`|.wsc .zip .7z|**retroarch:** beetle_wswan (default)
|
+|Bandai|Wonderswan (wonderswan)|1999|`wonderswan`|.ws .wsc .zip .7z|**retroarch:** beetle_wswan (default)
|
+|Bandai|Wonderswan Color (wonderswancolor)|2000|`wonderswancolor`|.ws .wsc .zip .7z|**retroarch:** beetle_wswan (default)
|
|belogic|Uzebox (uzebox)|2008|`uzebox`|.uze|**retroarch:** uzem (default)
|
|Capcom|CPS-I (cps1)|1988|`cps1`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
|Capcom|CPS-II (cps2)|1993|`cps2`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
|Capcom|CPS-III (cps3)|1996|`cps3`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
-|Coleco|ColecoVision (colecovision)|1982|`coleco`|.bin .col .rom .zip .7z|**retroarch:** bluemsx (default)
**retroarch:** gearcoleco
**retroarch:** smsplus
|
+|Coleco|ColecoVision (colecovision)|1982|`coleco`|.bin .col .rom .zip .7z|**retroarch:** gearcoleco (default)
**retroarch:** bluemsx
**retroarch:** smsplus
|
|Commodore|Amiga (amiga)|1985|`amiga`|.zip .adf .uae .ipf .dms .adz .lha .m3u .hdf .hdz|**retroarch:** puae2021 (default)
**retroarch:** puae
**amiberry:** amiberry
**retroarch:** uae4arm
|
|Commodore|Amiga CD32 (amigacd32)|1994|`amigacd32`|.iso .cue .lha .chd|**retroarch:** puae2021 (default)
**retroarch:** puae
**retroarch:** uae4arm
|
|Commodore|Commodore 128 (c128)|1985|`c128`|.d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_x128 (default)
**vicesa:** x128
|
@@ -107,12 +107,13 @@ This document describes all available systems emulators and cores available for
|Smith Engineering|Vectrex (vectrex)|1982|`vectrex`|.bin .gam .vec .zip .7z|**retroarch:** vecx (default)
|
|SNK|Neo Geo (neogeo)|1990|`neogeo`|.7z .zip|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
|
|SNK|Neo Geo CD (neocd)|1994|`neocd`|.cue .iso .chd|**retroarch:** neocd (default)
**retroarch:** fbneo
|
-|SNK|Neo Geo Pocket (ngp)|1998|`ngp`|.ngc .ngp .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
|
-|SNK|Neo Geo Pocket Color (ngpc)|1999|`ngpc`|.ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
|
+|SNK|Neo Geo Pocket (ngp)|1998|`ngp`|.ngp .ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
|
+|SNK|Neo Geo Pocket Color (ngpc)|1999|`ngpc`|.ngp .ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
|
|Sony|PlayStation (psx)|1994|`psx`|.bin .cue .img .mdf .pbp .toc .cbn .m3u .ccd .chd .iso|**retroarch:** pcsx_rearmed32 (default)
**retroarch:** pcsx_rearmed
**duckstation:** duckstation-sa
**retroarch:** duckstation
**retroarch:** swanstation
|
|Sony|PlayStation Portable (psp)|2004|`psp`|.iso .cso .pbp .chd|**ppsspp:** ppsspp-sa (default)
|
|Sony|PSP Minis (pspminis)|2004|`pspminis`|.iso .cso .pbp|**ppsspp:** ppsspp-sa (default)
**retroarch:** ppsspp
|
|Sun Microsystems|J2ME (j2me)|2002|`j2me`|.jar|**retroarch:** freej2me (default)
|
+|Thomson|MO/TO family (TO7, TO7/70, TO8, TO8D, TO9, TO9+, MO5 and MO6) (moto)|1982|`moto`|.fd .sap .k7 .m7 .m5 .rom|**retroarch:** theodore (default)
|
|Various|CHIP-8 / S-CHIP / XO-CHIP (chip-8)|1978|`chip-8`|.ch8 .sc8 .xo8|**retroarch:** jaxe (default)
|
|Various|EasyRPG (easyrpg)|2003|`easyrpg`|.zip .easyrpg .ldb|**retroarch:** easyrpg (default)
|
|Various|OpenBOR (openbor)|2003|`openbor`|.pak|**OpenBOR:** OpenBOR (default)
|
diff --git a/documentation/PER_DEVICE_DOCUMENTATION/RK3588/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/RK3588/SUPPORTED_EMULATORS_AND_CORES.md
index 4c8ea664c5..2ed2e4d4dc 100644
--- a/documentation/PER_DEVICE_DOCUMENTATION/RK3588/SUPPORTED_EMULATORS_AND_CORES.md
+++ b/documentation/PER_DEVICE_DOCUMENTATION/RK3588/SUPPORTED_EMULATORS_AND_CORES.md
@@ -24,16 +24,16 @@ This document describes all available systems emulators and cores available for
|Atari|Atari 7800 (atari7800)|1986|`atari7800`|.a78 .bin .zip .7z|**retroarch:** prosystem (default)
|
|Atari|Atari 800 (atari800)|1979|`atari800`|.rom .xfd .atr .atx .cdm .cas .car .bin .a52 .xex .zip .7z|**retroarch:** atari800 (default)
|
|Atari|Atari Jaguar (atarijaguar)|1993|`atarijaguar`|.j64 .jag .rom .abs .cof .bin .prg|**retroarch:** virtualjaguar (default)
|
-|Atari|Atari Lynx (atarilynx)|1989|`atarilynx`|.lnx .lyx .o .zip .7z|**retroarch:** handy (default)
**retroarch:** beetle_lynx
|
+|Atari|Atari Lynx (atarilynx)|1989|`atarilynx`|.lnx .lyx .o .zip .7z|**retroarch:** handy (default)
**retroarch:** beetle_lynx
**mednafen:** lynx
|
|Atari|Atari ST (atarist)|1985|`atarist`|.st .msa .stx .dim .ipf .m3u .zip .7z|**retroarch:** hatari (default)
**hatarisa:** hatarisa
|
|Bandai|SuFami Turbo (sufami)|1996|`sufami`|.st .zip .7z|**retroarch:** snes9x (default)
|
-|Bandai|Wonderswan (wonderswan)|1999|`wonderswan`|.ws .zip .7z|**retroarch:** beetle_wswan (default)
|
-|Bandai|Wonderswan Color (wonderswancolor)|2000|`wonderswancolor`|.wsc .zip .7z|**retroarch:** beetle_wswan (default)
|
+|Bandai|Wonderswan (wonderswan)|1999|`wonderswan`|.ws .wsc .zip .7z|**retroarch:** beetle_wswan (default)
**mednafen:** wswan
|
+|Bandai|Wonderswan Color (wonderswancolor)|2000|`wonderswancolor`|.ws .wsc .zip .7z|**retroarch:** beetle_wswan (default)
**mednafen:** wswan
|
|belogic|Uzebox (uzebox)|2008|`uzebox`|.uze|**retroarch:** uzem (default)
|
|Capcom|CPS-I (cps1)|1988|`cps1`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
|Capcom|CPS-II (cps2)|1993|`cps2`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
|Capcom|CPS-III (cps3)|1996|`cps3`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
-|Coleco|ColecoVision (colecovision)|1982|`coleco`|.bin .col .rom .zip .7z|**retroarch:** bluemsx (default)
**retroarch:** gearcoleco
**retroarch:** smsplus
|
+|Coleco|ColecoVision (colecovision)|1982|`coleco`|.bin .col .rom .zip .7z|**retroarch:** gearcoleco (default)
**retroarch:** bluemsx
**retroarch:** smsplus
|
|Commodore|Amiga (amiga)|1985|`amiga`|.zip .adf .uae .ipf .dms .adz .lha .m3u .hdf .hdz|**retroarch:** puae2021 (default)
**retroarch:** puae
**amiberry:** amiberry
**retroarch:** uae4arm
|
|Commodore|Amiga CD32 (amigacd32)|1994|`amigacd32`|.iso .cue .lha .chd|**retroarch:** puae2021 (default)
**retroarch:** puae
**retroarch:** uae4arm
|
|Commodore|Commodore 128 (c128)|1985|`c128`|.d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_x128 (default)
**vicesa:** x128
|
@@ -52,52 +52,52 @@ This document describes all available systems emulators and cores available for
|Microsoft|DOS (pc)|1981|`pc`|.com .bat .exe .dosz|**retroarch:** dosbox_pure
**retroarch:** dosbox_svn
|
|Microsoft|MSX (msx)|1983|`msx`|.dsk .mx1 .mx2 .rom .zip .7z .m3u|**retroarch:** bluemsx (default)
**retroarch:** fmsx
|
|Microsoft|MSX 2 (msx2)|1988|`msx2`|.dsk .mx1 .mx2 .rom .zip .7z .m3u|**retroarch:** bluemsx (default)
**retroarch:** fmsx
|
-|NEC|PC Engine (pcengine)|1987|`pcengine`|.pce .bin .zip .7z|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
|
-|NEC|PC Engine CD (pcenginecd)|1988|`pcenginecd`|.cue .ccd .chd .toc .m3u|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
|
+|NEC|PC Engine (pcengine)|1987|`pcengine`|.pce .bin .zip .7z|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
**mednafen:** pce
**mednafen:** pce_fast
|
+|NEC|PC Engine CD (pcenginecd)|1988|`pcenginecd`|.cue .ccd .chd .toc .m3u|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
**mednafen:** pce
**mednafen:** pce_fast
|
|NEC|PC-8800 (pc-8800)|1981|`pc88`|.d88 .m3u|**retroarch:** quasi88 (default)
|
|NEC|PC-9800 (pc-9800)|1983|`pc98`|.d98 .zip .fdi .fdd .2hd .tfd .d88 .hdm .xdf .dup .hdi .thd .nhd .hdd .hdn|**retroarch:** np2kai (default)
|
-|NEC|PC-FX (pcfx)|1994|`pcfx`|.chd .cue .ccd .toc|**retroarch:** beetle_pcfx (default)
|
-|NEC|SuperGrafx (supergrafx)|1989|`sgfx`|.pce .sgx .cue .ccd .chd .zip .7z|**retroarch:** beetle_supergrafx
**retroarch:** beetle_pce
|
-|NEC|TurboGrafx-16 (tg16)|1989|`tg16`|.pce .bin .zip .7z|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
|
-|NEC|TurboGrafx-CD (tg16cd)|1989|`tg16cd`|.cue .ccd .chd .toc .m3u|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
|
+|NEC|PC-FX (pcfx)|1994|`pcfx`|.chd .cue .ccd .toc|**retroarch:** beetle_pcfx (default)
**mednafen:** pcfx
|
+|NEC|SuperGrafx (supergrafx)|1989|`sgfx`|.pce .sgx .cue .ccd .chd .zip .7z|**retroarch:** beetle_supergrafx
**retroarch:** beetle_pce
**mednafen:** pce
**mednafen:** pce_fast
|
+|NEC|TurboGrafx-16 (tg16)|1989|`tg16`|.pce .bin .zip .7z|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
**mednafen:** pce
**mednafen:** pce_fast
|
+|NEC|TurboGrafx-CD (tg16cd)|1989|`tg16cd`|.cue .ccd .chd .toc .m3u|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
**mednafen:** pce
**mednafen:** pce_fast
|
|Nesbox|TIC-80 (tic-80)|2017|`tic-80`|.tic|**retroarch:** tic80 (default)
|
-|Nintendo|Famicom (famicom)|1983|`famicom`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
|
-|Nintendo|Famicom Disk System (fds)|1986|`fds`|.fds .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
|
+|Nintendo|Famicom (famicom)|1983|`famicom`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
**mednafen:** nes
|
+|Nintendo|Famicom Disk System (fds)|1986|`fds`|.fds .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
**mednafen:** nes
|
|Nintendo|Game & Watch (gameandwatch)|1980|`gameandwatch`|.mgw .zip .7z|**retroarch:** gw
**retroarch:** mame
|
-|Nintendo|Game Boy (gb)|1989|`gb`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
|
-|Nintendo|Game Boy (Hacks) (gbh)|1989|`gbh`|.gb .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
|
-|Nintendo|Game Boy Advance (gba)|2001|`gba`|.gba .zip .7z|**retroarch:** mgba (default)
**retroarch:** gbsp
**retroarch:** vbam
**retroarch:** vba_next
**retroarch:** beetle_gba
**retroarch:** gpsp
**nanoboyadvance:** nanoboyadvance-sa
|
-|Nintendo|Game Boy Advance (Hacks) (gbah)|2001|`gbah`|.gba .zip .7z|**retroarch:** mgba (default)
**retroarch:** gbsp
**retroarch:** vbam
**retroarch:** vba_next
**retroarch:** beetle_gba
|
-|Nintendo|Game Boy Color (gbc)|1998|`gbc`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
|
-|Nintendo|Game Boy Color (Hacks) (gbch)|1998|`gbch`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
|
+|Nintendo|Game Boy (gb)|1989|`gb`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
**mednafen:** gb
|
+|Nintendo|Game Boy (Hacks) (gbh)|1989|`gbh`|.gb .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
**mednafen:** gb
|
+|Nintendo|Game Boy Advance (gba)|2001|`gba`|.gba .zip .7z|**retroarch:** mgba (default)
**retroarch:** gbsp
**retroarch:** vbam
**retroarch:** vba_next
**retroarch:** beetle_gba
**retroarch:** gpsp
**mednafen:** gba
|
+|Nintendo|Game Boy Advance (Hacks) (gbah)|2001|`gbah`|.gba .zip .7z|**retroarch:** mgba (default)
**retroarch:** gbsp
**retroarch:** vbam
**retroarch:** vba_next
**retroarch:** beetle_gba
**mednafen:** gba
|
+|Nintendo|Game Boy Color (gbc)|1998|`gbc`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
**mednafen:** gb
|
+|Nintendo|Game Boy Color (Hacks) (gbch)|1998|`gbch`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
**mednafen:** gb
|
|Nintendo|GameCube (gamecube)|2001|`gamecube`|.gcm .iso .gcz .ciso .wbfs .rvz .dol|**dolphin:** dolphin-sa-gc (default)
**retroarch:** dolphin
|
-|Nintendo|NES (Hacks) (nesh)|1985|`nesh`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
|
+|Nintendo|NES (Hacks) (nesh)|1985|`nesh`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
**mednafen:** nesh
|
|Nintendo|Nintendo 64 (n64)|1996|`n64`|.z64 .n64 .v64 .zip .7z|**retroarch:** mupen64plus_next (default)
**retroarch:** mupen64plus
**retroarch:** parallel_n64
**mupen64plus:** mupen64plus-sa
|
|Nintendo|Nintendo DS (nds)|2005|`nds`|.nds .zip .7z|**drastic:** drastic-sa
**retroarch:** melonds (default)
**melonds:** melonds-sa
**retroarch:** desmume
|
-|Nintendo|Nintendo Entertainment System (nes)|1985|`nes`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
|
+|Nintendo|Nintendo Entertainment System (nes)|1985|`nes`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
**mednafen:** nes
|
|Nintendo|Pokémon Mini (pokemini)|2001|`pokemini`|.min .zip .7z|**retroarch:** pokemini (default)
|
|Nintendo|Satellaview (satellaview)|1995|`satellaview`|.smc .fig .bs .sfc .bsx .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
|
|Nintendo|Super Famicom (sfc)|1990|`sfc`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes_mercury_performance
**retroarch:** bsnes
**retroarch:** bsnes_hd_beta
|
-|Nintendo|Super NES MSU-1 (snesmsu1)|2012|`snesmsu1`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** beetle_supafaust
|
-|Nintendo|Super Nintendo (Hacks) (snesh)|1991|`snesh`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes_mercury_performance
**retroarch:** bsnes
**retroarch:** bsnes_hd_beta
|
-|Nintendo|Super Nintendo (snes)|1991|`snes`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes_mercury_performance
**retroarch:** bsnes
**retroarch:** bsnes_hd_beta
|
-|Nintendo|Virtual Boy (virtualboy)|1995|`virtualboy`|.vb .zip .7z|**retroarch:** beetle_vb (default)
|
+|Nintendo|Super NES MSU-1 (snesmsu1)|2012|`snesmsu1`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** beetle_supafaust
**mednafen:** snes_faust
|
+|Nintendo|Super Nintendo (Hacks) (snesh)|1991|`snesh`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes_mercury_performance
**retroarch:** bsnes
**retroarch:** bsnes_hd_beta
**mednafen:** snes_faust
|
+|Nintendo|Super Nintendo (snes)|1991|`snes`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes_mercury_performance
**retroarch:** bsnes
**retroarch:** bsnes_hd_beta
**mednafen:** snes_faust
**mednafen:** snes_faust
|
+|Nintendo|Virtual Boy (virtualboy)|1995|`virtualboy`|.vb .zip .7z|**retroarch:** beetle_vb (default)
**mednafen:** vb
|
|Nintendo|Wii (wii)|2006|`wii`|.gcm .iso .gcz .ciso .wbfs .rvz .dol .wad|**dolphin:** dolphin-sa-wii (default)
**retroarch:** dolphin
|
|Panasonic|3DO (3do)|1993|`3do`|.iso .bin .chd .cue|**retroarch:** opera (default)
|
|Philips|CD-i (cdi)|1991|`cdi`|.chd .cue .iso|**retroarch:** same_cdi (default)
|
|Philips|VideoPac (videopac)|1978|`videopac`|.bin .zip .7z|**retroarch:** o2em (default)
|
|Sammy|Atomiswave (atomiswave)|2003|`atomiswave`|.lst .bin .dat .zip .7z|**retroarch:** flycast2021
**retroarch:** flycast
**flycast:** flycast-sa
|
|Sega|Dreamcast (dreamcast)|1998|`dreamcast`|.cdi .gdi .chd .m3u .cue|**retroarch:** flycast2021
**retroarch:** flycast
**flycast:** flycast-sa
|
-|Sega|Game Gear (gamegear)|1990|`gamegear`|.bin .gg .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
**retroarch:** smsplus
|
-|Sega|Game Gear (Hacks) (ggh)|1990|`gamegearh`|.bin .gg .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
**retroarch:** smsplus
|
-|Sega|Genesis (genesis)|1989|`genesis`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
|
-|Sega|Genesis (Hacks) (genh)|1989|`genh`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
|
-|Sega|Master System (mastersystem)|1985|`mastersystem`|.bin .sms .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
**retroarch:** smsplus
|
+|Sega|Game Gear (gamegear)|1990|`gamegear`|.bin .gg .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
**retroarch:** smsplus
**mednafen:** gg
|
+|Sega|Game Gear (Hacks) (ggh)|1990|`gamegearh`|.bin .gg .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
**retroarch:** smsplus
**mednafen:** gg
|
+|Sega|Genesis (genesis)|1989|`genesis`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
**mednafen:** md
|
+|Sega|Genesis (Hacks) (genh)|1989|`genh`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
**mednafen:** md
|
+|Sega|Master System (mastersystem)|1985|`mastersystem`|.bin .sms .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
**retroarch:** smsplus
**mednafen:** sms
|
|Sega|Mega CD (megacd)|1991|`megacd`|.chd .cue .iso .m3u|**retroarch:** genesis_plus_gx (default)
**retroarch:** picodrive
|
-|Sega|Mega Drive (megadrive)|1990|`megadrive`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
|
-|Sega|Mega Drive (megadrive-japan)|1988|`megadrive-japan`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
|
+|Sega|Mega Drive (megadrive)|1990|`megadrive`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
**mednafen:** md
|
+|Sega|Mega Drive (megadrive-japan)|1988|`megadrive-japan`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
**mednafen:** md
|
|Sega|Naomi (naomi)|1998|`naomi`|.lst .bin .dat .zip .7z|**retroarch:** flycast2021
**retroarch:** flycast
**flycast:** flycast-sa
|
-|Sega|Saturn (saturn)|1994|`saturn`|.cue .chd .iso|**yabasanshiro:** yabasanshiro-sa (default)
**retroarch:** yabasanshiro
**retroarch:** beetle_saturn
**mednafen:** ss
|
+|Sega|Saturn (saturn)|1994|`saturn`|.cue .chd .iso|**yabasanshiro:** yabasanshiro-sa (default)
**retroarch:** yabasanshiro
**retroarch:** beetle_saturn
|
|Sega|Sega 32X (sega32x)|1994|`sega32x`|.32x .smd .bin .md .zip .7z|**retroarch:** picodrive (default)
|
|Sega|Sega CD (segacd)|1991|`segacd`|.chd .cue .iso .m3u|**retroarch:** genesis_plus_gx (default)
**retroarch:** picodrive
|
|Sega|SG-1000 (sg-1000)|1983|`sg-1000`|.bin .sg .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
|
@@ -109,13 +109,14 @@ This document describes all available systems emulators and cores available for
|Smith Engineering|Vectrex (vectrex)|1982|`vectrex`|.bin .gam .vec .zip .7z|**retroarch:** vecx (default)
|
|SNK|Neo Geo (neogeo)|1990|`neogeo`|.7z .zip|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
|
|SNK|Neo Geo CD (neocd)|1994|`neocd`|.cue .iso .chd|**retroarch:** neocd (default)
**retroarch:** fbneo
|
-|SNK|Neo Geo Pocket (ngp)|1998|`ngp`|.ngc .ngp .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
|
-|SNK|Neo Geo Pocket Color (ngpc)|1999|`ngpc`|.ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
|
-|Sony|PlayStation (psx)|1994|`psx`|.bin .cue .img .mdf .pbp .toc .cbn .m3u .ccd .chd .iso|**retroarch:** pcsx_rearmed32 (default)
**retroarch:** pcsx_rearmed
**retroarch:** beetle_psx
**duckstation:** duckstation-sa
**retroarch:** duckstation
**retroarch:** swanstation
|
+|SNK|Neo Geo Pocket (ngp)|1998|`ngp`|.ngp .ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
**mednafen:** ngp
|
+|SNK|Neo Geo Pocket Color (ngpc)|1999|`ngpc`|.ngp .ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
**mednafen:** ngp
|
+|Sony|PlayStation (psx)|1994|`psx`|.bin .cue .img .mdf .pbp .toc .cbn .m3u .ccd .chd .iso|**retroarch:** pcsx_rearmed32 (default)
**retroarch:** pcsx_rearmed
**retroarch:** beetle_psx
**mednafen:** psx
**duckstation:** duckstation-sa
**retroarch:** duckstation
**retroarch:** swanstation
|
|Sony|PlayStation 2 (ps2)|2000|`ps2`|.iso .mdf .nrg .bin .img .dump .gz .cso .chd|**aethersx2:** aethersx2-sa (default)
|
|Sony|PlayStation Portable (psp)|2004|`psp`|.iso .cso .pbp .chd|**ppsspp:** ppsspp-sa (default)
|
|Sony|PSP Minis (pspminis)|2004|`pspminis`|.iso .cso .pbp|**ppsspp:** ppsspp-sa (default)
**retroarch:** ppsspp
|
|Sun Microsystems|J2ME (j2me)|2002|`j2me`|.jar|**retroarch:** freej2me (default)
|
+|Thomson|MO/TO family (TO7, TO7/70, TO8, TO8D, TO9, TO9+, MO5 and MO6) (moto)|1982|`moto`|.fd .sap .k7 .m7 .m5 .rom|**retroarch:** theodore (default)
|
|Various|CHIP-8 / S-CHIP / XO-CHIP (chip-8)|1978|`chip-8`|.ch8 .sc8 .xo8|**retroarch:** jaxe (default)
|
|Various|EasyRPG (easyrpg)|2003|`easyrpg`|.zip .easyrpg .ldb|**retroarch:** easyrpg (default)
|
|Various|OpenBOR (openbor)|2003|`openbor`|.pak|**OpenBOR:** OpenBOR (default)
|
diff --git a/documentation/PER_DEVICE_DOCUMENTATION/S922X/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/S922X/SUPPORTED_EMULATORS_AND_CORES.md
index 6407f92319..87bd00276e 100644
--- a/documentation/PER_DEVICE_DOCUMENTATION/S922X/SUPPORTED_EMULATORS_AND_CORES.md
+++ b/documentation/PER_DEVICE_DOCUMENTATION/S922X/SUPPORTED_EMULATORS_AND_CORES.md
@@ -27,13 +27,13 @@ This document describes all available systems emulators and cores available for
|Atari|Atari Lynx (atarilynx)|1989|`atarilynx`|.lnx .lyx .o .zip .7z|**retroarch:** handy (default)
**retroarch:** beetle_lynx
|
|Atari|Atari ST (atarist)|1985|`atarist`|.st .msa .stx .dim .ipf .m3u .zip .7z|**retroarch:** hatari (default)
**hatarisa:** hatarisa
|
|Bandai|SuFami Turbo (sufami)|1996|`sufami`|.st .zip .7z|**retroarch:** snes9x (default)
|
-|Bandai|Wonderswan (wonderswan)|1999|`wonderswan`|.ws .zip .7z|**retroarch:** beetle_wswan (default)
|
-|Bandai|Wonderswan Color (wonderswancolor)|2000|`wonderswancolor`|.wsc .zip .7z|**retroarch:** beetle_wswan (default)
|
+|Bandai|Wonderswan (wonderswan)|1999|`wonderswan`|.ws .wsc .zip .7z|**retroarch:** beetle_wswan (default)
|
+|Bandai|Wonderswan Color (wonderswancolor)|2000|`wonderswancolor`|.ws .wsc .zip .7z|**retroarch:** beetle_wswan (default)
|
|belogic|Uzebox (uzebox)|2008|`uzebox`|.uze|**retroarch:** uzem (default)
|
|Capcom|CPS-I (cps1)|1988|`cps1`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
|Capcom|CPS-II (cps2)|1993|`cps2`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
|Capcom|CPS-III (cps3)|1996|`cps3`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
|
-|Coleco|ColecoVision (colecovision)|1982|`coleco`|.bin .col .rom .zip .7z|**retroarch:** bluemsx (default)
**retroarch:** gearcoleco
**retroarch:** smsplus
|
+|Coleco|ColecoVision (colecovision)|1982|`coleco`|.bin .col .rom .zip .7z|**retroarch:** gearcoleco (default)
**retroarch:** bluemsx
**retroarch:** smsplus
|
|Commodore|Amiga (amiga)|1985|`amiga`|.zip .adf .uae .ipf .dms .adz .lha .m3u .hdf .hdz|**retroarch:** puae (default)
**retroarch:** puae2021
**amiberry:** amiberry
**retroarch:** uae4arm
|
|Commodore|Amiga CD32 (amigacd32)|1994|`amigacd32`|.iso .cue .lha .chd|**retroarch:** puae (default)
**retroarch:** puae2021
**retroarch:** uae4arm
|
|Commodore|Commodore 128 (c128)|1985|`c128`|.d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_x128 (default)
**vicesa:** x128
|
@@ -72,7 +72,6 @@ This document describes all available systems emulators and cores available for
|Nintendo|Game Boy Color (Hacks) (gbch)|1998|`gbch`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
|
|Nintendo|GameCube (gamecube)|2001|`gamecube`|.gcm .iso .gcz .ciso .wbfs .rvz .dol|**dolphin:** dolphin-sa-gc (default)
**retroarch:** dolphin
|
|Nintendo|NES (Hacks) (nesh)|1985|`nesh`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
|
-|Nintendo|Nintendo 3DS (3ds)|2010|`3ds`|.3ds .3dsx .elf .axf .cci .cxi .app|**citra:** citra-sa (default)
|
|Nintendo|Nintendo 64 (n64)|1996|`n64`|.z64 .n64 .v64 .zip .7z|**retroarch:** mupen64plus_next (default)
**retroarch:** mupen64plus
**retroarch:** parallel_n64
**mupen64plus:** mupen64plus-sa
|
|Nintendo|Nintendo DS (nds)|2005|`nds`|.nds .zip .7z|**drastic:** drastic-sa (default)
**retroarch:** melonds
|
|Nintendo|Nintendo Entertainment System (nes)|1985|`nes`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
|
@@ -110,13 +109,14 @@ This document describes all available systems emulators and cores available for
|Smith Engineering|Vectrex (vectrex)|1982|`vectrex`|.bin .gam .vec .zip .7z|**retroarch:** vecx (default)
|
|SNK|Neo Geo (neogeo)|1990|`neogeo`|.7z .zip|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
|
|SNK|Neo Geo CD (neocd)|1994|`neocd`|.cue .iso .chd|**retroarch:** neocd (default)
**retroarch:** fbneo
|
-|SNK|Neo Geo Pocket (ngp)|1998|`ngp`|.ngc .ngp .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
|
-|SNK|Neo Geo Pocket Color (ngpc)|1999|`ngpc`|.ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
|
+|SNK|Neo Geo Pocket (ngp)|1998|`ngp`|.ngp .ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
|
+|SNK|Neo Geo Pocket Color (ngpc)|1999|`ngpc`|.ngp .ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
|
|Sony|PlayStation (psx)|1994|`psx`|.bin .cue .img .mdf .pbp .toc .cbn .m3u .ccd .chd .iso|**retroarch:** pcsx_rearmed (default)
**retroarch:** beetle_psx
**duckstation:** duckstation-sa
**retroarch:** duckstation
**retroarch:** swanstation
|
|Sony|PlayStation 2 (ps2)|2000|`ps2`|.iso .mdf .nrg .bin .img .dump .gz .cso .chd|**aethersx2:** aethersx2-sa (default)
|
|Sony|PlayStation Portable (psp)|2004|`psp`|.iso .cso .pbp .chd|**ppsspp:** ppsspp-sa (default)
|
|Sony|PSP Minis (pspminis)|2004|`pspminis`|.iso .cso .pbp|**ppsspp:** ppsspp-sa (default)
**retroarch:** ppsspp
|
|Sun Microsystems|J2ME (j2me)|2002|`j2me`|.jar|**retroarch:** freej2me (default)
|
+|Thomson|MO/TO family (TO7, TO7/70, TO8, TO8D, TO9, TO9+, MO5 and MO6) (moto)|1982|`moto`|.fd .sap .k7 .m7 .m5 .rom|**retroarch:** theodore (default)
|
|Various|CHIP-8 / S-CHIP / XO-CHIP (chip-8)|1978|`chip-8`|.ch8 .sc8 .xo8|**retroarch:** jaxe (default)
|
|Various|EasyRPG (easyrpg)|2003|`easyrpg`|.zip .easyrpg .ldb|**retroarch:** easyrpg (default)
|
|Various|OpenBOR (openbor)|2003|`openbor`|.pak|**OpenBOR:** OpenBOR (default)
|
diff --git a/licenses/AETHERSX2.pdf b/licenses/AETHERSX2.pdf
new file mode 100755
index 0000000000..becf21068d
Binary files /dev/null and b/licenses/AETHERSX2.pdf differ
diff --git a/licenses/OFL.txt b/licenses/OFL.txt
new file mode 100644
index 0000000000..e6605706ac
--- /dev/null
+++ b/licenses/OFL.txt
@@ -0,0 +1,93 @@
+Copyright 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+https://openfontlicense.org
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/packages/apps/fileman/package.mk b/packages/apps/fileman/package.mk
index 39ef903a6d..6798053a3e 100644
--- a/packages/apps/fileman/package.mk
+++ b/packages/apps/fileman/package.mk
@@ -3,7 +3,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="fileman"
-PKG_VERSION="df8e32581cf2cf200b27bf292ad0bf28306cef65"
+PKG_VERSION="3ccadd7fef427b4da22ff39de13dd25bb40e9e6a"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/JustEnoughLinuxOS/fileman"
diff --git a/packages/apps/fileman/patches/RK3566-BSP/001-add-support.patch b/packages/apps/fileman/patches/RK3566-BSP/001-add-support.patch
new file mode 100644
index 0000000000..07c7f95a68
--- /dev/null
+++ b/packages/apps/fileman/patches/RK3566-BSP/001-add-support.patch
@@ -0,0 +1,72 @@
+diff --git a/Makefile b/Makefile
+index d2c956f..2010647 100644
+--- a/Makefile
++++ b/Makefile
+@@ -5,6 +5,8 @@ DEVICE ?= RK3326
+ DEVICE ?= RK3399
+ DEVICE ?= RK3566
+ DEVICE ?= RK3566_X55
++DEVICE ?= RK3566_BSP
++DEVICE ?= RK3566_BSP_X55
+ DEVICE ?= RK3588
+ DEVICE ?= RK3588_ACE
+ DEVICE ?= S922X
+diff --git a/src/def.h b/src/def.h
+index 7776cf5..f4f2831 100644
+--- a/src/def.h
++++ b/src/def.h
+@@ -58,6 +58,22 @@
+ #define KEYBOARD_KEY_SPACING 4
+ #define KEYBOARD_SYMBOL_SIZE 24
+
++// Parameters for rk3566
++#elif defined(DEVICE_RK3566_BSP)
++ #define SCREEN_WIDTH 640
++ #define SCREEN_HEIGHT 480
++ #define HARDWARE_ACCELERATION 0
++ #define FULLSCREEN 1
++ #define FONT_NAME "NotoSans-Regular.ttf"
++ #define FONT_NAME_MONO "NotoSansMono-Regular.ttf"
++ #define FONT_SIZE 20
++ #define LINE_HEIGHT 32
++ #define ICON_SIZE 24
++ #define MARGIN_X 10
++ #define KEYBOARD_MARGIN 8
++ #define KEYBOARD_KEY_SPACING 4
++ #define KEYBOARD_SYMBOL_SIZE 24
++
+ // Parameters for rk3566-x55
+ #elif defined(DEVICE_RK3566_X55)
+ #define SCREEN_WIDTH 1280
+@@ -74,6 +90,22 @@
+ #define KEYBOARD_KEY_SPACING 10
+ #define KEYBOARD_SYMBOL_SIZE 58
+
++// Parameters for rk3566-x55
++#elif defined(DEVICE_RK3566_BSP_X55)
++ #define SCREEN_WIDTH 1280
++ #define SCREEN_HEIGHT 720
++ #define HARDWARE_ACCELERATION 0
++ #define FULLSCREEN 1
++ #define FONT_NAME "NotoSans-Regular.ttf"
++ #define FONT_NAME_MONO "NotoSansMono-Regular.ttf"
++ #define FONT_SIZE 48
++ #define LINE_HEIGHT 72
++ #define ICON_SIZE 58
++ #define MARGIN_X 24
++ #define KEYBOARD_MARGIN 19
++ #define KEYBOARD_KEY_SPACING 10
++ #define KEYBOARD_SYMBOL_SIZE 58
++
+ // Parameters for rk3588
+ #elif defined(DEVICE_RK3588)
+ #define SCREEN_WIDTH 1280
+@@ -182,7 +214,7 @@
+ #define VIEWER_SCROLL_SPEED 20
+
+ // Button events
+-#if defined(DEVICE_AMD64) || defined(DEVICE_RK3326) || defined(DEVICE_RK3399) || defined(DEVICE_RK3566) || defined(DEVICE_RK3566_X55) || defined(DEVICE_RK3588) || defined(DEVICE_RK3588_ACE) || defined(DEVICE_S922X)
++#if defined(DEVICE_AMD64) || defined(DEVICE_RK3326) || defined(DEVICE_RK3399) || defined(DEVICE_RK3566) || defined(DEVICE_RK3566_X55) || defined(DEVICE_RK3566_BSP) || defined(DEVICE_RK3566_BSP_X55) || defined(DEVICE_RK3588) || defined(DEVICE_RK3588_ACE) || defined(DEVICE_S922X)
+ #define BUTTON_PRESSED_UP event.type == SDL_KEYDOWN && event.key.repeat == 0 && (event.key.keysym.sym == SDLK_UP || event.key.keysym.sym == SDLK_w)
+ #define BUTTON_PRESSED_DOWN event.type == SDL_KEYDOWN && event.key.repeat == 0 && (event.key.keysym.sym == SDLK_DOWN || event.key.keysym.sym == SDLK_s)
+ #define BUTTON_PRESSED_LEFT event.type == SDL_KEYDOWN && event.key.repeat == 0 && event.key.keysym.sym == SDLK_LEFT
diff --git a/packages/apps/jelos-gamepad/package.mk b/packages/apps/jelos-gamepad/package.mk
index c928235b91..ae095c9260 100644
--- a/packages/apps/jelos-gamepad/package.mk
+++ b/packages/apps/jelos-gamepad/package.mk
@@ -7,6 +7,7 @@ PKG_URL="$PKG_SITE.git"
PKG_DEPENDS_TARGET="toolchain"
PKG_TOOLCHAIN="make"
GET_HANDLER_SUPPORT="git"
+PKG_PATCH_DIRS+=" common"
makeinstall_target() {
mkdir -p $INSTALL/usr/bin
diff --git a/packages/apps/jelos-gamepad/patches/000-jelos-gamepad.patch b/packages/apps/jelos-gamepad/patches/common/000-jelos-gamepad.patch
similarity index 100%
rename from packages/apps/jelos-gamepad/patches/000-jelos-gamepad.patch
rename to packages/apps/jelos-gamepad/patches/common/000-jelos-gamepad.patch
diff --git a/packages/apps/moonlight/package.mk b/packages/apps/moonlight/package.mk
index 2325778634..70b397bd3c 100644
--- a/packages/apps/moonlight/package.mk
+++ b/packages/apps/moonlight/package.mk
@@ -14,7 +14,7 @@ if [ "${TARGET_ARCH}" = "x86_64" ]
then
PKG_SITE+="qt"
PKG_URL="${PKG_SITE}.git"
- PKG_VERSION="7b29b221928111d7242f5a181b0bf14e9542bb6f"
+ PKG_VERSION="89a628a0dde50264fd2170125588c15d8dd80a2c"
PKG_DEPENDS_TARGET+=" qt5"
PKG_TOOLCHAIN="manual"
make_target() {
diff --git a/packages/apps/moonlight/sources/start_moonlight.sh b/packages/apps/moonlight/sources/start_moonlight.sh
index 23e9657433..515cb099c7 100644
--- a/packages/apps/moonlight/sources/start_moonlight.sh
+++ b/packages/apps/moonlight/sources/start_moonlight.sh
@@ -1,5 +1,5 @@
#!/bin/bash
. /etc/profile
-jslisten set "moonlight"
+set_kill set "moonlight"
QT_QPA_PLATFORM=wayland moonlight
diff --git a/packages/apps/oga_controls/patches/RK3566-X55/000-platform.patch b/packages/apps/oga_controls/patches/RK3566-BSP-X55/000-platform.patch
similarity index 100%
rename from packages/apps/oga_controls/patches/RK3566-X55/000-platform.patch
rename to packages/apps/oga_controls/patches/RK3566-BSP-X55/000-platform.patch
diff --git a/packages/apps/portmaster/scripts/start_portmaster.sh b/packages/apps/portmaster/scripts/start_portmaster.sh
index fe0b70a841..44ca162eb1 100644
--- a/packages/apps/portmaster/scripts/start_portmaster.sh
+++ b/packages/apps/portmaster/scripts/start_portmaster.sh
@@ -4,7 +4,7 @@
# Copyright (C) 2022-present JELOS (https://github.com/JustEnoughLinuxOS)
. /etc/profile
-jslisten set "PortMaster"
+set_kill set "PortMaster"
#Make sure PortMaster exists in .config/PortMaster
if [ ! -d "/storage/.config/PortMaster" ]; then
diff --git a/packages/devel/apache-ant/package.mk b/packages/devel/apache-ant/package.mk
index b601436c33..02ab531c25 100644
--- a/packages/devel/apache-ant/package.mk
+++ b/packages/devel/apache-ant/package.mk
@@ -15,26 +15,33 @@ make_host() {
(
export JAVA_HOME=$(get_build_dir jdk-zulu)
- ### Work around for down/missing ftp server.
- TMPCACHE="${ROOT}/.ant/tempcache"
- if [ ! -d "${TMPCACHE}" ]
- then
- mkdir -p ${TMPCACHE}
- fi
+ ### Work around for down/missing ftp server.
+ TMPCACHE="${ROOT}/.ant/tempcache"
+ if [ ! -d "${TMPCACHE}" ]
+ then
+ mkdir -p ${TMPCACHE}
+ fi
- if [ ! -e "${TMPCACHE}/NetRexx.zip" ]
- then
- curl -Lo ${TMPCACHE}/NetRexx.zip https://public.dhe.ibm.com/software/awdtools/netrexx/NetRexx.zip
- fi
+ ### Force Maven repository to be in ${ROOT}
+ M2_REPOSITORY="${ROOT}/.ant/.m2"
+ if [ ! -d "${M2_REPOSITORY}" ]
+ then
+ mkdir -p ${M2_REPOSITORY}/repository
+ fi
+
+ if [ ! -e "${TMPCACHE}/NetRexx.zip" ]
+ then
+ curl -Lo ${TMPCACHE}/NetRexx.zip https://public.dhe.ibm.com/software/awdtools/netrexx/NetRexx.zip
+ fi
./bootstrap.sh
- ./bootstrap/bin/ant -f fetch.xml -Ddest=optional -Dtemp.dir=${TMPCACHE}
+ ./bootstrap/bin/ant -f fetch.xml -Ddest=optional -Dtemp.dir=${TMPCACHE} -Dmaven.repo.local=${M2_REPOSITORY}
./build.sh -Ddist.dir=${PKG_BUILD}/binary dist
)
}
makeinstall_host() {
mkdir -p ${TOOLCHAIN}/bin
- cp binary/bin/ant ${TOOLCHAIN}/bin
- cp -r binary/lib ${TOOLCHAIN}
+ cp binary/bin/ant ${TOOLCHAIN}/bin
+ cp -r binary/lib ${TOOLCHAIN}
}
diff --git a/packages/devel/glibc/package.mk b/packages/devel/glibc/package.mk
index 8265f7b7ca..4d9085d644 100644
--- a/packages/devel/glibc/package.mk
+++ b/packages/devel/glibc/package.mk
@@ -13,6 +13,9 @@ PKG_LONGDESC="The Glibc package contains the main C library."
PKG_BUILD_FLAGS="+bfd -gold"
case "${DEVICE}" in
+ RK3566-BSP*)
+ OPT_ENABLE_KERNEL=4.4.0
+ ;;
RK358*)
OPT_ENABLE_KERNEL=5.10.0
;;
diff --git a/packages/emulators/libretro/beetle-pce-fast-lr/package.mk b/packages/emulators/libretro/beetle-pce-fast-lr/package.mk
index c3fbf62bf3..6e15b929f2 100644
--- a/packages/emulators/libretro/beetle-pce-fast-lr/package.mk
+++ b/packages/emulators/libretro/beetle-pce-fast-lr/package.mk
@@ -20,7 +20,7 @@
################################################################################
PKG_NAME="beetle-pce-fast-lr"
-PKG_VERSION="d97d9558fe218ea04821788cee1f2c03556e818a"
+PKG_VERSION="28180934e9d7f1a6ec655adde0b81f0b167732ad"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
diff --git a/packages/emulators/libretro/beetle-pce-lr/package.mk b/packages/emulators/libretro/beetle-pce-lr/package.mk
index b522814757..3f1871caf6 100644
--- a/packages/emulators/libretro/beetle-pce-lr/package.mk
+++ b/packages/emulators/libretro/beetle-pce-lr/package.mk
@@ -20,7 +20,7 @@
################################################################################
PKG_NAME="beetle-pce-lr"
-PKG_VERSION="753f067738e55a6325d3ca5206151a9acd9127f0"
+PKG_VERSION="95b5ea18a694f5a05b1c0cda20928c825d981238"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
diff --git a/packages/emulators/libretro/beetle-supergrafx-lr/package.mk b/packages/emulators/libretro/beetle-supergrafx-lr/package.mk
index 30581639c3..76baa08ac5 100644
--- a/packages/emulators/libretro/beetle-supergrafx-lr/package.mk
+++ b/packages/emulators/libretro/beetle-supergrafx-lr/package.mk
@@ -20,7 +20,7 @@
################################################################################
PKG_NAME="beetle-supergrafx-lr"
-PKG_VERSION="32070ffd0082fd5127519bb6e92a2daecc359408"
+PKG_VERSION="29ff9e00a85db3d462cca42543a84597c421c99c"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
diff --git a/packages/emulators/libretro/bsnes-lr/package.mk b/packages/emulators/libretro/bsnes-lr/package.mk
index 988e66aa4e..170da43145 100644
--- a/packages/emulators/libretro/bsnes-lr/package.mk
+++ b/packages/emulators/libretro/bsnes-lr/package.mk
@@ -2,7 +2,7 @@
# Copyright (C) 2022-present JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="bsnes-lr"
-PKG_VERSION="5f0bafa9e517d132d964e8e267316283ccd3cce0"
+PKG_VERSION="9c688ea5cbbb0e8c586414e07305cfbdffbf83e2"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/libretro/bsnes-libretro"
PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"
diff --git a/packages/emulators/libretro/citra-lr/package.mk b/packages/emulators/libretro/citra-lr/package.mk
deleted file mode 100644
index 227b7fefe8..0000000000
--- a/packages/emulators/libretro/citra-lr/package.mk
+++ /dev/null
@@ -1,48 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-or-later
-# Copyright (C) 2022-present JELOS (https://github.com/JustEnoughLinuxOS)
-
-PKG_NAME="citra-lr"
-PKG_VERSION="d7e1612c17b1acb5d5eb68bb046820db49aeea5e"
-PKG_LICENSE="GPLv3"
-PKG_SITE="https://github.com/libretro/citra"
-PKG_URL="${PKG_SITE}.git"
-PKG_DEPENDS_TARGET="toolchain boost"
-PKG_SECTION="libretro"
-PKG_SHORTDESC="Citra - Nintendo 3DS emulator for libretro"
-PKG_TOOLCHAIN="make"
-
-if [ ! "${OPENGL}" = "no" ]; then
- PKG_DEPENDS_TARGET+=" ${OPENGL} glu libglvnd"
-fi
-
-if [ "${OPENGLES_SUPPORT}" = yes ]; then
- PKG_DEPENDS_TARGET+=" ${OPENGLES}"
-fi
-
-pre_make_target() {
-
- cd ${PKG_BUILD}
- if [ -e "CMakeLists.txt" ]
- then
- rm CMakeLists.txt
- fi
-
- PKG_MAKE_OPTS_TARGET="GIT_REV=${PKG_VERSION:0:7} \
- HAVE_FFMPEG_STATIC=0 \
- FFMPEG_DISABLE_VDPAU=1 \
- HAVE_FFMPEG_CROSSCOMPILE=1 \
- FFMPEG_XC_CPU=${TARGET_CPU} \
- FFMPEG_XC_ARCH=${TARGET_ARCH} \
- FFMPEG_XC_PREFIX=${TARGET_PREFIX} \
- FFMPEG_XC_SYSROOT=${SYSROOT_PREFIX} \
- FFMPEG_XC_NM=${NM} \
- FFMPEG_XC_AR=${AR} \
- FFMPEG_XC_AS=${CC} \
- FFMPEG_XC_CC=${CC} \
- FFMPEG_XC_LD=${CC}"
-}
-
-makeinstall_target() {
- mkdir -p ${INSTALL}/usr/lib/libretro
- cp citra_libretro.so ${INSTALL}/usr/lib/libretro/
-}
diff --git a/packages/emulators/libretro/citra-lr/patches/001-fix-missing-include.patch b/packages/emulators/libretro/citra-lr/patches/001-fix-missing-include.patch
deleted file mode 100644
index c980103e77..0000000000
--- a/packages/emulators/libretro/citra-lr/patches/001-fix-missing-include.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/core/frontend/mic.cpp b/src/core/frontend/mic.cpp
-index c9dbc9c..0d8c976 100644
---- a/src/core/frontend/mic.cpp
-+++ b/src/core/frontend/mic.cpp
-@@ -4,6 +4,7 @@
-
- #include
- #include "core/frontend/mic.h"
-+#include
-
- #ifdef HAVE_CUBEB
- #include "audio_core/cubeb_input.h"
diff --git a/packages/emulators/libretro/core-info/package.mk b/packages/emulators/libretro/core-info/package.mk
index 07ce7759ef..f846a5b2e4 100644
--- a/packages/emulators/libretro/core-info/package.mk
+++ b/packages/emulators/libretro/core-info/package.mk
@@ -20,7 +20,7 @@
################################################################################
PKG_NAME="core-info"
-PKG_VERSION="ef6815722bfd4cc7d0cf14640b7111ecb5709cdd"
+PKG_VERSION="8013cd3c6f9d09a6f9d81d97cb4e11f6e78fd369"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/libretro/libretro-core-info"
PKG_URL="https://github.com/libretro/libretro-core-info/archive/${PKG_VERSION}.tar.gz"
diff --git a/packages/emulators/libretro/fbneo-lr/package.mk b/packages/emulators/libretro/fbneo-lr/package.mk
index 11aa922b9a..b49573e766 100644
--- a/packages/emulators/libretro/fbneo-lr/package.mk
+++ b/packages/emulators/libretro/fbneo-lr/package.mk
@@ -4,7 +4,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="fbneo-lr"
-PKG_VERSION="2adfb2723b5d7abcf33633fd30a794dce4263a5b"
+PKG_VERSION="6fc8060a75fd75c5b292fbef488ed8dd37c7bc34"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="Non-commercial"
diff --git a/packages/emulators/libretro/fceumm-lr/package.mk b/packages/emulators/libretro/fceumm-lr/package.mk
index a40b738ed3..8629eb5b80 100644
--- a/packages/emulators/libretro/fceumm-lr/package.mk
+++ b/packages/emulators/libretro/fceumm-lr/package.mk
@@ -20,7 +20,7 @@
################################################################################
PKG_NAME="fceumm-lr"
-PKG_VERSION="63643ba02c8eaea15dbe167ef907f3da7a3e6fd7"
+PKG_VERSION="40969671ce9e4b1a49165d836476cd71bb960131"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
diff --git a/packages/emulators/libretro/flycast2021-lr/patches/RK3566-BSP/000-platform.patch b/packages/emulators/libretro/flycast2021-lr/patches/RK3566-BSP/000-platform.patch
new file mode 100644
index 0000000000..37a6d80862
--- /dev/null
+++ b/packages/emulators/libretro/flycast2021-lr/patches/RK3566-BSP/000-platform.patch
@@ -0,0 +1,43 @@
+diff -rupN flycast.orig/Makefile flycast/Makefile
+--- flycast.orig/Makefile 2022-06-18 13:29:52.675787687 -0400
++++ flycast/Makefile 2022-06-18 13:53:23.564624927 -0400
+@@ -403,26 +403,30 @@ else ifeq ($(platform), arm64_cortex_a53
+
+ #######################################
+
+-# ARM64 SM1 Odroid C4
+-else ifeq ($(platform), odroidc4)
++# ARM64 RG503, RG353x, x55, rk2023
++else ifeq ($(platform), RK3566-BSP)
+ EXT ?= so
+ TARGET := $(TARGET_NAME)_libretro.$(EXT)
+ SHARED += -shared -Wl,--version-script=link.T
+- LDFLAGS += -Wl,--no-undefined
+ fpic = -fPIC
+ LIBS += -lrt
+ ARM_FLOAT_ABI_HARD = 0
+ FORCE_GLES = 1
+ SINGLE_PREC_FLAGS = 1
+- CPUFLAGS += -DHOST_CPU=0x20000006 -DTARGET_LINUX_ARMv8 -frename-registers
+- CFLAGS += -mcpu=cortex-a55 -mtune=cortex-a55 $(CPUFLAGS)
+- CXXFLAGS += -mcpu=cortex-a55 -mtune=cortex-a55 $(CPUFLAGS)
+- ASFLAGS += $(CFLAGS) -c -frename-registers -fno-strict-aliasing -ffast-math -ftree-vectorize
++ HAVE_LTCG = 0
++ HAVE_OPENMP = 0
++ CFLAGS += -Ofast \
++ -fuse-linker-plugin \
++ -fno-stack-protector -fno-ident -fomit-frame-pointer \
++ -fmerge-all-constants -ffast-math -funroll-all-loops \
++ -mcpu=cortex-a55 -mtune=cortex-a55
++ CXXFLAGS += $(CFLAGS)
++ LDFLAGS += -mcpu=cortex-a55 -mtune=cortex-a55 -Ofast -flto -fuse-linker-plugin
+ PLATFORM_EXT := unix
++ CORE_DEFINES += -DLOW_END -DLOW_RES
+ WITH_DYNAREC=arm64
++ PLATFORM_EXT := unix
+ HAVE_GENERIC_JIT = 0
+- HAVE_VULKAN = 0
+- HAVE_LTCG = 0
+
+ #######################################
+
diff --git a/packages/emulators/libretro/gambatte-lr/package.mk b/packages/emulators/libretro/gambatte-lr/package.mk
index 38ec28e158..638fbf9df7 100644
--- a/packages/emulators/libretro/gambatte-lr/package.mk
+++ b/packages/emulators/libretro/gambatte-lr/package.mk
@@ -20,7 +20,7 @@
################################################################################
PKG_NAME="gambatte-lr"
-PKG_VERSION="05c4e10168aa3070b4ea01f7da7ab1c0d4241103"
+PKG_VERSION="9806d3f12bc3a831fad3f71c6fbad6f93d83581c"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
diff --git a/packages/emulators/libretro/gearboy-lr/package.mk b/packages/emulators/libretro/gearboy-lr/package.mk
index a7105fdb22..0104624cd9 100644
--- a/packages/emulators/libretro/gearboy-lr/package.mk
+++ b/packages/emulators/libretro/gearboy-lr/package.mk
@@ -15,7 +15,7 @@
################################################################################
PKG_NAME="gearboy-lr"
-PKG_VERSION="8037339f2aaccd54dfd1a38b589ef2b3d3e2d4c4"
+PKG_VERSION="3b94ce2c425833f0bdf10f933e9e7c9db1621963"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
diff --git a/packages/emulators/libretro/gearcoleco-lr/package.mk b/packages/emulators/libretro/gearcoleco-lr/package.mk
index f19171b47c..66e7c04561 100644
--- a/packages/emulators/libretro/gearcoleco-lr/package.mk
+++ b/packages/emulators/libretro/gearcoleco-lr/package.mk
@@ -15,7 +15,7 @@
################################################################################
PKG_NAME="gearcoleco-lr"
-PKG_VERSION="bb89079d3469cac81a1ce683d19ed396317ae99e"
+PKG_VERSION="169780b22acb0ac0b6d9725501ac8faf177e0632"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
diff --git a/packages/emulators/libretro/gearsystem-lr/package.mk b/packages/emulators/libretro/gearsystem-lr/package.mk
index 93fa63103f..a4280d6e05 100644
--- a/packages/emulators/libretro/gearsystem-lr/package.mk
+++ b/packages/emulators/libretro/gearsystem-lr/package.mk
@@ -20,7 +20,7 @@
################################################################################
PKG_NAME="gearsystem-lr"
-PKG_VERSION="0fda5894b310110532a5594b815c20cf9a6cb1ed"
+PKG_VERSION="306ad2c829a07ef4b40c0f593d7f15e6152032ec"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv3"
diff --git a/packages/emulators/libretro/genesis-plus-gx-lr/package.mk b/packages/emulators/libretro/genesis-plus-gx-lr/package.mk
index ee33ad2768..99a0262b3e 100644
--- a/packages/emulators/libretro/genesis-plus-gx-lr/package.mk
+++ b/packages/emulators/libretro/genesis-plus-gx-lr/package.mk
@@ -21,7 +21,7 @@
################################################################################
PKG_NAME="genesis-plus-gx-lr"
-PKG_VERSION="7aba063778534a78b080a737c0465667ebd66154"
+PKG_VERSION="541229daa9e8f706135531c28c7abec4efd08d48"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="Non-commercial"
diff --git a/packages/emulators/libretro/jaxe-lr/package.mk b/packages/emulators/libretro/jaxe-lr/package.mk
index b865978d20..e8af4203cb 100644
--- a/packages/emulators/libretro/jaxe-lr/package.mk
+++ b/packages/emulators/libretro/jaxe-lr/package.mk
@@ -2,7 +2,7 @@
# Copyright (C) 2022-present AmberELEC (https://github.com/AmberELEC)
PKG_NAME="jaxe-lr"
-PKG_VERSION="e03ea87f37b33d89ce9c9bd71bd71fd0158cc68d"
+PKG_VERSION="bf5a788993c9bf048622bab5d3c876b15af3fcf6"
PKG_ARCH="aarch64"
PKG_SITE="https://github.com/kurtjd/jaxe"
PKG_URL="${PKG_SITE}.git"
diff --git a/packages/emulators/libretro/libretro-database/package.mk b/packages/emulators/libretro/libretro-database/package.mk
index 37c5471000..96a8d4544a 100644
--- a/packages/emulators/libretro/libretro-database/package.mk
+++ b/packages/emulators/libretro/libretro-database/package.mk
@@ -20,7 +20,7 @@
################################################################################
PKG_NAME="libretro-database"
-PKG_VERSION="8bca7df7f2edcc05916e14516eb522ae80627283"
+PKG_VERSION="f3e29b96d1082b7a214470bfdf3b3876bc28478d"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
diff --git a/packages/emulators/libretro/mame-lr/package.mk b/packages/emulators/libretro/mame-lr/package.mk
index aed3904df6..94cb8d75a8 100644
--- a/packages/emulators/libretro/mame-lr/package.mk
+++ b/packages/emulators/libretro/mame-lr/package.mk
@@ -2,7 +2,7 @@
# Copyright (C) 2019 Trond Haugland (trondah@gmail.com)
PKG_NAME="mame-lr"
-PKG_VERSION="8ebaec4073703f5050dac3f6c8da408943e15938"
+PKG_VERSION="6d6d21fd9e41dab2b0e0ca0587baf3fcad18fd67"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/libretro/mame"
diff --git a/packages/emulators/libretro/mame2003-plus-lr/package.mk b/packages/emulators/libretro/mame2003-plus-lr/package.mk
index 020ac41d7e..23b484f525 100644
--- a/packages/emulators/libretro/mame2003-plus-lr/package.mk
+++ b/packages/emulators/libretro/mame2003-plus-lr/package.mk
@@ -21,7 +21,7 @@
################################################################################
PKG_NAME="mame2003-plus-lr"
-PKG_VERSION="fc987f1913203a41bca7f6fd16e92c83729dd7fc"
+PKG_VERSION="a7cb863de48247c771a0fcc71d519131eae4e9c6"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="MAME"
diff --git a/packages/emulators/libretro/mgba-lr/package.mk b/packages/emulators/libretro/mgba-lr/package.mk
index 4ef6befc1e..142ea09ca4 100644
--- a/packages/emulators/libretro/mgba-lr/package.mk
+++ b/packages/emulators/libretro/mgba-lr/package.mk
@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="mgba-lr"
-PKG_VERSION="314bf7b676f5b820f396209eb0c7d6fbe8103486"
+PKG_VERSION="b2564482c86378581a7a43ef4e254b2a75167bc7"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="MPLv2.0"
diff --git a/packages/emulators/libretro/nestopia-lr/package.mk b/packages/emulators/libretro/nestopia-lr/package.mk
index 6290fb1d15..402f496ca9 100644
--- a/packages/emulators/libretro/nestopia-lr/package.mk
+++ b/packages/emulators/libretro/nestopia-lr/package.mk
@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="nestopia-lr"
-PKG_VERSION="407df997b65cddbff9b25abae0510e6645205677"
+PKG_VERSION="2cef539e0df9ae5c8e6adf830a37f5d122bf5f05"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
diff --git a/packages/emulators/libretro/puae-lr/package.mk b/packages/emulators/libretro/puae-lr/package.mk
index bffbde758f..d59db71684 100644
--- a/packages/emulators/libretro/puae-lr/package.mk
+++ b/packages/emulators/libretro/puae-lr/package.mk
@@ -21,7 +21,7 @@
################################################################################
PKG_NAME="puae-lr"
-PKG_VERSION="2cad13f98aa4df272decf2ab99d95aa582cd4cfb"
+PKG_VERSION="5f683ae67b998fcadd69fa8f65f2440fa8ef135f"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
diff --git a/packages/emulators/libretro/puae2021-lr/package.mk b/packages/emulators/libretro/puae2021-lr/package.mk
index f17b4dc004..af7841e2a6 100644
--- a/packages/emulators/libretro/puae2021-lr/package.mk
+++ b/packages/emulators/libretro/puae2021-lr/package.mk
@@ -21,7 +21,7 @@
################################################################################
PKG_NAME="puae2021-lr"
-PKG_VERSION="144987e45284b46b7775adb4c4da1fda8f61a641"
+PKG_VERSION="218b539d28ca3370df340f1b98fe12eab7b8fc09"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
diff --git a/packages/emulators/libretro/sameboy-lr/package.mk b/packages/emulators/libretro/sameboy-lr/package.mk
index ba84cc6c9f..87005289d7 100644
--- a/packages/emulators/libretro/sameboy-lr/package.mk
+++ b/packages/emulators/libretro/sameboy-lr/package.mk
@@ -20,12 +20,12 @@
################################################################################
PKG_NAME="sameboy-lr"
-PKG_VERSION="09138330990da32362246c7034cf4de2ea0a2a2b"
+PKG_VERSION="9dad3698c77f4928bca7305619d85ed686c88e99"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="MIT"
-PKG_SITE="https://github.com/libretro/sameboy"
-PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"
+PKG_SITE="https://git.libretro.com/libretro/sameboy-upstream"
+PKG_URL="${PKG_SITE}/-/archive/${PKG_VERSION}/sameboy-upstream-${PKG_VERSION}.tar.gz"
PKG_GIT_CLONE_BRANCH="buildbot"
PKG_DEPENDS_TARGET="toolchain util-linux:host"
PKG_PRIORITY="optional"
@@ -38,10 +38,10 @@ PKG_TOOLCHAIN="make"
PKG_AUTORECONF="no"
make_target() {
- make -C libretro
+ make -C libretro BOOTROMS_DIR=${PKG_BUILD}/BootROMs/prebuilt
}
makeinstall_target() {
mkdir -p ${INSTALL}/usr/lib/libretro
- cp libretro/sameboy_libretro.so ${INSTALL}/usr/lib/libretro/
+ cp build/bin/sameboy_libretro.so ${INSTALL}/usr/lib/libretro/
}
diff --git a/packages/emulators/libretro/slang-shaders/package.mk b/packages/emulators/libretro/slang-shaders/package.mk
index c76c0d0210..c1a2b12709 100644
--- a/packages/emulators/libretro/slang-shaders/package.mk
+++ b/packages/emulators/libretro/slang-shaders/package.mk
@@ -20,7 +20,7 @@
################################################################################
PKG_NAME="slang-shaders"
-PKG_VERSION="89a5f03de8ed4d26a5a217a8469ef6466c89b179"
+PKG_VERSION="d668788a29a390704a07fba99895ee69a6707f45"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
diff --git a/packages/emulators/libretro/stella-lr/package.mk b/packages/emulators/libretro/stella-lr/package.mk
index fef73ef53c..22b401258e 100644
--- a/packages/emulators/libretro/stella-lr/package.mk
+++ b/packages/emulators/libretro/stella-lr/package.mk
@@ -20,7 +20,7 @@
################################################################################
PKG_NAME="stella-lr"
-PKG_VERSION="4557099e5d7a0c0b02424ea85d2a4b093911e048"
+PKG_VERSION="a311e1d714db3837ae4c05e2fab0abcf092a2e54"
PKG_REV="1"
PKG_LICENSE="GPL2"
PKG_SITE="https://github.com/stella-emu/stella"
diff --git a/packages/emulators/libretro/theodore-lr/package.mk b/packages/emulators/libretro/theodore-lr/package.mk
new file mode 100644
index 0000000000..417b934fa6
--- /dev/null
+++ b/packages/emulators/libretro/theodore-lr/package.mk
@@ -0,0 +1,18 @@
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (C) 2024 JELOS (https://github.com/JustEnoughLinuxOS)
+
+PKG_NAME="theodore-lr"
+PKG_VERSION="7889613edede5ba89de1dfe7c05cf8397cf178ba"
+PKG_LICENSE="GPLv3"
+PKG_SITE="https://github.com/Zlika/theodore"
+PKG_URL="${PKG_SITE}.git"
+PKG_DEPENDS_TARGET="toolchain"
+PKG_LONGDESC="A port of the Theodore emulator for the Thomson MO/TO system--a family of French 8-bit home computers--to libretro. This core emulates all of the main models of the MO/TO family, including the TO7, TO7/70, TO8, TO8D, TO9, TO9+, MO5 and MO6 models, as well as the Olivetti Prodest PC128, which is a rebranded MO6 that was released in the Italian market. The core includes an onscreen keyboard, which can be toggled with retropad-select and navigated using the d-pad and retropad-B to press the selected key."
+PKG_TOOLCHAIN="make"
+
+PKG_MAKE_OPTS_TARGET="-C . platform=unix"
+
+makeinstall_target() {
+ mkdir -p ${INSTALL}/usr/lib/libretro
+ cp ${PKG_BUILD}/theodore_libretro.so ${INSTALL}/usr/lib/libretro
+}
diff --git a/packages/emulators/libretro/tic80-lr/package.mk b/packages/emulators/libretro/tic80-lr/package.mk
index cca616faa1..64b20c6172 100644
--- a/packages/emulators/libretro/tic80-lr/package.mk
+++ b/packages/emulators/libretro/tic80-lr/package.mk
@@ -2,7 +2,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="tic80-lr"
-PKG_VERSION="5cee27b49c4322a9d6e89f08fd083e3e91329d42"
+PKG_VERSION="3cf27c5ea006b8a7cec4e52451041ebff21fc60d"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/nesbox/TIC-80"
PKG_URL="${PKG_SITE}.git"
diff --git a/packages/emulators/libretro/vice-lr/package.mk b/packages/emulators/libretro/vice-lr/package.mk
index 052553478e..5924a9c619 100644
--- a/packages/emulators/libretro/vice-lr/package.mk
+++ b/packages/emulators/libretro/vice-lr/package.mk
@@ -21,7 +21,7 @@
################################################################################
PKG_NAME="vice-lr"
-PKG_VERSION="0046085610289777b5806495d8eef213e0a201aa"
+PKG_VERSION="4dba89f8d04aa0499eef05ea00f7a7bf265863f7"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
diff --git a/packages/emulators/libretro/vircon32-lr/package.mk b/packages/emulators/libretro/vircon32-lr/package.mk
index fada82cb15..17012dd634 100644
--- a/packages/emulators/libretro/vircon32-lr/package.mk
+++ b/packages/emulators/libretro/vircon32-lr/package.mk
@@ -2,7 +2,7 @@
# Copyright (C) 2024-present AmberELEC (https://github.com/AmberELEC)
PKG_NAME="vircon32-lr"
-PKG_VERSION="2868270d7d33403f7ec236a7de177ea74afd9b5d"
+PKG_VERSION="56c429aa001c9f76c7a96e656f82d7e60c34bc81"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/vircon32/vircon32-libretro"
PKG_URL="${PKG_SITE}.git"
diff --git a/packages/emulators/libretro/yabasanshiro-lr/package.mk b/packages/emulators/libretro/yabasanshiro-lr/package.mk
index aea6d6c275..3fc671cc79 100644
--- a/packages/emulators/libretro/yabasanshiro-lr/package.mk
+++ b/packages/emulators/libretro/yabasanshiro-lr/package.mk
@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="yabasanshiro-lr"
-PKG_VERSION="7513c8459034a0fe415d3cae4d692a54d0f90296"
+PKG_VERSION="4e65871ec0a2582fa2dbe055fccb6573dbd68d4f"
PKG_GIT_CLONE_BRANCH="yabasanshiro"
PKG_REV="1"
PKG_ARCH="any"
diff --git a/packages/emulators/standalone/aethersx2-sa/config/RK3588/aethersx2/inis/PCSX2.ini b/packages/emulators/standalone/aethersx2-sa/config/RK3588/aethersx2/inis/PCSX2.ini
index 3662a37b95..47bbba0017 100644
--- a/packages/emulators/standalone/aethersx2-sa/config/RK3588/aethersx2/inis/PCSX2.ini
+++ b/packages/emulators/standalone/aethersx2-sa/config/RK3588/aethersx2/inis/PCSX2.ini
@@ -316,29 +316,10 @@ SDLControllerEnhancedMode = false
XInput = false
RawInput = false
-
[Hotkeys]
-ToggleFullscreen = Keyboard/Alt & Keyboard/Return
-CycleAspectRatio = Keyboard/F6
-CycleInterlaceMode = Keyboard/F5
-CycleMipmapMode = Keyboard/Insert
-GSDumpMultiFrame = Keyboard/Control & Keyboard/Shift & Keyboard/F8
-Screenshot = Keyboard/F8
-GSDumpSingleFrame = Keyboard/Shift & Keyboard/F8
-ToggleSoftwareRendering = Keyboard/F9
-ZoomIn = Keyboard/Control & Keyboard/Plus
-ZoomOut = Keyboard/Control & Keyboard/Minus
-InputRecToggleMode = Keyboard/Shift & Keyboard/R
-LoadStateFromSlot = Keyboard/F3
-SaveStateToSlot = Keyboard/F1
-NextSaveStateSlot = Keyboard/F2
-PreviousSaveStateSlot = Keyboard/Shift & Keyboard/F2
-OpenPauseMenu = Keyboard/Escape
-ToggleFrameLimit = Keyboard/F4
-TogglePause = Keyboard/Space
-ToggleSlowMotion = Keyboard/Shift & Keyboard/Backtab
-ToggleTurbo = Keyboard/Tab
-HoldTurbo = Keyboard/Period
+LoadStateFromSlot = SDL-0/Button30 & SDL-0/LeftShoulder
+SaveStateToSlot = SDL-0/Button30 & SDL-0/RightShoulder
+OpenPauseMenu = SDL-0/Button30 & SDL-0/X
[Pad]
@@ -361,10 +342,10 @@ Up = SDL-0/DPadUp
Right = SDL-0/DPadRight
Down = SDL-0/DPadDown
Left = SDL-0/DPadLeft
-Triangle = SDL-0/Y
-Circle = SDL-0/B
-Cross = SDL-0/A
-Square = SDL-0/X
+Triangle = SDL-0/X
+Circle = SDL-0/A
+Cross = SDL-0/B
+Square = SDL-0/Y
Select = SDL-0/Back
Start = SDL-0/Start
L1 = SDL-0/LeftShoulder
@@ -373,15 +354,17 @@ R1 = SDL-0/RightShoulder
R2 = SDL-0/+RightTrigger
L3 = SDL-0/LeftStick
R3 = SDL-0/RightStick
-LUp = SDL-0/-LeftY
-LRight = SDL-0/+LeftX
-LDown = SDL-0/+LeftY
-LLeft = SDL-0/-LeftX
+LUp = SDL-0/+LeftX
+LRight = SDL-0/-LeftY
+LDown = SDL-0/-LeftX
+LLeft = SDL-0/+LeftY
RUp = SDL-0/-RightY
RRight = SDL-0/+RightX
RDown = SDL-0/+RightY
RLeft = SDL-0/-RightX
-
+Analog = SDL-0/Guide
+LargeMotor = SDL-0/LargeMotor
+SmallMotor = SDL-0/SmallMotor
[Pad2]
Type = None
diff --git a/packages/emulators/standalone/aethersx2-sa/package.mk b/packages/emulators/standalone/aethersx2-sa/package.mk
index 817f1c9181..2163e39af7 100644
--- a/packages/emulators/standalone/aethersx2-sa/package.mk
+++ b/packages/emulators/standalone/aethersx2-sa/package.mk
@@ -5,8 +5,8 @@ PKG_NAME="aethersx2-sa"
PKG_VERSION="v1.5-3606"
PKG_ARCH="aarch64"
PKG_LICENSE="LGPL"
-PKG_SITE="https://www.aethersx2.com"
-PKG_URL="${PKG_SITE}/archive/desktop/linux/AetherSX2-${PKG_VERSION}.AppImage"
+PKG_SITE="https://github.com/r3claimer/JelosAddOns"
+PKG_URL="${PKG_SITE}/raw/main/aethersx2-sa-${PKG_VERSION}.AppImage"
PKG_DEPENDS_TARGET="toolchain qt5 libgpg-error fuse2"
PKG_LONGDESC="Arm PS2 Emulator appimage"
PKG_TOOLCHAIN="manual"
diff --git a/packages/emulators/standalone/aethersx2-sa/scripts/start_aethersx2.sh b/packages/emulators/standalone/aethersx2-sa/scripts/start_aethersx2.sh
index 431d901463..3f40b33d95 100755
--- a/packages/emulators/standalone/aethersx2-sa/scripts/start_aethersx2.sh
+++ b/packages/emulators/standalone/aethersx2-sa/scripts/start_aethersx2.sh
@@ -42,6 +42,7 @@ fi
RATE=$(get_setting ee_cycle_rate ps2 "${GAME}")
SKIP=$(get_setting ee_cycle_skip ps2 "${GAME}")
GRENDERER=$(get_setting graphics_backend ps2 "${GAME}")
+ IRES=$(get_setting internal_resolution ps2 "${GAME}")
VSYNC=$(get_setting vsync ps2 "${GAME}")
@@ -95,6 +96,14 @@ fi
sed -i '/^Renderer =/c\Renderer = 13' /storage/.config/aethersx2/inis/PCSX2.ini
fi
+ #Internal Resolution
+ if [ "$IRES" > "0" ]
+ then
+ sed -i "/^upscale_multiplier =/c\upscale_multiplier = $IRES" /storage/.config/aethersx2/inis/PCSX2.ini
+ else
+ sed -i '/^upscale_multiplier =/c\upscale_multiplier = 1' /storage/.config/aethersx2/inis/PCSX2.ini
+ fi
+
#Show FPS
if [ "$FPS" = "false" ]
then
@@ -164,5 +173,5 @@ export MESA_GLSL_VERSION_OVERRIDE=330
#Run Aethersx2 emulator
export SDL_AUDIODRIVER=pulseaudio
- jslisten set "-9 aethersx2"
+ set_kill set "-9 aethersx2"
${EMUPERF} /usr/bin/@APPIMAGE@ -fullscreen "${1}"
diff --git a/packages/emulators/standalone/amiberry/scripts/start_amiberry.sh b/packages/emulators/standalone/amiberry/scripts/start_amiberry.sh
index 656a81962d..470cd39901 100755
--- a/packages/emulators/standalone/amiberry/scripts/start_amiberry.sh
+++ b/packages/emulators/standalone/amiberry/scripts/start_amiberry.sh
@@ -6,7 +6,7 @@
. /etc/profile
-jslisten set "-9 amiberry"
+set_kill set "-9 amiberry"
# Set some common variables
AMIBERRY_DIR="/storage/.config/amiberry"
diff --git a/packages/emulators/standalone/cemu-sa/package.mk b/packages/emulators/standalone/cemu-sa/package.mk
index d3e0446036..4381e2fc6b 100644
--- a/packages/emulators/standalone/cemu-sa/package.mk
+++ b/packages/emulators/standalone/cemu-sa/package.mk
@@ -3,7 +3,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="cemu-sa"
-PKG_VERSION="ca01e923bf03573d5023feb0f4464ce015910ea6"
+PKG_VERSION="8b37e316d0537da9c717cb0698c9141e668d6fff"
PKG_ARCH="x86_64"
PKG_LICENSE="MPL-2.0"
PKG_SITE="https://github.com/cemu-project/Cemu"
diff --git a/packages/emulators/standalone/cemu-sa/scripts/start_cemu.sh b/packages/emulators/standalone/cemu-sa/scripts/start_cemu.sh
index ffb12f7870..c95d4fe8c5 100755
--- a/packages/emulators/standalone/cemu-sa/scripts/start_cemu.sh
+++ b/packages/emulators/standalone/cemu-sa/scripts/start_cemu.sh
@@ -8,7 +8,7 @@
# Ensure we're using pulseaudio
export SDL_AUDIODRIVER=pulseaudio
-jslisten set "-9 cemu"
+set_kill set "-9 cemu"
if [ -z "${PASINK}" ]
then
@@ -66,6 +66,7 @@ ONLINE=$(get_setting online_enabled wiiu "${FILE}")
FPS=$(get_setting show_fps wiiu "${FILE}")
CON=$(get_setting wiiu_controller_profile wiiu "${FILE}")
RENDERER=$(get_setting graphics_backend wiiu "${FILE}")
+BACKEND=$(get_setting gdk_backend wiiu "${FILE}")
if [ -z "${FPS}" ]
then
@@ -82,6 +83,15 @@ case ${RENDERER} in
;;
esac
+case ${BACKEND} in
+ x11)
+ export GDK_BACKEND=x11
+ ;;
+ *)
+ export GDK_BACKEND=wayland
+ ;;
+esac
+
case ${CON} in
"Wii U Pro Controller")
CONFILE="wii_u_pro_controller.xml"
diff --git a/packages/emulators/standalone/citra-sa/config/AMD64/citra.gptk b/packages/emulators/standalone/citra-sa/config/AMD64/citra.gptk
deleted file mode 100644
index 2598b341c0..0000000000
--- a/packages/emulators/standalone/citra-sa/config/AMD64/citra.gptk
+++ /dev/null
@@ -1,27 +0,0 @@
-back = \\
-start = \\
-a = \\
-b = \\
-x = \\
-y = \\
-l1 = \\
-l2 = \\
-l3 = \\
-r1 = \\
-r2 = \\
-r3 = mouse_left
-up = \\
-down = \\
-left = \\
-right = \\
-left_analog_up = \\
-left_analog_down = \\
-left_analog_left = \\
-left_analog_right = \\
-right_analog_up = mouse_movement_up
-right_analog_down = mouse_movement_down
-right_analog_left = mouse_movement_left
-right_analog_right = mouse_movement_right
-deadzone_triggers = 3000
-mouse_scale = 4096
-mouse_delay = 16
diff --git a/packages/emulators/standalone/citra-sa/config/AMD64/sdl2-config.ini b/packages/emulators/standalone/citra-sa/config/AMD64/sdl2-config.ini
deleted file mode 100644
index e4d298170e..0000000000
--- a/packages/emulators/standalone/citra-sa/config/AMD64/sdl2-config.ini
+++ /dev/null
@@ -1,347 +0,0 @@
-
-[Controls]
-# The input devices and parameters for each 3DS native input
-# It should be in the format of "engine:[engine_name],[param1]:[value1],[param2]:[value2]..."
-# Escape characters $0 (for ':'), $1 (for ',') and $2 (for '$') can be used in values
-
-# for button input, the following devices are available:
-# - "keyboard" (default) for keyboard input. Required parameters:
-# - "code": the code of the key to bind
-# - "sdl" for joystick input using SDL. Required parameters:
-# - "joystick": the index of the joystick to bind
-# - "button"(optional): the index of the button to bind
-# - "hat"(optional): the index of the hat to bind as direction buttons
-# - "axis"(optional): the index of the axis to bind
-# - "direction"(only used for hat): the direction name of the hat to bind. Can be "up", "down", "left" or "right"
-# - "threshold"(only used for axis): a float value in (-1.0, 1.0) which the button is
-# triggered if the axis value crosses
-# - "direction"(only used for axis): "+" means the button is triggered when the axis value
-# is greater than the threshold; "-" means the button is triggered when the axis value
-# is smaller than the threshold
-button_a=button:1,engine:sdl,guid:030003f05e0400008e02000010010000,port:0
-button_b=button:0,engine:sdl,guid:030003f05e0400008e02000010010000,port:0
-button_x=button:3,engine:sdl,guid:030003f05e0400008e02000010010000,port:0
-button_y=button:2,engine:sdl,guid:030003f05e0400008e02000010010000,port:0
-button_up=direction:up,engine:sdl,guid:030003f05e0400008e02000010010000,hat:0,port:0
-button_down=direction:down,engine:sdl,guid:030003f05e0400008e02000010010000,hat:0,port:0
-button_left=direction:left,engine:sdl,guid:030003f05e0400008e02000010010000,hat:0,port:0
-button_right=direction:right,engine:sdl,guid:030003f05e0400008e02000010010000,hat:0,port:0
-button_l=button:4,engine:sdl,guid:030003f05e0400008e02000010010000,port:0
-button_r=button:5,engine:sdl,guid:030003f05e0400008e02000010010000,port:0
-button_start=button:7,engine:sdl,guid:030003f05e0400008e02000010010000,port:0
-button_select=button:6,engine:sdl,guid:030003f05e0400008e02000010010000,port:0
-button_debug=
-button_gpio14=
-button_zl=axis:2,direction:+,engine:sdl,guid:030003f05e0400008e02000010010000,port:0,threshold:0.5
-button_zr=axis:5,direction:+,engine:sdl,guid:030003f05e0400008e02000010010000,port:0,threshold:0.5
-button_home=
-
-# for analog input, the following devices are available:
-# - "analog_from_button" (default) for emulating analog input from direction buttons. Required parameters:
-# - "up", "down", "left", "right": sub-devices for each direction.
-# Should be in the format as a button input devices using escape characters, for example, "engine$0keyboard$1code$00"
-# - "modifier": sub-devices as a modifier.
-# - "modifier_scale": a float number representing the applied modifier scale to the analog input.
-# Must be in range of 0.0-1.0. Defaults to 0.5
-# - "sdl" for joystick input using SDL. Required parameters:
-# - "joystick": the index of the joystick to bind
-# - "axis_x": the index of the axis to bind as x-axis (default to 0)
-# - "axis_y": the index of the axis to bind as y-axis (default to 1)
-
-circle_Pad=axis_x:0,axis_y:1,deadzone:0.100000,engine:sdl,guid:030003f05e0400008e02000010010000,port:0
-c_stick=axis_x:3,axis_y:4,deadzone:0.100000,engine:sdl,guid:030003f05e0400008e02000010010000,port:0
-
-# for motion input, the following devices are available:
-# - "motion_emu" (default) for emulating motion input from mouse input. Required parameters:
-# - "update_period": update period in milliseconds (default to 100)
-# - "sensitivity": the coefficient converting mouse movement to tilting angle (default to 0.01)
-# - "tilt_clamp": the max value of the tilt angle in degrees (default to 90)
-# - "cemuhookudp" reads motion input from a udp server that uses cemuhook's udp protocol
-motion_device=
-
-# for touch input, the following devices are available:
-# - "emu_window" (default) for emulating touch input from mouse input to the emulation window. No parameters required
-# - "cemuhookudp" reads touch input from a udp server that uses cemuhook's udp protocol
-# - "min_x", "min_y", "max_x", "max_y": defines the udp device's touch screen coordinate system
-touch_device=
-
-# Most desktop operating systems do not expose a way to poll the motion state of the controllers
-# so as a way around it, cemuhook created a udp client/server protocol to broadcast the data directly
-# from a controller device to the client program. Citra has a client that can connect and read
-# from any cemuhook compatible motion program.
-
-# IPv4 address of the udp input server (Default "127.0.0.1")
-udp_input_address=
-
-# Port of the udp input server. (Default 26760)
-udp_input_port=
-
-# The pad to request data on. Should be between 0 (Pad 1) and 3 (Pad 4). (Default 0)
-udp_pad_index=
-
-[Core]
-# Whether to use the Just-In-Time (JIT) compiler for CPU emulation
-# 0: Interpreter (slow), 1 (default): JIT (fast)
-use_cpu_jit =
-
-# Change the Clock Frequency of the emulated 3DS CPU.
-# Underclocking can increase the performance of the game at the risk of freezing.
-# Overclocking may fix lag that happens on console, but also comes with the risk of freezing.
-# Range is any positive integer (but we suspect 25 - 400 is a good idea) Default is 100
-cpu_clock_percentage =
-
-[Renderer]
-# Whether to render using OpenGL or Software
-# 0: Software, 1: OpenGL (default)
-graphics_api = 2
-
-[Renderer]
-# Whether to render using GLES or OpenGL
-# 0 (default): OpenGL, 1: GLES
-use_gles =
-
-# Whether to use software or hardware rendering.
-# 0: Software, 1 (default): Hardware
-use_hw_renderer =
-
-# Whether to use hardware shaders to emulate 3DS shaders
-# 0: Software, 1 (default): Hardware
-use_hw_shader =
-
-# Whether to use separable shaders to emulate 3DS shaders (macOS only)
-# 0: Off (Default), 1 : On
-separable_shader =
-
-# Whether to use accurate multiplication in hardware shaders
-# 0: Off (Faster, but causes issues in some games) 1: On (Default. Slower, but correct)
-shaders_accurate_mul = 0
-
-# Whether to use the Just-In-Time (JIT) compiler for shader emulation
-# 0: Interpreter (slow), 1 (default): JIT (fast)
-use_shader_jit =
-
-# Forces VSync on the display thread. Usually doesn't impact performance, but on some drivers it can
-# so only turn this off if you notice a speed difference.
-# 0: Off, 1 (default): On
-use_vsync_new =
-
-# Reduce stuttering by storing and loading generated shaders to disk
-# 0: Off, 1 (default. On)
-use_disk_shader_cache = 0
-
-# Resolution scale factor
-# 0: Auto (scales resolution to window size), 1: Native 3DS screen resolution, Otherwise a scale
-# factor for the 3DS resolution
-resolution_factor =
-
-# Texture filter name
-texture_filter_name =
-
-# Limits the speed of the game to run no faster than this value as a percentage of target speed.
-# Will not have an effect if unthrottled is enabled.
-# 5 - 995: Speed limit as a percentage of target game speed. 0 for unthrottled. 100 (default)
-frame_limit =
-
-# Overrides the frame limiter to use frame_limit_alternate instead of frame_limit.
-# 0: Off (default), 1: On
-use_frame_limit_alternate =
-
-# Alternate speed limit to be used instead of frame_limit if use_frame_limit_alternate is enabled
-# 5 - 995: Speed limit as a percentage of target game speed. 0 for unthrottled. 200 (default)
-frame_limit_alternate =
-
-# The clear color for the renderer. What shows up on the sides of the bottom screen.
-# Must be in range of 0.0-1.0. Defaults to 0.0 for all.
-bg_red =
-bg_blue =
-bg_green =
-
-# Whether and how Stereoscopic 3D should be rendered
-# 0 (default): Off, 1: Side by Side, 2: Anaglyph, 3: Interlaced, 4: Reverse Interlaced
-render_3d =
-
-# Change 3D Intensity
-# 0 - 100: Intensity. 0 (default)
-factor_3d =
-
-# The name of the post processing shader to apply.
-# Loaded from shaders if render_3d is off or side by side.
-# Loaded from shaders/anaglyph if render_3d is anaglyph
-pp_shader_name =
-
-# Whether to enable linear filtering or not
-# This is required for some shaders to work correctly
-# 0: Nearest, 1 (default): Linear
-filter_mode =
-
-[Layout]
-# Layout for the screen inside the render window.
-# 0 (default): Default Top Bottom Screen, 1: Single Screen Only, 2: Large Screen Small Screen, 3: Side by Side
-layout_option = 2
-
-# Toggle custom layout (using the settings below) on or off.
-# 0 (default): Off, 1: On
-custom_layout =
-
-# Screen placement when using Custom layout option
-# 0x, 0y is the top left corner of the render window.
-custom_top_left =
-custom_top_top =
-custom_top_right =
-custom_top_bottom =
-custom_bottom_left =
-custom_bottom_top =
-custom_bottom_right =
-custom_bottom_bottom =
-
-# Swaps the prominent screen with the other screen.
-# For example, if Single Screen is chosen, setting this to 1 will display the bottom screen instead of the top screen.
-# 0 (default): Top Screen is prominent, 1: Bottom Screen is prominent
-swap_screen =
-
-# Toggle upright orientation, for book style games.
-# 0 (default): Off, 1: On
-upright_screen =
-
-# Dumps textures as PNG to dump/textures/[Title ID]/.
-# 0 (default): Off, 1: On
-dump_textures =
-
-# Reads PNG files from load/textures/[Title ID]/ and replaces textures.
-# 0 (default): Off, 1: On
-custom_textures =
-
-# Loads all custom textures into memory before booting.
-# 0 (default): Off, 1: On
-preload_textures =
-
-[Audio]
-# Whether or not to enable DSP LLE
-# 0 (default): No, 1: Yes
-enable_dsp_lle =
-
-# Whether or not to run DSP LLE on a different thread
-# 0 (default): No, 1: Yes
-enable_dsp_lle_thread =
-
-
-# Which audio output engine to use.
-# auto (default): Auto-select, null: No audio output, sdl2: SDL2 (if available)
-output_engine =
-
-# Whether or not to enable the audio-stretching post-processing effect.
-# This effect adjusts audio speed to match emulation speed and helps prevent audio stutter,
-# at the cost of increasing audio latency.
-# 0: No, 1 (default): Yes
-enable_audio_stretching =
-
-# Which audio device to use.
-# auto (default): Auto-select
-output_device =
-
-# Output volume.
-# 1.0 (default): 100%, 0.0; mute
-volume =
-
-[Data Storage]
-# Whether to create a virtual SD card.
-# 1 (default): Yes, 0: No
-use_virtual_sd =
-
-# The path of the virtual SD card directory.
-# empty (default) will use the user_path
-sdmc_directory =
-
-# The path of NAND directory.
-# empty (default) will use the user_path
-nand_directory =
-
-[System]
-# The system model that Citra will try to emulate
-# 0: Old 3DS, 1: New 3DS (default)
-is_new_3ds =
-
-# The system region that Citra will use during emulation
-# -1: Auto-select (default), 0: Japan, 1: USA, 2: Europe, 3: Australia, 4: China, 5: Korea, 6: Taiwan
-region_value =
-
-# The clock to use when citra starts
-# 0: System clock (default), 1: fixed time
-init_clock =
-
-# Time used when init_clock is set to fixed_time in the format %Y-%m-%d %H:%M:%S
-# set to fixed time. Default 2000-01-01 00:00:01
-# Note: 3DS can only handle times later then Jan 1 2000
-init_time =
-
-[Camera]
-# Which camera engine to use for the right outer camera
-# blank (default): a dummy camera that always returns black image
-camera_outer_right_name =
-
-# A config string for the right outer camera. Its meaning is defined by the camera engine
-camera_outer_right_config =
-
-# The image flip to apply
-# 0: None (default), 1: Horizontal, 2: Vertical, 3: Reverse
-camera_outer_right_flip =
-
-# ... for the left outer camera
-camera_outer_left_name =
-camera_outer_left_config =
-camera_outer_left_flip =
-
-# ... for the inner camera
-camera_inner_name =
-camera_inner_config =
-camera_inner_flip =
-
-[Miscellaneous]
-# A filter which removes logs below a certain logging level.
-# Examples: *:Debug Kernel.SVC:Trace Service.*:Critical
-log_filter = *:Info
-
-[Debugging]
-# Record frame time data, can be found in the log directory. Boolean value
-record_frame_times =
-# Port for listening to GDB connections.
-use_gdbstub=false
-gdbstub_port=24689
-# To LLE a service module add "LLE\=true"
-
-[WebService]
-# Whether or not to enable telemetry
-# 0: No, 1 (default): Yes
-enable_telemetry =
-# URL for Web API
-web_api_url = https://api.citra-emu.org
-# Username and token for Citra Web Service
-# See https://profile.citra-emu.org/ for more info
-citra_username =
-citra_token =
-
-[Video Dumping]
-# Format of the video to output, default: webm
-output_format =
-
-# Options passed to the muxer (optional)
-# This is a param package, format: [key1]:[value1],[key2]:[value2],...
-format_options =
-
-# Video encoder used, default: libvpx-vp9
-video_encoder =
-
-# Options passed to the video codec (optional)
-video_encoder_options =
-
-# Video bitrate, default: 2500000
-video_bitrate =
-
-# Audio encoder used, default: libvorbis
-audio_encoder =
-
-# Options passed to the audio codec (optional)
-audio_encoder_options =
-
-# Audio bitrate, default: 64000
-audio_bitrate =
diff --git a/packages/emulators/standalone/citra-sa/config/S922X/citra.gptk b/packages/emulators/standalone/citra-sa/config/S922X/citra.gptk
deleted file mode 100644
index ed00341758..0000000000
--- a/packages/emulators/standalone/citra-sa/config/S922X/citra.gptk
+++ /dev/null
@@ -1,27 +0,0 @@
-back = \\
-start = \\
-a = \\
-b = \\
-x = \\
-y = \\
-l1 = \\
-l2 = \\
-l3 = \\
-r1 = \\
-r2 = \\
-r3 = mouse_left
-up = \\
-down = \\
-left = \\
-right = \\
-left_analog_up = \\
-left_analog_down = \\
-left_analog_left = \\
-left_analog_right = \\
-right_analog_up = mouse_movement_up
-right_analog_down = mouse_movement_down
-right_analog_left = mouse_movement_left
-right_analog_right = mouse_movement_right
-deadzone_triggers = 3000
-mouse_scale = 6128
-mouse_delay = 16
diff --git a/packages/emulators/standalone/citra-sa/config/S922X/sdl2-config.ini b/packages/emulators/standalone/citra-sa/config/S922X/sdl2-config.ini
deleted file mode 100644
index 309512d035..0000000000
--- a/packages/emulators/standalone/citra-sa/config/S922X/sdl2-config.ini
+++ /dev/null
@@ -1,377 +0,0 @@
-
-[Controls]
-# The input devices and parameters for each 3DS native input
-# It should be in the format of "engine:[engine_name],[param1]:[value1],[param2]:[value2]..."
-# Escape characters $0 (for ':'), $1 (for ',') and $2 (for '$') can be used in values
-
-# for button input, the following devices are available:
-# - "keyboard" (default) for keyboard input. Required parameters:
-# - "code": the code of the key to bind
-# - "sdl" for joystick input using SDL. Required parameters:
-# - "joystick": the index of the joystick to bind
-# - "button"(optional): the index of the button to bind
-# - "hat"(optional): the index of the hat to bind as direction buttons
-# - "axis"(optional): the index of the axis to bind
-# - "direction"(only used for hat): the direction name of the hat to bind. Can be "up", "down", "left" or "right"
-# - "threshold"(only used for axis): a float value in (-1.0, 1.0) which the button is
-# triggered if the axis value crosses
-# - "direction"(only used for axis): "+" means the button is triggered when the axis value
-# is greater than the threshold; "-" means the button is triggered when the axis value
-# is smaller than the threshold
-button_a=button:1,engine:sdl,guid:03001354474f2d556c74726120476100,port:0
-button_b=button:0,engine:sdl,guid:03001354474f2d556c74726120476100,port:0
-button_x=button:2,engine:sdl,guid:03001354474f2d556c74726120476100,port:0
-button_y=button:3,engine:sdl,guid:03001354474f2d556c74726120476100,port:0
-button_up=button:8,engine:sdl,guid:03001354474f2d556c74726120476100,port:0
-button_down=button:9,engine:sdl,guid:03001354474f2d556c74726120476100,port:0
-button_left=button:10,engine:sdl,guid:03001354474f2d556c74726120476100,port:0
-button_right=button:11,engine:sdl,guid:03001354474f2d556c74726120476100,port:0
-button_l=button:4,engine:sdl,guid:03001354474f2d556c74726120476100,port:0
-button_r=button:5,engine:sdl,guid:03001354474f2d556c74726120476100,port:0
-button_start=button:17,engine:sdl,guid:03001354474f2d556c74726120476100,port:0
-button_select=button:12,engine:sdl,guid:03001354474f2d556c74726120476100,port:0
-button_debug=
-button_gpio14=
-button_zl=button:6,engine:sdl,guid:03001354474f2d556c74726120476100,port:0
-button_zr=button:7,engine:sdl,guid:03001354474f2d556c74726120476100,port:0
-button_home=
-
-# for analog input, the following devices are available:
-# - "analog_from_button" (default) for emulating analog input from direction buttons. Required parameters:
-# - "up", "down", "left", "right": sub-devices for each direction.
-# Should be in the format as a button input devices using escape characters, for example, "engine$0keyboard$1code$00"
-# - "modifier": sub-devices as a modifier.
-# - "modifier_scale": a float number representing the applied modifier scale to the analog input.
-# Must be in range of 0.0-1.0. Defaults to 0.5
-# - "sdl" for joystick input using SDL. Required parameters:
-# - "joystick": the index of the joystick to bind
-# - "axis_x": the index of the axis to bind as x-axis (default to 0)
-# - "axis_y": the index of the axis to bind as y-axis (default to 1)
-circle_Pad=axis_x:0,axis_y:1,deadzone:0.100000,engine:sdl,guid:03001354474f2d556c74726120476100,port:0
-c_stick=axis_x:2,axis_y:3,deadzone:0.100000,engine:sdl,guid:03001354474f2d556c74726120476100,port:0
-
-# for motion input, the following devices are available:
-# - "motion_emu" (default) for emulating motion input from mouse input. Required parameters:
-# - "update_period": update period in milliseconds (default to 100)
-# - "sensitivity": the coefficient converting mouse movement to tilting angle (default to 0.01)
-# - "tilt_clamp": the max value of the tilt angle in degrees (default to 90)
-# - "cemuhookudp" reads motion input from a udp server that uses cemuhook's udp protocol
-motion_device=
-
-# for touch input, the following devices are available:
-# - "emu_window" (default) for emulating touch input from mouse input to the emulation window. No parameters required
-# - "cemuhookudp" reads touch input from a udp server that uses cemuhook's udp protocol
-# - "min_x", "min_y", "max_x", "max_y": defines the udp device's touch screen coordinate system
-touch_device=
-
-# Most desktop operating systems do not expose a way to poll the motion state of the controllers
-# so as a way around it, cemuhook created a udp client/server protocol to broadcast the data directly
-# from a controller device to the client program. Citra has a client that can connect and read
-# from any cemuhook compatible motion program.
-
-# IPv4 address of the udp input server (Default "127.0.0.1")
-udp_input_address=
-
-# Port of the udp input server. (Default 26760)
-udp_input_port=
-
-# The pad to request data on. Should be between 0 (Pad 1) and 3 (Pad 4). (Default 0)
-udp_pad_index=
-
-[Core]
-# Whether to use the Just-In-Time (JIT) compiler for CPU emulation
-# 0: Interpreter (slow), 1 (default): JIT (fast)
-use_cpu_jit =
-
-# Change the Clock Frequency of the emulated 3DS CPU.
-# Underclocking can increase the performance of the game at the risk of freezing.
-# Overclocking may fix lag that happens on console, but also comes with the risk of freezing.
-# Range is any positive integer (but we suspect 25 - 400 is a good idea) Default is 100
-cpu_clock_percentage = 100
-
-[Renderer]
-# Whether to render using OpenGL or Software
-# 0: Software, 1: OpenGL (default)
-graphics_api = 2
-
-# Whether to render using GLES or OpenGL
-# 0 (default): OpenGL, 1: GLES
-use_gles = 1
-
-# Whether to use hardware shaders to emulate 3DS shaders
-# 0: Software, 1 (default): Hardware
-use_hw_shader =
-
-# Whether to use accurate multiplication in hardware shaders
-# 0: Off (Faster, but causes issues in some games) 1: On (Default. Slower, but correct)
-shaders_accurate_mul = Off
-
-# Whether to use the Just-In-Time (JIT) compiler for shader emulation
-# 0: Interpreter (slow), 1 (default): JIT (fast)
-use_shader_jit =
-
-# Forces VSync on the display thread. Usually doesn't impact performance, but on some drivers it can
-# so only turn this off if you notice a speed difference.
-# 0: Off, 1 (default): On
-use_vsync_new = Off
-
-# Reduce stuttering by storing and loading generated shaders to disk
-# 0: Off, 1 (default. On)
-use_disk_shader_cache =
-
-# Resolution scale factor
-# 0: Auto (scales resolution to window size), 1: Native 3DS screen resolution, Otherwise a scale
-# factor for the 3DS resolution
-resolution_factor = 1
-
-# Texture filter
-# 0: None, 1: Anime4K, 2: Bicubic, 3: Nearest Neighbor, 4: ScaleForce, 5: xBRZ
-texture_filter =
-
-# Limits the speed of the game to run no faster than this value as a percentage of target speed.
-# Will not have an effect if unthrottled is enabled.
-# 5 - 995: Speed limit as a percentage of target game speed. 0 for unthrottled. 100 (default)
-frame_limit =
-
-# Overrides the frame limiter to use frame_limit_alternate instead of frame_limit.
-# 0: Off (default), 1: On
-use_frame_limit_alternate =
-
-# Alternate speed limit to be used instead of frame_limit if use_frame_limit_alternate is enabled
-# 5 - 995: Speed limit as a percentage of target game speed. 0 for unthrottled. 200 (default)
-frame_limit_alternate =
-
-# The clear color for the renderer. What shows up on the sides of the bottom screen.
-# Must be in range of 0.0-1.0. Defaults to 0.0 for all.
-bg_red =
-bg_blue =
-bg_green =
-
-# Whether and how Stereoscopic 3D should be rendered
-# 0 (default): Off, 1: Side by Side, 2: Anaglyph, 3: Interlaced, 4: Reverse Interlaced
-render_3d =
-
-# Change 3D Intensity
-# 0 - 100: Intensity. 0 (default)
-factor_3d =
-
-# Change Default Eye to Render When in Monoscopic Mode
-# 0 (default): Left, 1: Right
-mono_render_option =
-
-# The name of the post processing shader to apply.
-# Loaded from shaders if render_3d is off or side by side.
-pp_shader_name =
-
-# The name of the shader to apply when render_3d is anaglyph.
-# Loaded from shaders/anaglyph
-anaglyph_shader_name =
-
-# Whether to enable linear filtering or not
-# This is required for some shaders to work correctly
-# 0: Nearest, 1 (default): Linear
-filter_mode =
-
-[Layout]
-# Layout for the screen inside the render window.
-# 0 (default): Default Top Bottom Screen
-# 1: Single Screen Only
-# 2: Large Screen Small Screen
-# 3: Side by Side
-# 4: Separate Windows
-layout_option = 3
-
-# Toggle custom layout (using the settings below) on or off.
-# 0 (default): Off, 1: On
-custom_layout = 0
-
-# Screen placement when using Custom layout option
-# 0x, 0y is the top left corner of the render window.
-custom_top_left =
-custom_top_top =
-custom_top_right =
-custom_top_bottom =
-custom_bottom_left =
-custom_bottom_top =
-custom_bottom_right =
-custom_bottom_bottom =
-
-# Opacity of second layer when using custom layout option (bottom screen unless swapped)
-custom_second_layer_opacity =
-
-# Swaps the prominent screen with the other screen.
-# For example, if Single Screen is chosen, setting this to 1 will display the bottom screen instead of the top screen.
-# 0 (default): Top Screen is prominent, 1: Bottom Screen is prominent
-swap_screen = 0
-
-# Toggle upright orientation, for book style games.
-# 0 (default): Off, 1: On
-upright_screen = 0
-
-# The proportion between the large and small screens when playing in Large Screen Small Screen layout.
-# Must be a real value between 1.0 and 16.0. Default is 4
-large_screen_proportion =
-
-# Dumps textures as PNG to dump/textures/[Title ID]/.
-# 0 (default): Off, 1: On
-dump_textures =
-
-# Reads PNG files from load/textures/[Title ID]/ and replaces textures.
-# 0 (default): Off, 1: On
-custom_textures =
-
-# Loads all custom textures into memory before booting.
-# 0 (default): Off, 1: On
-preload_textures =
-
-# Loads custom textures asynchronously with background threads.
-# 0: Off, 1 (default): On
-async_custom_loading =
-
-[Audio]
-# Whether or not to enable DSP LLE
-# 0 (default): No, 1: Yes
-enable_dsp_lle =
-
-# Whether or not to run DSP LLE on a different thread
-# 0 (default): No, 1: Yes
-enable_dsp_lle_thread =
-
-# Whether or not to enable the audio-stretching post-processing effect.
-# This effect adjusts audio speed to match emulation speed and helps prevent audio stutter,
-# at the cost of increasing audio latency.
-# 0: No, 1 (default): Yes
-enable_audio_stretching =
-
-# Output volume.
-# 1.0 (default): 100%, 0.0; mute
-volume =
-
-# Which audio output type to use.
-# 0 (default): Auto-select, 1: No audio output, 2: Cubeb (if available), 3: OpenAL (if available), 4: SDL2 (if available)
-output_type =
-
-# Which audio output device to use.
-# auto (default): Auto-select
-output_device =
-
-# Which audio input type to use.
-# 0 (default): Auto-select, 1: No audio input, 2: Static noise, 3: Cubeb (if available), 4: OpenAL (if available)
-input_type =
-
-# Which audio input device to use.
-# auto (default): Auto-select
-input_device =
-
-[Data Storage]
-# Whether to create a virtual SD card.
-# 1 (default): Yes, 0: No
-use_virtual_sd =
-
-# Whether to use custom storage locations
-# 1: Yes, 0 (default): No
-use_custom_storage =
-
-# The path of the virtual SD card directory.
-# empty (default) will use the user_path
-sdmc_directory =
-
-# The path of NAND directory.
-# empty (default) will use the user_path
-nand_directory =
-
-[System]
-# The system model that Citra will try to emulate
-# 0: Old 3DS, 1: New 3DS (default)
-is_new_3ds =
-
-# The system region that Citra will use during emulation
-# -1: Auto-select (default), 0: Japan, 1: USA, 2: Europe, 3: Australia, 4: China, 5: Korea, 6: Taiwan
-region_value =
-
-# The clock to use when citra starts
-# 0: System clock (default), 1: fixed time
-init_clock =
-
-# Time used when init_clock is set to fixed_time in the format %Y-%m-%d %H:%M:%S
-# set to fixed time. Default 2000-01-01 00:00:01
-# Note: 3DS can only handle times later then Jan 1 2000
-init_time =
-
-[Camera]
-# Which camera engine to use for the right outer camera
-# blank (default): a dummy camera that always returns black image
-camera_outer_right_name =
-
-# A config string for the right outer camera. Its meaning is defined by the camera engine
-camera_outer_right_config =
-
-# The image flip to apply
-# 0: None (default), 1: Horizontal, 2: Vertical, 3: Reverse
-camera_outer_right_flip =
-
-# ... for the left outer camera
-camera_outer_left_name =
-camera_outer_left_config =
-camera_outer_left_flip =
-
-# ... for the inner camera
-camera_inner_name =
-camera_inner_config =
-camera_inner_flip =
-
-[Miscellaneous]
-# A filter which removes logs below a certain logging level.
-# Examples: *:Debug Kernel.SVC:Trace Service.*:Critical
-log_filter = *:Info
-
-[Debugging]
-# Record frame time data, can be found in the log directory. Boolean value
-record_frame_times =
-
-# Port for listening to GDB connections.
-use_gdbstub=false
-gdbstub_port=24689
-
-# Whether to enable additional debugging information during emulation
-# 0 (default): Off, 1: On
-renderer_debug =
-
-# To LLE a service module add "LLE\=true"
-
-[WebService]
-# Whether or not to enable telemetry
-# 0: No, 1 (default): Yes
-enable_telemetry =
-# URL for Web API
-web_api_url = https://api.citra-emu.org
-# Username and token for Citra Web Service
-# See https://profile.citra-emu.org/ for more info
-citra_username =
-citra_token =
-
-[Video Dumping]
-# Format of the video to output, default: webm
-output_format =
-
-# Options passed to the muxer (optional)
-# This is a param package, format: [key1]:[value1],[key2]:[value2],...
-format_options =
-
-# Video encoder used, default: libvpx-vp9
-video_encoder =
-
-# Options passed to the video codec (optional)
-video_encoder_options =
-
-# Video bitrate, default: 2500000
-video_bitrate =
-
-# Audio encoder used, default: libvorbis
-audio_encoder =
-
-# Options passed to the audio codec (optional)
-audio_encoder_options =
-
-# Audio bitrate, default: 64000
-audio_bitrate =
diff --git a/packages/emulators/standalone/citra-sa/package.mk b/packages/emulators/standalone/citra-sa/package.mk
deleted file mode 100644
index f40a59ee78..0000000000
--- a/packages/emulators/standalone/citra-sa/package.mk
+++ /dev/null
@@ -1,55 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-or-later
-# Copyright (C) 2022-present JELOS (https://github.com/JustEnoughLinuxOS)
-
-PKG_NAME="citra-sa"
-PKG_LICENSE="MPLv2"
-PKG_SITE="https://github.com/citra-emu/citra"
-PKG_DEPENDS_TARGET="toolchain ffmpeg mesa SDL2 boost zlib libusb boost zstd control-gen"
-PKG_LONGDESC="Citra 3DS emulator"
-PKG_TOOLCHAIN="cmake"
-GET_HANDLER_SUPPORT="git"
-PKG_PATCH_DIRS+="${DEVICE}"
-
-case ${DEVICE} in
- S922X)
- PKG_URL="${PKG_SITE}.git"
- PKG_VERSION="9b2a592"
- ;;
- *)
- PKG_URL="${PKG_SITE}.git"
- PKG_VERSION="19784355f935df229feda068c4197ccaf62729ee"
- ;;
-esac
-
-if [ ! "${OPENGL}" = "no" ]; then
- PKG_DEPENDS_TARGET+=" ${OPENGL} glu libglvnd"
-fi
-
-if [ "${OPENGLES_SUPPORT}" = yes ]; then
- PKG_DEPENDS_TARGET+=" ${OPENGLES}"
-fi
-
-if [ "${VULKAN_SUPPORT}" = "yes" ]
-then
- PKG_DEPENDS_TARGET+=" vulkan-loader vulkan-headers"
-fi
-
-pre_configure_target() {
-PKG_CMAKE_OPTS_TARGET+=" -DENABLE_QT=OFF \
- -DENABLE_QT_TRANSLATION=OFF \
- -DENABLE_SDL2=ON \
- -DCITRA_WARNINGS_AS_ERRORS=OFF \
- -DUSE_DISCORD_PRESENCE=OFF"
-
-}
-
-makeinstall_target() {
- mkdir -p ${INSTALL}/usr/bin
- cp ${PKG_BUILD}/.${TARGET_NAME}/bin/MinSizeRel/citra ${INSTALL}/usr/bin/citra
- cp ${PKG_DIR}/scripts/* ${INSTALL}/usr/bin
-
- chmod +x ${INSTALL}/usr/bin/start_citra.sh
-
- mkdir -p ${INSTALL}/usr/config/citra-emu
- cp -rf ${PKG_DIR}/config/${DEVICE}/* ${INSTALL}/usr/config/citra-emu
-}
diff --git a/packages/emulators/standalone/citra-sa/patches/000-fix-sdl.patch b/packages/emulators/standalone/citra-sa/patches/000-fix-sdl.patch
deleted file mode 100644
index 96ffbe8ad9..0000000000
--- a/packages/emulators/standalone/citra-sa/patches/000-fix-sdl.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/citra/emu_window/emu_window_sdl2_vk.cpp b/src/citra/emu_window/emu_window_sdl2_vk.cpp
-index d6c103955..9402fd9f0 100644
---- a/src/citra/emu_window/emu_window_sdl2_vk.cpp
-+++ b/src/citra/emu_window/emu_window_sdl2_vk.cpp
-@@ -24,7 +24,7 @@ EmuWindow_SDL2_VK::EmuWindow_SDL2_VK(bool fullscreen, bool is_secondary)
- SDL_WINDOWPOS_UNDEFINED, // x position
- SDL_WINDOWPOS_UNDEFINED, // y position
- Core::kScreenTopWidth, Core::kScreenTopHeight + Core::kScreenBottomHeight,
-- SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE | SDL_WINDOW_ALLOW_HIGHDPI);
-+ SDL_WINDOW_VULKAN | SDL_WINDOW_RESIZABLE | SDL_WINDOW_ALLOW_HIGHDPI);
- SDL_SysWMinfo wm;
- SDL_VERSION(&wm.version);
- if (SDL_GetWindowWMInfo(render_window, &wm) == SDL_FALSE) {
diff --git a/packages/emulators/standalone/citra-sa/patches/S922X/001-revert-renderer-vulkan-fixup.patch b/packages/emulators/standalone/citra-sa/patches/S922X/001-revert-renderer-vulkan-fixup.patch
deleted file mode 100644
index d5a221ce96..0000000000
--- a/packages/emulators/standalone/citra-sa/patches/S922X/001-revert-renderer-vulkan-fixup.patch
+++ /dev/null
@@ -1,339 +0,0 @@
-diff --git a/src/citra_qt/bootmanager.cpp b/src/citra_qt/bootmanager.cpp
-index ca2289b79..83dd77594 100644
---- a/src/citra_qt/bootmanager.cpp
-+++ b/src/citra_qt/bootmanager.cpp
-@@ -686,9 +686,9 @@ void GRenderWindow::CaptureScreenshot(u32 res_scale, const QString& screenshot_p
- screenshot_image = QImage(QSize(layout.width, layout.height), QImage::Format_RGB32);
- system.Renderer().RequestScreenshot(
- screenshot_image.bits(),
-- [this, screenshot_path](bool invert_y) {
-+ [this, screenshot_path] {
- const std::string std_screenshot_path = screenshot_path.toStdString();
-- if (screenshot_image.mirrored(false, invert_y).save(screenshot_path)) {
-+ if (screenshot_image.mirrored(false, true).save(screenshot_path)) {
- LOG_INFO(Frontend, "Screenshot saved to \"{}\"", std_screenshot_path);
- } else {
- LOG_ERROR(Frontend, "Failed to save screenshot to \"{}\"", std_screenshot_path);
-diff --git a/src/video_core/renderer_base.cpp b/src/video_core/renderer_base.cpp
-index 112d95436..79986592b 100644
---- a/src/video_core/renderer_base.cpp
-+++ b/src/video_core/renderer_base.cpp
-@@ -59,7 +59,7 @@ bool RendererBase::IsScreenshotPending() const {
- return settings.screenshot_requested;
- }
-
--void RendererBase::RequestScreenshot(void* data, std::function callback,
-+void RendererBase::RequestScreenshot(void* data, std::function callback,
- const Layout::FramebufferLayout& layout) {
- if (settings.screenshot_requested) {
- LOG_ERROR(Render, "A screenshot is already requested or in progress, ignoring the request");
-diff --git a/src/video_core/renderer_base.h b/src/video_core/renderer_base.h
-index 55cb90d0b..d6958ec1e 100644
---- a/src/video_core/renderer_base.h
-+++ b/src/video_core/renderer_base.h
-@@ -28,7 +28,7 @@ struct RendererSettings {
- // Screenshot
- std::atomic_bool screenshot_requested{false};
- void* screenshot_bits{};
-- std::function screenshot_complete_callback;
-+ std::function screenshot_complete_callback;
- Layout::FramebufferLayout screenshot_framebuffer_layout;
- // Renderer
- std::atomic_bool bg_color_update_requested{false};
-@@ -103,7 +103,7 @@ public:
- [[nodiscard]] bool IsScreenshotPending() const;
-
- /// Request a screenshot of the next frame
-- void RequestScreenshot(void* data, std::function callback,
-+ void RequestScreenshot(void* data, std::function callback,
- const Layout::FramebufferLayout& layout);
-
- protected:
-diff --git a/src/video_core/renderer_opengl/renderer_opengl.cpp b/src/video_core/renderer_opengl/renderer_opengl.cpp
-index c58f07a2c..f94109378 100644
---- a/src/video_core/renderer_opengl/renderer_opengl.cpp
-+++ b/src/video_core/renderer_opengl/renderer_opengl.cpp
-@@ -151,7 +151,7 @@ void RendererOpenGL::RenderScreenshot() {
- state.Apply();
- glDeleteRenderbuffers(1, &renderbuffer);
-
-- settings.screenshot_complete_callback(true);
-+ settings.screenshot_complete_callback();
- }
- }
-
-diff --git a/src/video_core/renderer_vulkan/renderer_vulkan.cpp b/src/video_core/renderer_vulkan/renderer_vulkan.cpp
-index 5986b3b7e..7c82b8bcc 100644
---- a/src/video_core/renderer_vulkan/renderer_vulkan.cpp
-+++ b/src/video_core/renderer_vulkan/renderer_vulkan.cpp
-@@ -6,7 +6,6 @@
- #include "common/logging/log.h"
- #include "common/microprofile.h"
- #include "common/settings.h"
--#include "common/texture.h"
- #include "core/core.h"
- #include "core/frontend/emu_window.h"
- #include "core/hw/gpu.h"
-@@ -19,7 +18,6 @@
- #include "video_core/host_shaders/vulkan_present_frag_spv.h"
- #include "video_core/host_shaders/vulkan_present_interlaced_frag_spv.h"
- #include "video_core/host_shaders/vulkan_present_vert_spv.h"
--#include "vulkan/vulkan_format_traits.hpp"
-
- #include
-
-@@ -869,9 +867,20 @@ void RendererVulkan::RenderScreenshot() {
- const u32 width = layout.width;
- const u32 height = layout.height;
-
-- const vk::BufferCreateInfo staging_buffer_info = {
-- .size = width * height * 4,
-- .usage = vk::BufferUsageFlagBits::eTransferDst,
-+ const vk::ImageCreateInfo staging_image_info = {
-+ .imageType = vk::ImageType::e2D,
-+ .format = vk::Format::eB8G8R8A8Unorm,
-+ .extent{
-+ .width = width,
-+ .height = height,
-+ .depth = 1,
-+ },
-+ .mipLevels = 1,
-+ .arrayLayers = 1,
-+ .samples = vk::SampleCountFlagBits::e1,
-+ .tiling = vk::ImageTiling::eLinear,
-+ .usage = vk::ImageUsageFlagBits::eTransferDst,
-+ .initialLayout = vk::ImageLayout::eUndefined,
- };
-
- const VmaAllocationCreateInfo alloc_create_info = {
-@@ -884,18 +893,18 @@ void RendererVulkan::RenderScreenshot() {
- .pUserData = nullptr,
- };
-
-- VkBuffer unsafe_buffer{};
-+ VkImage unsafe_image{};
- VmaAllocation allocation{};
- VmaAllocationInfo alloc_info;
-- VkBufferCreateInfo unsafe_buffer_info = static_cast(staging_buffer_info);
-+ VkImageCreateInfo unsafe_image_info = static_cast(staging_image_info);
-
-- VkResult result = vmaCreateBuffer(instance.GetAllocator(), &unsafe_buffer_info,
-- &alloc_create_info, &unsafe_buffer, &allocation, &alloc_info);
-+ VkResult result = vmaCreateImage(instance.GetAllocator(), &unsafe_image_info,
-+ &alloc_create_info, &unsafe_image, &allocation, &alloc_info);
- if (result != VK_SUCCESS) [[unlikely]] {
- LOG_CRITICAL(Render_Vulkan, "Failed allocating texture with error {}", result);
- UNREACHABLE();
- }
-- vk::Buffer staging_buffer{unsafe_buffer};
-+ vk::Image staging_image{unsafe_image};
-
- Frame frame{};
- main_window.RecreateFrame(&frame, width, height);
-@@ -903,37 +912,73 @@ void RendererVulkan::RenderScreenshot() {
- DrawScreens(&frame, layout, false);
-
- scheduler.Record(
-- [width, height, source_image = frame.image, staging_buffer](vk::CommandBuffer cmdbuf) {
-- const vk::ImageMemoryBarrier read_barrier = {
-- .srcAccessMask = vk::AccessFlagBits::eMemoryWrite,
-- .dstAccessMask = vk::AccessFlagBits::eTransferRead,
-- .oldLayout = vk::ImageLayout::eTransferSrcOptimal,
-- .newLayout = vk::ImageLayout::eTransferSrcOptimal,
-- .srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
-- .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
-- .image = source_image,
-- .subresourceRange{
-- .aspectMask = vk::ImageAspectFlagBits::eColor,
-- .baseMipLevel = 0,
-- .levelCount = VK_REMAINING_MIP_LEVELS,
-- .baseArrayLayer = 0,
-- .layerCount = VK_REMAINING_ARRAY_LAYERS,
-+ [width, height, source_image = frame.image, staging_image](vk::CommandBuffer cmdbuf) {
-+ const std::array read_barriers = {
-+ vk::ImageMemoryBarrier{
-+ .srcAccessMask = vk::AccessFlagBits::eMemoryWrite,
-+ .dstAccessMask = vk::AccessFlagBits::eTransferRead,
-+ .oldLayout = vk::ImageLayout::eTransferSrcOptimal,
-+ .newLayout = vk::ImageLayout::eTransferSrcOptimal,
-+ .srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
-+ .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
-+ .image = source_image,
-+ .subresourceRange{
-+ .aspectMask = vk::ImageAspectFlagBits::eColor,
-+ .baseMipLevel = 0,
-+ .levelCount = VK_REMAINING_MIP_LEVELS,
-+ .baseArrayLayer = 0,
-+ .layerCount = VK_REMAINING_ARRAY_LAYERS,
-+ },
-+ },
-+ vk::ImageMemoryBarrier{
-+ .srcAccessMask = vk::AccessFlagBits::eNone,
-+ .dstAccessMask = vk::AccessFlagBits::eTransferWrite,
-+ .oldLayout = vk::ImageLayout::eUndefined,
-+ .newLayout = vk::ImageLayout::eTransferDstOptimal,
-+ .srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
-+ .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
-+ .image = staging_image,
-+ .subresourceRange{
-+ .aspectMask = vk::ImageAspectFlagBits::eColor,
-+ .baseMipLevel = 0,
-+ .levelCount = VK_REMAINING_MIP_LEVELS,
-+ .baseArrayLayer = 0,
-+ .layerCount = VK_REMAINING_ARRAY_LAYERS,
-+ },
- },
- };
-- const vk::ImageMemoryBarrier write_barrier = {
-- .srcAccessMask = vk::AccessFlagBits::eTransferRead,
-- .dstAccessMask = vk::AccessFlagBits::eMemoryWrite,
-- .oldLayout = vk::ImageLayout::eTransferSrcOptimal,
-- .newLayout = vk::ImageLayout::eTransferSrcOptimal,
-- .srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
-- .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
-- .image = source_image,
-- .subresourceRange{
-- .aspectMask = vk::ImageAspectFlagBits::eColor,
-- .baseMipLevel = 0,
-- .levelCount = VK_REMAINING_MIP_LEVELS,
-- .baseArrayLayer = 0,
-- .layerCount = VK_REMAINING_ARRAY_LAYERS,
-+ const std::array write_barriers = {
-+ vk::ImageMemoryBarrier{
-+ .srcAccessMask = vk::AccessFlagBits::eTransferRead,
-+ .dstAccessMask = vk::AccessFlagBits::eMemoryWrite,
-+ .oldLayout = vk::ImageLayout::eTransferSrcOptimal,
-+ .newLayout = vk::ImageLayout::eTransferSrcOptimal,
-+ .srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
-+ .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
-+ .image = source_image,
-+ .subresourceRange{
-+ .aspectMask = vk::ImageAspectFlagBits::eColor,
-+ .baseMipLevel = 0,
-+ .levelCount = VK_REMAINING_MIP_LEVELS,
-+ .baseArrayLayer = 0,
-+ .layerCount = VK_REMAINING_ARRAY_LAYERS,
-+ },
-+ },
-+ vk::ImageMemoryBarrier{
-+ .srcAccessMask = vk::AccessFlagBits::eTransferWrite,
-+ .dstAccessMask = vk::AccessFlagBits::eMemoryRead,
-+ .oldLayout = vk::ImageLayout::eTransferDstOptimal,
-+ .newLayout = vk::ImageLayout::eGeneral,
-+ .srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
-+ .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
-+ .image = staging_image,
-+ .subresourceRange{
-+ .aspectMask = vk::ImageAspectFlagBits::eColor,
-+ .baseMipLevel = 0,
-+ .levelCount = VK_REMAINING_MIP_LEVELS,
-+ .baseArrayLayer = 0,
-+ .layerCount = VK_REMAINING_ARRAY_LAYERS,
-+ },
- },
- };
- static constexpr vk::MemoryBarrier memory_write_barrier = {
-@@ -941,29 +986,41 @@ void RendererVulkan::RenderScreenshot() {
- .dstAccessMask = vk::AccessFlagBits::eMemoryRead | vk::AccessFlagBits::eMemoryWrite,
- };
-
-- const vk::BufferImageCopy image_copy = {
-- .bufferOffset = 0,
-- .bufferRowLength = 0,
-- .bufferImageHeight = 0,
-- .imageSubresource =
-- {
-- .aspectMask = vk::ImageAspectFlagBits::eColor,
-- .mipLevel = 0,
-- .baseArrayLayer = 0,
-- .layerCount = 1,
-- },
-- .imageOffset = {0, 0, 0},
-- .imageExtent = {width, height, 1},
-+ const std::array src_offsets = {
-+ vk::Offset3D{0, 0, 0},
-+ vk::Offset3D{static_cast(width), static_cast(height), 1},
-+ };
-+
-+ const std::array dst_offsets = {
-+ vk::Offset3D{0, static_cast(height), 0},
-+ vk::Offset3D{static_cast(width), 0, 1},
-+ };
-+
-+ const vk::ImageBlit blit_area = {
-+ .srcSubresource{
-+ .aspectMask = vk::ImageAspectFlagBits::eColor,
-+ .mipLevel = 0,
-+ .baseArrayLayer = 0,
-+ .layerCount = 1,
-+ },
-+ .srcOffsets = src_offsets,
-+ .dstSubresource{
-+ .aspectMask = vk::ImageAspectFlagBits::eColor,
-+ .mipLevel = 0,
-+ .baseArrayLayer = 0,
-+ .layerCount = 1,
-+ },
-+ .dstOffsets = dst_offsets,
- };
-
- cmdbuf.pipelineBarrier(vk::PipelineStageFlagBits::eAllCommands,
- vk::PipelineStageFlagBits::eTransfer,
-- vk::DependencyFlagBits::eByRegion, {}, {}, read_barrier);
-- cmdbuf.copyImageToBuffer(source_image, vk::ImageLayout::eTransferSrcOptimal,
-- staging_buffer, image_copy);
-+ vk::DependencyFlagBits::eByRegion, {}, {}, read_barriers);
-+ cmdbuf.blitImage(source_image, vk::ImageLayout::eTransferSrcOptimal, staging_image,
-+ vk::ImageLayout::eTransferDstOptimal, blit_area, vk::Filter::eNearest);
- cmdbuf.pipelineBarrier(
- vk::PipelineStageFlagBits::eTransfer, vk::PipelineStageFlagBits::eAllCommands,
-- vk::DependencyFlagBits::eByRegion, memory_write_barrier, {}, write_barrier);
-+ vk::DependencyFlagBits::eByRegion, memory_write_barrier, {}, write_barriers);
- });
-
- // Ensure the copy is fully completed before saving the screenshot
-@@ -971,16 +1028,27 @@ void RendererVulkan::RenderScreenshot() {
-
- const vk::Device device = instance.GetDevice();
-
-+ // Get layout of the image (including row pitch)
-+ const vk::ImageSubresource subresource = {
-+ .aspectMask = vk::ImageAspectFlagBits::eColor,
-+ .mipLevel = 0,
-+ .arrayLayer = 0,
-+ };
-+
-+ const vk::SubresourceLayout subresource_layout =
-+ device.getImageSubresourceLayout(staging_image, subresource);
-+
- // Copy backing image data to the QImage screenshot buffer
-- std::memcpy(settings.screenshot_bits, alloc_info.pMappedData, staging_buffer_info.size);
-+ const u8* data = reinterpret_cast(alloc_info.pMappedData);
-+ std::memcpy(settings.screenshot_bits, data + subresource_layout.offset,
-+ subresource_layout.size);
-
- // Destroy allocated resources
-- vmaDestroyBuffer(instance.GetAllocator(), unsafe_buffer, allocation);
- vmaDestroyImage(instance.GetAllocator(), frame.image, frame.allocation);
- device.destroyFramebuffer(frame.framebuffer);
- device.destroyImageView(frame.image_view);
-
-- settings.screenshot_complete_callback(false);
-+ settings.screenshot_complete_callback();
- }
-
- } // namespace Vulkan
-diff --git a/src/video_core/renderer_vulkan/vk_swapchain.cpp b/src/video_core/renderer_vulkan/vk_swapchain.cpp
-index ee83e0378..260839c8f 100644
---- a/src/video_core/renderer_vulkan/vk_swapchain.cpp
-+++ b/src/video_core/renderer_vulkan/vk_swapchain.cpp
-@@ -150,7 +150,8 @@ void Swapchain::FindPresentFormat() {
- return;
- }
-
-- UNREACHABLE_MSG("Unable to find required swapchain format!");
-+ LOG_CRITICAL(Render_Vulkan, "Unable to find required swapchain format!");
-+ UNREACHABLE();
- }
-
- void Swapchain::SetPresentMode() {
diff --git a/packages/emulators/standalone/citra-sa/scripts/start_citra.sh b/packages/emulators/standalone/citra-sa/scripts/start_citra.sh
deleted file mode 100644
index 5b13e18621..0000000000
--- a/packages/emulators/standalone/citra-sa/scripts/start_citra.sh
+++ /dev/null
@@ -1,156 +0,0 @@
-#!/bin/bash
-
-# SPDX-License-Identifier: GPL-2.0-or-later
-# Copyright (C) 2022-present JELOS (https://github.com/JustEnoughLinuxOS)
-
-. /etc/profile
-jslisten set "-9 citra"
-
-#load gptokeyb support files
-control-gen_init.sh
-source /storage/.config/gptokeyb/control.ini
-get_controls
-
-if [ ! -d "/storage/.config/citra-emu" ]; then
- mkdir -p "/storage/.config/citra-emu"
- cp -r "/usr/config/citra-emu" "/storage/.config/"
-fi
-
-#Make sure citra gptk config exists
-if [ ! -f "/storage/.config/citra-emu/citra.gptk" ]; then
- cp -r "/usr/config/citra-emu/citra.gptk" "/storage/.config/citra-emu/citra.gptk"
-fi
-
-#Move sdmc & nand to 3ds roms folder
-if [ ! -d "/storage/roms/3ds/citrasa/sdmc" ]; then
- mkdir -p "/storage/roms/3ds/citrasa/sdmc"
-fi
-
-rm -rf /storage/.config/citra-emu/sdmc
-ln -sf /storage/roms/3ds/citrasa/sdmc /storage/.config/citra-emu/sdmc
-
-if [ ! -d "/storage/roms/3ds/citrasa/nand" ]; then
- mkdir -p "/storage/roms/3ds/citrasa/nand"
-fi
-
-rm -rf /storage/.config/citra-emu/nand
-ln -sf /storage/roms/3ds/citrasa/nand /storage/.config/citra-emu/nand
-
-
- #Emulation Station Features
- GAME=$(echo "${1}"| sed "s#^/.*/##")
- CPU=$(get_setting cpu_speed 3ds "${GAME}")
- EMOUSE=$(get_setting emulate_mouse 3ds "${GAME}")
- RENDERER=$(get_setting graphics_backend 3ds "${GAME}")
- RES=$(get_setting resolution_scale 3ds "${GAME}")
- ROTATE=$(get_setting rotate_screen 3ds "${GAME}")
- SLAYOUT=$(get_setting screen_layout 3ds "${GAME}")
-
- #CPU Underclock
- if [ "$CPU" = "0" ]
- then
- sed -i '/cpu_clock_percentage =/c\cpu_clock_percentage = 100' /storage/.config/citra-emu/sdl2-config.ini
- fi
- if [ "$CPU" = "1" ]
- then
- sed -i '/cpu_clock_percentage =/c\cpu_clock_percentage = 90' /storage/.config/citra-emu/sdl2-config.ini
- fi
- if [ "$CPU" = "2" ]
- then
- sed -i '/cpu_clock_percentage =/c\cpu_clock_percentage = 80' /storage/.config/citra-emu/sdl2-config.ini
- fi
- if [ "$CPU" = "3" ]
- then
- sed -i '/cpu_clock_percentage =/c\cpu_clock_percentage = 70' /storage/.config/citra-emu/sdl2-config.ini
- fi
- if [ "$CPU" = "4" ]
- then
- sed -i '/cpu_clock_percentage =/c\cpu_clock_percentage = 60' /storage/.config/citra-emu/sdl2-config.ini
- fi
- if [ "$CPU" = "5" ]
- then
- sed -i '/cpu_clock_percentage =/c\cpu_clock_percentage = 50' /storage/.config/citra-emu/sdl2-config.ini
- fi
-
- #Resolution Scale
- if [ "$RES" = "0" ]
- then
- sed -i '/resolution_factor =/c\resolution_factor = 0' /storage/.config/citra-emu/sdl2-config.ini
- fi
- if [ "$RES" = "1" ]
- then
- sed -i '/resolution_factor =/c\resolution_factor = 1' /storage/.config/citra-emu/sdl2-config.ini
- fi
- if [ "$RES" = "2" ]
- then
- sed -i '/resolution_factor =/c\resolution_factor = 2' /storage/.config/citra-emu/sdl2-config.ini
- fi
-
- #Rotate Screen
- if [ "$ROTATE" = "0" ]
- then
- sed -i '/upright_screen =/c\upright_screen = 0' /storage/.config/citra-emu/sdl2-config.ini
- fi
- if [ "$ROTATE" = "1" ]
- then
- sed -i '/upright_screen =/c\upright_screen = 1' /storage/.config/citra-emu/sdl2-config.ini
- fi
-
- #Screen Layout
- if [ "$SLAYOUT" = "0" ]
- then
- sed -i '/layout_option =/c\layout_option = 0' /storage/.config/citra-emu/sdl2-config.ini
- sed -i '/swap_screen =/c\swap_screen = 0' /storage/.config/citra-emu/sdl2-config.ini
- sed -i '/custom_layout =/c\custom_layout = 0' /storage/.config/citra-emu/sdl2-config.ini
- fi
- if [ "$SLAYOUT" = "1a" ]
- then
- sed -i '/layout_option =/c\layout_option = 1' /storage/.config/citra-emu/sdl2-config.ini
- sed -i '/swap_screen =/c\swap_screen = 0' /storage/.config/citra-emu/sdl2-config.ini
- sed -i '/custom_layout =/c\custom_layout = 0' /storage/.config/citra-emu/sdl2-config.ini
- fi
- if [ "$SLAYOUT" = "1b" ]
- then
- sed -i '/layout_option =/c\layout_option = 1' /storage/.config/citra-emu/sdl2-config.ini
- sed -i '/swap_screen =/c\swap_screen = 1' /storage/.config/citra-emu/sdl2-config.ini
- sed -i '/custom_layout =/c\custom_layout = 0' /storage/.config/citra-emu/sdl2-config.ini
- fi
- if [ "$SLAYOUT" = "2" ]
- then
- sed -i '/layout_option =/c\layout_option = 2' /storage/.config/citra-emu/sdl2-config.ini
- sed -i '/swap_screen =/c\swap_screen = 0' /storage/.config/citra-emu/sdl2-config.ini
- sed -i '/custom_layout =/c\custom_layout = 0' /storage/.config/citra-emu/sdl2-config.ini
- fi
- if [ "$SLAYOUT" = "3" ]
- then
- sed -i '/layout_option =/c\layout_option = 3' /storage/.config/citra-emu/sdl2-config.ini
- sed -i '/swap_screen =/c\swap_screen = 0' /storage/.config/citra-emu/sdl2-config.ini
- sed -i '/custom_layout =/c\custom_layout = 0' /storage/.config/citra-emu/sdl2-config.ini
- fi
- if [ "$SLAYOUT" = "4" ]
- then
- sed -i '/layout_option =/c\layout_option = 0' /storage/.config/citra-emu/sdl2-config.ini
- sed -i '/swap_screen =/c\swap_screen = 0' /storage/.config/citra-emu/sdl2-config.ini
- sed -i '/custom_layout =/c\custom_layout = 1' /storage/.config/citra-emu/sdl2-config.ini
- fi
-
- #Video Backend
- if [ "$RENDERER" = "1" ]
- then
- sed -i '/graphics_api =/c\graphics_api = 1' /storage/.config/citra-emu/sdl2-config.ini
- else
- sed -i '/graphics_api =/c\graphics_api = 2' /storage/.config/citra-emu/sdl2-config.ini
- fi
-
-rm -rf /storage/.local/share/citra-emu
-ln -sfv /storage/.config/citra-emu /storage/.local/share/citra-emu
-
-#Run Citra Emulator
-if [ "$EMOUSE" = "0" ]
-then
- /usr/bin/citra "${1}"
-else
- $GPTOKEYB "citra" -c "/storage/.config/citra-emu/citra.gptk" &
- /usr/bin/citra "${1}"
- kill -9 $(pidof gptokeyb)
-fi
diff --git a/packages/emulators/standalone/dolphin-sa/config/AMD64/GCPadNew.ini.south b/packages/emulators/standalone/dolphin-sa/config/AMD64/GCPadNew.ini.south
index 5f53f4e8a9..28c2f75c0e 100644
--- a/packages/emulators/standalone/dolphin-sa/config/AMD64/GCPadNew.ini.south
+++ b/packages/emulators/standalone/dolphin-sa/config/AMD64/GCPadNew.ini.south
@@ -2,11 +2,11 @@
Device = evdev/0/Microsoft X-Box 360 pad
Buttons/A = Button 0
Buttons/B = Button 2
-Buttons/Start = Button 6
+Buttons/Start = Button 7
Buttons/X = Button 1
Buttons/Y = Button 3
Buttons/Z = Button 5
-Buttons/Hotkey = Button 7
+Buttons/Hotkey = Button 6
C-Stick/Dead Zone = 25.000000000000000
C-Stick/Down = Axis 4+
C-Stick/Left = Axis 3-
diff --git a/packages/emulators/standalone/dolphin-sa/config/AMD64/GCPadNew.ini.west b/packages/emulators/standalone/dolphin-sa/config/AMD64/GCPadNew.ini.west
index 22884a3fdf..fde9060784 100644
--- a/packages/emulators/standalone/dolphin-sa/config/AMD64/GCPadNew.ini.west
+++ b/packages/emulators/standalone/dolphin-sa/config/AMD64/GCPadNew.ini.west
@@ -2,11 +2,11 @@
Device = evdev/0/Microsoft X-Box 360 pad
Buttons/A = Button 1
Buttons/B = Button 0
-Buttons/Start = Button 6
+Buttons/Start = Button 7
Buttons/X = Button 3
Buttons/Y = Button 2
Buttons/Z = Button 5
-Buttons/Hotkey = Button 7
+Buttons/Hotkey = Button 6
C-Stick/Dead Zone = 25.000000000000000
C-Stick/Down = Axis 4+
C-Stick/Left = Axis 3-
diff --git a/packages/emulators/standalone/dolphin-sa/config/RK3399/GCPadNew.ini.south b/packages/emulators/standalone/dolphin-sa/config/RK3399/GCPadNew.ini.south
index d771fe1717..a874ac5106 100755
--- a/packages/emulators/standalone/dolphin-sa/config/RK3399/GCPadNew.ini.south
+++ b/packages/emulators/standalone/dolphin-sa/config/RK3399/GCPadNew.ini.south
@@ -2,11 +2,11 @@
Device = evdev/0/rg552_joypad
Buttons/A = Button 0
Buttons/B = Button 3
-Buttons/Start = Button 8
+Buttons/Start = Button 9
Buttons/X = Button 1
Buttons/Y = Button 2
Buttons/Z = Button 7
-Buttons/Hotkey = Button 9
+Buttons/Hotkey = Button 8
C-Stick/Dead Zone = 25.000000000000000
C-Stick/Down = Axis 3+
C-Stick/Left = Axis 2-
diff --git a/packages/emulators/standalone/dolphin-sa/config/RK3399/GCPadNew.ini.west b/packages/emulators/standalone/dolphin-sa/config/RK3399/GCPadNew.ini.west
index e5b9049819..2e4ddd2ef5 100755
--- a/packages/emulators/standalone/dolphin-sa/config/RK3399/GCPadNew.ini.west
+++ b/packages/emulators/standalone/dolphin-sa/config/RK3399/GCPadNew.ini.west
@@ -2,11 +2,11 @@
Device = evdev/0/rg552_joypad
Buttons/A = Button 1
Buttons/B = Button 0
-Buttons/Start = Button 8
+Buttons/Start = Button 9
Buttons/X = Button 2
Buttons/Y = Button 3
Buttons/Z = Button 7
-Buttons/Hotkey = Button 9
+Buttons/Hotkey = Button 8
C-Stick/Dead Zone = 25.000000000000000
C-Stick/Down = Axis 3+
C-Stick/Left = Axis 2-
diff --git a/packages/emulators/standalone/dolphin-sa/config/RK3566-X55/Dolphin.ini b/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP-X55/Dolphin.ini
similarity index 100%
rename from packages/emulators/standalone/dolphin-sa/config/RK3566-X55/Dolphin.ini
rename to packages/emulators/standalone/dolphin-sa/config/RK3566-BSP-X55/Dolphin.ini
diff --git a/packages/emulators/standalone/dolphin-sa/config/RK3566-X55/GCPadNew.ini b/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP-X55/GCPadNew.ini
similarity index 100%
rename from packages/emulators/standalone/dolphin-sa/config/RK3566-X55/GCPadNew.ini
rename to packages/emulators/standalone/dolphin-sa/config/RK3566-BSP-X55/GCPadNew.ini
diff --git a/packages/emulators/standalone/dolphin-sa/config/RK3566-X55/GFX.ini b/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP-X55/GFX.ini
similarity index 100%
rename from packages/emulators/standalone/dolphin-sa/config/RK3566-X55/GFX.ini
rename to packages/emulators/standalone/dolphin-sa/config/RK3566-BSP-X55/GFX.ini
diff --git a/packages/emulators/standalone/dolphin-sa/config/RK3566-X55/WiiControllerProfiles/classic.ini b/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP-X55/WiiControllerProfiles/classic.ini
similarity index 100%
rename from packages/emulators/standalone/dolphin-sa/config/RK3566-X55/WiiControllerProfiles/classic.ini
rename to packages/emulators/standalone/dolphin-sa/config/RK3566-BSP-X55/WiiControllerProfiles/classic.ini
diff --git a/packages/emulators/standalone/dolphin-sa/config/RK3566-X55/WiiControllerProfiles/nunchuck.ini b/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP-X55/WiiControllerProfiles/nunchuck.ini
similarity index 100%
rename from packages/emulators/standalone/dolphin-sa/config/RK3566-X55/WiiControllerProfiles/nunchuck.ini
rename to packages/emulators/standalone/dolphin-sa/config/RK3566-BSP-X55/WiiControllerProfiles/nunchuck.ini
diff --git a/packages/emulators/standalone/dolphin-sa/config/RK3566-X55/WiiControllerProfiles/remote.ini b/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP-X55/WiiControllerProfiles/remote.ini
similarity index 100%
rename from packages/emulators/standalone/dolphin-sa/config/RK3566-X55/WiiControllerProfiles/remote.ini
rename to packages/emulators/standalone/dolphin-sa/config/RK3566-BSP-X55/WiiControllerProfiles/remote.ini
diff --git a/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP/Dolphin.ini b/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP/Dolphin.ini
new file mode 100755
index 0000000000..65c34791f7
--- /dev/null
+++ b/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP/Dolphin.ini
@@ -0,0 +1,148 @@
+[General]
+LastFilename =
+ShowLag = False
+ShowFrameCount = False
+ISOPaths = 1
+RecursiveISOPaths = False
+NANDRootPath =
+WirelessMac =
+[Interface]
+ConfirmStop = True
+UsePanicHandlers = True
+OnScreenDisplayMessages = True
+HideCursor = False
+AutoHideCursor = False
+MainWindowPosX = 403
+MainWindowPosY = 148
+MainWindowWidth = 800
+MainWindowHeight = 600
+Language = 0
+ShowToolbar = True
+ShowStatusbar = True
+ShowLogWindow = False
+ShowLogConfigWindow = False
+ExtendedFPSInfo = False
+ThemeName40 = Clean Blue
+PauseOnFocusLost = False
+[Display]
+FullscreenResolution = Auto
+Fullscreen = True
+RenderToMain = False
+RenderWindowXPos = -1
+RenderWindowYPos = -1
+RenderWindowWidth = 640
+RenderWindowHeight = 480
+RenderWindowAutoSize = False
+KeepWindowOnTop = False
+ProgressiveScan = False
+PAL60 = True
+DisableScreenSaver = True
+ForceNTSCJ = False
+[GameList]
+ListDrives = False
+ListWad = True
+ListElfDol = True
+ListWii = True
+ListGC = True
+ListJap = True
+ListPal = True
+ListUsa = True
+ListAustralia = True
+ListFrance = True
+ListGermany = True
+ListItaly = True
+ListKorea = True
+ListNetherlands = True
+ListRussia = True
+ListSpain = True
+ListTaiwan = True
+ListWorld = True
+ListUnknown = True
+ListSort = 3
+ListSortSecondary = 0
+ColorCompressed = True
+ColumnPlatform = True
+ColumnBanner = True
+ColumnNotes = True
+ColumnFileName = False
+ColumnID = False
+ColumnRegion = True
+ColumnSize = True
+ColumnState = True
+[Core]
+HLE_BS2 = False
+TimingVariance = 40
+CPUCore = 4
+Fastmem = True
+CPUThread = True
+DSPHLE = True
+SkipIdle = True
+SyncOnSkipIdle = True
+SyncGPU = False
+SyncGpuMaxDistance = 200000
+SyncGpuMinDistance = -200000
+SyncGpuOverclock = 1.00000000
+FPRF = False
+AccurateNaNs = False
+DefaultISO =
+DVDRoot =
+Apploader =
+EnableCheats = True
+SelectedLanguage = 0
+OverrideGCLang = False
+DPL2Decoder = False
+Latency = 2
+MemcardAPath =
+MemcardBPath =
+AgpCartAPath =
+AgpCartBPath =
+SlotA = 1
+SlotB = 255
+SerialPort1 = 255
+BBA_MAC =
+SIDevice0 = 6
+AdapterRumble0 = True
+SimulateKonga0 = False
+SIDevice1 = 6
+AdapterRumble1 = True
+SimulateKonga1 = False
+SIDevice2 = 0
+AdapterRumble2 = True
+SimulateKonga2 = False
+SIDevice3 = 0
+AdapterRumble3 = True
+SimulateKonga3 = False
+WiiSDCard = False
+WiiKeyboard = False
+WiimoteContinuousScanning = False
+WiimoteEnableSpeaker = False
+RunCompareServer = False
+RunCompareClient = False
+EmulationSpeed = 1.00000000
+FrameSkip = 0x00000003
+Overclock = 4.00000000
+OverclockEnable = False
+GFXBackend =
+GPUDeterminismMode = auto
+PerfMapDir =
+[Movie]
+PauseMovie = False
+Author =
+DumpFrames = False
+DumpFramesSilent = False
+ShowInputDisplay = False
+[DSP]
+EnableJIT = True
+DumpAudio = False
+DumpUCode = False
+Backend = Pulse
+Volume = 100
+CaptureLog = False
+[Input]
+BackgroundInput = False
+[FifoPlayer]
+LoopReplay = True
+[Analytics]
+ID = 5082f0c30a7e422b1220107f69d6c108
+Enabled = False
+PermissionAsked = True
diff --git a/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP/GCPadNew.ini.south b/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP/GCPadNew.ini.south
new file mode 100755
index 0000000000..33b92c11a3
--- /dev/null
+++ b/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP/GCPadNew.ini.south
@@ -0,0 +1,29 @@
+[GCPad1]
+Device = evdev/0/retrogame_joypad
+Buttons/A = Button 0
+Buttons/B = Button 3
+Buttons/Start = Button 9
+Buttons/X = Button 1
+Buttons/Y = Button 2
+Buttons/Z = Button 7
+Buttons/Hotkey = Button 8
+C-Stick/Dead Zone = 25.000000000000000
+C-Stick/Down = Axis 3+
+C-Stick/Left = Axis 2-
+C-Stick/Modifier = Control_L
+C-Stick/Modifier/Range = 50.000000000000000
+C-Stick/Right = Axis 2+
+C-Stick/Up = Axis 3-
+D-Pad/Down = Button 14
+D-Pad/Left = Button 15
+D-Pad/Right = Button 16
+D-Pad/Up = Button 13
+Main Stick/Dead Zone = 25.000000000000000
+Main Stick/Down = Axis 1+
+Main Stick/Left = Axis 0-
+Main Stick/Modifier = Shift_L
+Main Stick/Modifier/Range = 50.000000000000000
+Main Stick/Right = Axis 0+
+Main Stick/Up = Axis 1-
+Triggers/L = Button 4
+Triggers/R = Button 5
diff --git a/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP/GCPadNew.ini.west b/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP/GCPadNew.ini.west
new file mode 100755
index 0000000000..3ae30b7180
--- /dev/null
+++ b/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP/GCPadNew.ini.west
@@ -0,0 +1,29 @@
+[GCPad1]
+Device = evdev/0/retrogame_joypad
+Buttons/A = Button 1
+Buttons/B = Button 0
+Buttons/Start = Button 9
+Buttons/X = Button 2
+Buttons/Y = Button 3
+Buttons/Z = Button 7
+Buttons/Hotkey = Button 8
+C-Stick/Dead Zone = 25.000000000000000
+C-Stick/Down = Axis 3+
+C-Stick/Left = Axis 2-
+C-Stick/Modifier = Control_L
+C-Stick/Modifier/Range = 50.000000000000000
+C-Stick/Right = Axis 2+
+C-Stick/Up = Axis 3-
+D-Pad/Down = Button 14
+D-Pad/Left = Button 15
+D-Pad/Right = Button 16
+D-Pad/Up = Button 13
+Main Stick/Dead Zone = 25.000000000000000
+Main Stick/Down = Axis 1+
+Main Stick/Left = Axis 0-
+Main Stick/Modifier = Shift_L
+Main Stick/Modifier/Range = 50.000000000000000
+Main Stick/Right = Axis 0+
+Main Stick/Up = Axis 1-
+Triggers/L = Button 4
+Triggers/R = Button 5
diff --git a/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP/GFX.ini b/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP/GFX.ini
new file mode 100755
index 0000000000..6cd269c601
--- /dev/null
+++ b/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP/GFX.ini
@@ -0,0 +1,61 @@
+[Hardware]
+VSync = False
+Adapter = 0
+[Settings]
+AspectRatio = 2
+InternalResolution = 1
+Crop = False
+wideScreenHack = False
+UseXFB = False
+UseRealXFB = False
+SafeTextureCacheColorSamples = 128
+ShowFPS = False
+LogRenderTimeToFile = False
+OverlayStats = False
+OverlayProjStats = False
+DumpTextures = False
+HiresTextures = False
+ConvertHiresTextures = False
+CacheHiresTextures = False
+DumpEFBTarget = False
+FreeLook = False
+UseFFV1 = False
+EnablePixelLighting = False
+FastDepthCalc = True
+MSAA = 1
+SSAA = False
+EFBScale = 2
+TexFmtOverlayEnable = False
+TexFmtOverlayCenter = False
+Wireframe = False
+DisableFog = False
+EnableShaderDebugging = False
+BorderlessFullscreen = False
+SWZComploc = True
+SWZFreeze = True
+SWDumpObjects = False
+SWDumpTevStages = False
+SWDumpTevTexFetches = False
+SWDrawStart = 0
+SWDrawEnd = 100000
+ShaderCompilationMode = 0
+WaitForShadersBeforeStarting = True
+BackendMultithreading = True
+EnableGPUTextureDecoding = True
+[Enhancements]
+ForceFiltering = False
+MaxAnisotropy = 0
+PostProcessingShader =
+[Stereoscopy]
+StereoMode = 0
+StereoDepth = 20
+StereoConvergencePercentage = 100
+StereoSwapEyes = False
+[Hacks]
+EFBAccessEnable = False
+BBoxEnable = False
+ForceProgressive = True
+EFBToTextureEnable = True
+EFBScaledCopy = False
+EFBEmulateFormatChanges = False
+SkipDuplicateXFBs = True
diff --git a/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP/WiiControllerProfiles/classic.ini b/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP/WiiControllerProfiles/classic.ini
new file mode 100755
index 0000000000..93256a3d65
--- /dev/null
+++ b/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP/WiiControllerProfiles/classic.ini
@@ -0,0 +1,27 @@
+[Wiimote1]
+Device = evdev/0/retrogame_joypad
+Extension = Classic
+Source = 1
+Classic/Buttons/A = Button 1
+Classic/Buttons/B = Button 0
+Classic/Buttons/X = Button 2
+Classic/Buttons/Y = Button 3
+Classic/Buttons/ZL = Button 6
+Classic/Buttons/ZR = Button 7
+Classic/Buttons/- = Button 8
+Classic/Buttons/+ = Button 9
+Classic/Left Stick/Up = Axis 1-
+Classic/Left Stick/Down = Axis 1+
+Classic/Left Stick/Left = Axis 0-
+Classic/Left Stick/Right = Axis 0+
+Classic/Right Stick/Up = Axis 3-
+Classic/Right Stick/Down = Axis 3+
+Classic/Right Stick/Left = Axis 2-
+Classic/Right Stick/Right = Axis 2+
+Classic/Triggers/L = Button 4
+Classic/Triggers/R = Button 5
+Classic/D-Pad/Up = Button 13
+Classic/D-Pad/Down = Button 14
+Classic/D-Pad/Left = Button 15
+Classic/D-Pad/Right = Button 16
+
diff --git a/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP/WiiControllerProfiles/hremote.ini b/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP/WiiControllerProfiles/hremote.ini
new file mode 100755
index 0000000000..7f630e677f
--- /dev/null
+++ b/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP/WiiControllerProfiles/hremote.ini
@@ -0,0 +1,19 @@
+[Wiimote1]
+Device = evdev/0/retrogame_joypad
+Buttons/A = Button 0
+Buttons/B = Button 1
+Buttons/1 = Button 3
+Buttons/2 = Button 2
+Buttons/- = Button 8
+Buttons/+ = Button 9
+D-Pad/Up = Button 15
+D-Pad/Down = Button 16
+D-Pad/Left = Button 13
+D-Pad/Right = Button 14
+Shake/X = Button 4
+Shake/Y = Button 4
+Shake/Z = Button 4
+IR/Up = `Axis 3-`
+IR/Down = `Axis 3+`
+IR/Left = `Axis 2-`
+IR/Right = `Axis 2+`
diff --git a/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP/WiiControllerProfiles/nunchuck.ini b/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP/WiiControllerProfiles/nunchuck.ini
new file mode 100755
index 0000000000..1b40dbeaa5
--- /dev/null
+++ b/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP/WiiControllerProfiles/nunchuck.ini
@@ -0,0 +1,25 @@
+[Wiimote1]
+Device = evdev/0/retrogame_joypad
+Extension = Nunchuk
+Buttons/A = Button 0
+Buttons/B = Button 1
+Buttons/1 = Button 3
+Buttons/2 = Button 2
+Buttons/- = Button 8
+Buttons/+ = Button 9
+D-Pad/Up = Button 13
+D-Pad/Down = Button 14
+D-Pad/Left = Button 15
+D-Pad/Right = Button 16
+Shake/X = Button 6
+Shake/Y = Button 6
+Shake/Z = Button 6
+Nunchuk/Buttons/C = Button 5
+Nunchuk/Buttons/Z = Button 4
+Nunchuk/Stick/Up = Axis 1-
+Nunchuk/Stick/Down = Axis 1+
+Nunchuk/Stick/Left = Axis 0-
+Nunchuk/Stick/Right = Axis 0+
+Nunchuk/Shake/X = Button 7
+Nunchuk/Shake/Y = Button 7
+Nunchuk/Shake/Z = Button 7
diff --git a/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP/WiiControllerProfiles/vremote.ini b/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP/WiiControllerProfiles/vremote.ini
new file mode 100755
index 0000000000..fae3a89ab3
--- /dev/null
+++ b/packages/emulators/standalone/dolphin-sa/config/RK3566-BSP/WiiControllerProfiles/vremote.ini
@@ -0,0 +1,19 @@
+[Wiimote1]
+Device = evdev/0/retrogame_joypad
+Buttons/A = Button 0
+Buttons/B = Button 1
+Buttons/1 = Button 3
+Buttons/2 = Button 2
+Buttons/- = Button 8
+Buttons/+ = Button 9
+D-Pad/Up = Button 13
+D-Pad/Down = Button 14
+D-Pad/Left = Button 15
+D-Pad/Right = Button 16
+Shake/X = Button 4
+Shake/Y = Button 4
+Shake/Z = Button 4
+IR/Up = `Axis 3-`
+IR/Down = `Axis 3+`
+IR/Left = `Axis 2-`
+IR/Right = `Axis 2+`
diff --git a/packages/emulators/standalone/dolphin-sa/config/RK3588/GCPadNew.ini.south b/packages/emulators/standalone/dolphin-sa/config/RK3588/GCPadNew.ini.south
index 5f53f4e8a9..a3fb5ddc88 100644
--- a/packages/emulators/standalone/dolphin-sa/config/RK3588/GCPadNew.ini.south
+++ b/packages/emulators/standalone/dolphin-sa/config/RK3588/GCPadNew.ini.south
@@ -1,12 +1,12 @@
[GCPad1]
-Device = evdev/0/Microsoft X-Box 360 pad
+Device = evdev/0/GameForce ACE Gamepad
Buttons/A = Button 0
-Buttons/B = Button 2
-Buttons/Start = Button 6
+Buttons/B = Button 4
+Buttons/Start = Button 8
Buttons/X = Button 1
Buttons/Y = Button 3
-Buttons/Z = Button 5
-Buttons/Hotkey = Button 7
+Buttons/Z = Button 6
+Buttons/Hotkey = Button 9
C-Stick/Dead Zone = 25.000000000000000
C-Stick/Down = Axis 4+
C-Stick/Left = Axis 3-
@@ -14,16 +14,16 @@ C-Stick/Modifier = Control_L
C-Stick/Modifier/Range = 50.000000000000000
C-Stick/Right = Axis 3+
C-Stick/Up = Axis 4-
-D-Pad/Down = Axis 7+
-D-Pad/Left = Axis 6-
-D-Pad/Right = Axis 6+
-D-Pad/Up = Axis 7-
+D-Pad/Down = Button 13
+D-Pad/Left = Button 14
+D-Pad/Right = Button 15
+D-Pad/Up = Button 12
Main Stick/Dead Zone = 25.000000000000000
-Main Stick/Down = Axis 1+
-Main Stick/Left = Axis 0-
Main Stick/Modifier = Shift_L
Main Stick/Modifier/Range = 50.000000000000000
-Main Stick/Right = Axis 0+
-Main Stick/Up = Axis 1-
-Triggers/L = Axis 2+
-Triggers/R = Axis 5+
+Main Stick/Up = Axis 0+
+Main Stick/Down = Axis 0-
+Main Stick/Right = Axis 1+
+Main Stick/Left = Axis 1-
+Triggers/L = Axis 2-
+Triggers/R = Axis 5-
diff --git a/packages/emulators/standalone/dolphin-sa/config/RK3588/GCPadNew.ini.west b/packages/emulators/standalone/dolphin-sa/config/RK3588/GCPadNew.ini.west
index 22884a3fdf..9f41c68163 100644
--- a/packages/emulators/standalone/dolphin-sa/config/RK3588/GCPadNew.ini.west
+++ b/packages/emulators/standalone/dolphin-sa/config/RK3588/GCPadNew.ini.west
@@ -1,12 +1,12 @@
[GCPad1]
-Device = evdev/0/Microsoft X-Box 360 pad
+Device = evdev/0/GameForce ACE Gamepad
Buttons/A = Button 1
Buttons/B = Button 0
-Buttons/Start = Button 6
+Buttons/Start = Button 8
Buttons/X = Button 3
-Buttons/Y = Button 2
-Buttons/Z = Button 5
-Buttons/Hotkey = Button 7
+Buttons/Y = Button 4
+Buttons/Z = Button 6
+Buttons/Hotkey = Button 9
C-Stick/Dead Zone = 25.000000000000000
C-Stick/Down = Axis 4+
C-Stick/Left = Axis 3-
@@ -14,16 +14,16 @@ C-Stick/Modifier = Control_L
C-Stick/Modifier/Range = 50.000000000000000
C-Stick/Right = Axis 3+
C-Stick/Up = Axis 4-
-D-Pad/Down = Axis 7+
-D-Pad/Left = Axis 6-
-D-Pad/Right = Axis 6+
-D-Pad/Up = Axis 7-
+D-Pad/Down = Button 13
+D-Pad/Left = Button 14
+D-Pad/Right = Button 15
+D-Pad/Up = Button 12
Main Stick/Dead Zone = 25.000000000000000
-Main Stick/Down = Axis 1+
-Main Stick/Left = Axis 0-
Main Stick/Modifier = Shift_L
Main Stick/Modifier/Range = 50.000000000000000
-Main Stick/Right = Axis 0+
-Main Stick/Up = Axis 1-
-Triggers/L = Axis 2+
-Triggers/R = Axis 5+
+Main Stick/Up = Axis 0+
+Main Stick/Down = Axis 0-
+Main Stick/Right = Axis 1+
+Main Stick/Left = Axis 1-
+Triggers/L = Axis 2-
+Triggers/R = Axis 5-
diff --git a/packages/emulators/standalone/dolphin-sa/config/RK3588/WiiControllerProfiles/classic.ini b/packages/emulators/standalone/dolphin-sa/config/RK3588/WiiControllerProfiles/classic.ini
index b9450699c4..b333929de4 100644
--- a/packages/emulators/standalone/dolphin-sa/config/RK3588/WiiControllerProfiles/classic.ini
+++ b/packages/emulators/standalone/dolphin-sa/config/RK3588/WiiControllerProfiles/classic.ini
@@ -1,5 +1,5 @@
[Wiimote1]
-Device = evdev/0/Microsoft X-Box 360 pad
+Device = evdev/0/GameForce ACE Gamepad
Extension = Classic
Source = 1
Classic/Buttons/A = Button 1
@@ -11,10 +11,10 @@ Classic/Buttons/ZR = Axis 5+
Classic/Buttons/- = Button 6
Classic/Buttons/+ = Button 7
Classic/Buttons/Home = Button 8
-Classic/Left Stick/Up = Axis 1-
-Classic/Left Stick/Down = Axis 1+
-Classic/Left Stick/Left = Axis 0-
-Classic/Left Stick/Right = Axis 0+
+Classic/Left Stick/Up = Axis 0+
+Classic/Left Stick/Down = Axis 0-
+Classic/Left Stick/Left = Axis 1+
+Classic/Left Stick/Right = Axis 1-
Classic/Right Stick/Up = Axis 4-
Classic/Right Stick/Down = Axis 4+
Classic/Right Stick/Left = Axis 3-
diff --git a/packages/emulators/standalone/dolphin-sa/config/RK3588/WiiControllerProfiles/hremote.ini b/packages/emulators/standalone/dolphin-sa/config/RK3588/WiiControllerProfiles/hremote.ini
index cbd6a07604..13f6ac0190 100644
--- a/packages/emulators/standalone/dolphin-sa/config/RK3588/WiiControllerProfiles/hremote.ini
+++ b/packages/emulators/standalone/dolphin-sa/config/RK3588/WiiControllerProfiles/hremote.ini
@@ -1,5 +1,5 @@
[Wiimote1]
-Device = evdev/0/Microsoft X-Box 360 pad
+Device = evdev/0/GameForce ACE Gamepad
Buttons/A = Button 0
Buttons/B = Button 1
Buttons/1 = Button 2
diff --git a/packages/emulators/standalone/dolphin-sa/config/RK3588/WiiControllerProfiles/nunchuck.ini b/packages/emulators/standalone/dolphin-sa/config/RK3588/WiiControllerProfiles/nunchuck.ini
index 267a7e2660..c99fa91e7c 100644
--- a/packages/emulators/standalone/dolphin-sa/config/RK3588/WiiControllerProfiles/nunchuck.ini
+++ b/packages/emulators/standalone/dolphin-sa/config/RK3588/WiiControllerProfiles/nunchuck.ini
@@ -1,5 +1,5 @@
[Wiimote1]
-Device = evdev/0/Microsoft X-Box 360 pad
+Device = evdev/0/GameForce ACE Gamepad
Extension = Nunchuk
Buttons/A = Button 0
Buttons/B = Button 1
@@ -17,10 +17,10 @@ Shake/Y = Button 4
Shake/Z = Button 4
Nunchuk/Buttons/C = Button 5
Nunchuk/Buttons/Z = Axis 5+
-Nunchuk/Stick/Up = Axis 1-
-Nunchuk/Stick/Down = Axis 1+
-Nunchuk/Stick/Left = Axis 0-
-Nunchuk/Stick/Right = Axis 0+
+Nunchuk/Stick/Up = Axis 0+
+Nunchuk/Stick/Down = Axis 0-
+Nunchuk/Stick/Left = Axis 1+
+Nunchuk/Stick/Right = Axis 1-
Nunchuk/Shake/X = Axis 2+
Nunchuk/Shake/Y = Axis 2+
Nunchuk/Shake/Z = Axis 2+
diff --git a/packages/emulators/standalone/dolphin-sa/config/RK3588/WiiControllerProfiles/vremote.ini b/packages/emulators/standalone/dolphin-sa/config/RK3588/WiiControllerProfiles/vremote.ini
index 2880a8a369..15b9c1c58b 100644
--- a/packages/emulators/standalone/dolphin-sa/config/RK3588/WiiControllerProfiles/vremote.ini
+++ b/packages/emulators/standalone/dolphin-sa/config/RK3588/WiiControllerProfiles/vremote.ini
@@ -1,5 +1,5 @@
[Wiimote1]
-Device = evdev/0/Microsoft X-Box 360 pad
+Device = evdev/0/GameForce ACE Gamepad
Buttons/A = Button 0
Buttons/B = Button 1
Buttons/1 = Button 2
diff --git a/packages/emulators/standalone/dolphin-sa/config/RK3588/WiimoteNew.ini b/packages/emulators/standalone/dolphin-sa/config/RK3588/WiimoteNew.ini
index b9450699c4..1fb6298f0a 100644
--- a/packages/emulators/standalone/dolphin-sa/config/RK3588/WiimoteNew.ini
+++ b/packages/emulators/standalone/dolphin-sa/config/RK3588/WiimoteNew.ini
@@ -1,13 +1,13 @@
[Wiimote1]
-Device = evdev/0/Microsoft X-Box 360 pad
+Device = evdev/0/GameForce ACE Gamepad
Extension = Classic
Source = 1
Classic/Buttons/A = Button 1
Classic/Buttons/B = Button 0
Classic/Buttons/X = Button 3
Classic/Buttons/Y = Button 2
-Classic/Buttons/ZL = Axis 2+
-Classic/Buttons/ZR = Axis 5+
+Classic/Buttons/ZL = Axis 2-
+Classic/Buttons/ZR = Axis 5-
Classic/Buttons/- = Button 6
Classic/Buttons/+ = Button 7
Classic/Buttons/Home = Button 8
diff --git a/packages/emulators/standalone/dolphin-sa/package.mk b/packages/emulators/standalone/dolphin-sa/package.mk
index cece61915f..9d29f95d20 100644
--- a/packages/emulators/standalone/dolphin-sa/package.mk
+++ b/packages/emulators/standalone/dolphin-sa/package.mk
@@ -8,7 +8,7 @@ PKG_LONGDESC="Dolphin is a GameCube / Wii emulator, allowing you to play games f
PKG_TOOLCHAIN="cmake"
case ${DEVICE} in
- RK3588|AMD64|S922X|RK3399)
+ RK3588*|AMD64|S922X|RK3399)
PKG_SITE="https://github.com/dolphin-emu/dolphin"
PKG_URL="${PKG_SITE}.git"
PKG_VERSION="e6583f8bec814d8f3748f1d7738457600ce0de56"
@@ -87,7 +87,7 @@ post_install() {
RK356*)
DOLPHIN_PLATFORM="drm"
;;
- RK3588)
+ RK3588*)
DOLPHIN_PLATFORM="x11"
;;
*)
diff --git a/packages/emulators/standalone/dolphin-sa/patches/wayland/000-add-wayland.patch b/packages/emulators/standalone/dolphin-sa/patches/wayland/000-add-wayland.patch
index 097007a28f..ffbb76dd7f 100644
--- a/packages/emulators/standalone/dolphin-sa/patches/wayland/000-add-wayland.patch
+++ b/packages/emulators/standalone/dolphin-sa/patches/wayland/000-add-wayland.patch
@@ -1,6 +1,6 @@
diff -rupN dolphin.orig/CMake/FindWaylandProtocols.cmake dolphin/CMake/FindWaylandProtocols.cmake
--- dolphin.orig/CMake/FindWaylandProtocols.cmake 1970-01-01 00:00:00.000000000 +0000
-+++ dolphin/CMake/FindWaylandProtocols.cmake 2023-10-27 13:46:38.317333047 +0000
++++ dolphin/CMake/FindWaylandProtocols.cmake 2024-03-05 04:06:08.240295843 +0000
@@ -0,0 +1,28 @@
+# from https://github.com/glfw/glfw/blob/master/CMake/modules/FindWaylandProtocols.cmake
+
@@ -32,7 +32,7 @@ diff -rupN dolphin.orig/CMake/FindWaylandProtocols.cmake dolphin/CMake/FindWayla
+set(WAYLAND_PROTOCOLS_VERSION ${WaylandProtocols_VERSION})
diff -rupN dolphin.orig/CMake/FindXKBCommon.cmake dolphin/CMake/FindXKBCommon.cmake
--- dolphin.orig/CMake/FindXKBCommon.cmake 1970-01-01 00:00:00.000000000 +0000
-+++ dolphin/CMake/FindXKBCommon.cmake 2023-10-27 13:46:38.317333047 +0000
++++ dolphin/CMake/FindXKBCommon.cmake 2024-03-05 04:06:08.240295843 +0000
@@ -0,0 +1,33 @@
+# - Try to find XKBCommon
+# Once done, this will define
@@ -68,8 +68,8 @@ diff -rupN dolphin.orig/CMake/FindXKBCommon.cmake dolphin/CMake/FindXKBCommon.cm
+
+mark_as_advanced(XKBCOMMON_LIBRARY XKBCOMMON_INCLUDE_DIR)
diff -rupN dolphin.orig/CMakeLists.txt dolphin/CMakeLists.txt
---- dolphin.orig/CMakeLists.txt 2023-09-26 17:58:02.593990718 +0000
-+++ dolphin/CMakeLists.txt 2023-10-27 13:46:40.473383166 +0000
+--- dolphin.orig/CMakeLists.txt 2024-03-05 04:05:25.878960469 +0000
++++ dolphin/CMakeLists.txt 2024-03-05 04:06:08.240295843 +0000
@@ -47,6 +47,7 @@ set(DOLPHIN_DEFAULT_UPDATE_TRACK "" CACH
if(UNIX AND NOT APPLE AND NOT ANDROID)
@@ -97,8 +97,8 @@ diff -rupN dolphin.orig/CMakeLists.txt dolphin/CMakeLists.txt
find_package(EGL)
if(EGL_FOUND)
diff -rupN dolphin.orig/Source/Core/Common/CMakeLists.txt dolphin/Source/Core/Common/CMakeLists.txt
---- dolphin.orig/Source/Core/Common/CMakeLists.txt 2023-09-26 17:58:02.801995519 +0000
-+++ dolphin/Source/Core/Common/CMakeLists.txt 2023-10-27 13:46:39.913370149 +0000
+--- dolphin.orig/Source/Core/Common/CMakeLists.txt 2024-03-05 04:05:26.574982411 +0000
++++ dolphin/Source/Core/Common/CMakeLists.txt 2024-03-05 04:06:08.240295843 +0000
@@ -253,11 +253,20 @@ if(ENABLE_EGL AND EGL_FOUND)
GL/GLInterface/EGLAndroid.cpp
GL/GLInterface/EGLAndroid.h
@@ -126,8 +126,8 @@ diff -rupN dolphin.orig/Source/Core/Common/CMakeLists.txt dolphin/Source/Core/Co
target_include_directories(common PRIVATE ${EGL_INCLUDE_DIRS})
target_link_libraries(common PUBLIC ${EGL_LIBRARIES})
diff -rupN dolphin.orig/Source/Core/Common/GL/GLContext.cpp dolphin/Source/Core/Common/GL/GLContext.cpp
---- dolphin.orig/Source/Core/Common/GL/GLContext.cpp 2023-09-26 17:58:02.801995519 +0000
-+++ dolphin/Source/Core/Common/GL/GLContext.cpp 2023-10-27 13:46:39.913370149 +0000
+--- dolphin.orig/Source/Core/Common/GL/GLContext.cpp 2024-03-05 04:05:26.578982537 +0000
++++ dolphin/Source/Core/Common/GL/GLContext.cpp 2024-03-05 04:06:08.240295843 +0000
@@ -25,6 +25,9 @@
#if defined(ANDROID)
#include "Common/GL/GLInterface/EGLAndroid.h"
@@ -164,8 +164,8 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLContext.cpp dolphin/Source/Core/
if (wsi.type == WindowSystemType::Headless || wsi.type == WindowSystemType::FBDev)
context = std::make_unique();
diff -rupN dolphin.orig/Source/Core/Common/GL/GLContext.h dolphin/Source/Core/Common/GL/GLContext.h
---- dolphin.orig/Source/Core/Common/GL/GLContext.h 2023-09-26 17:58:02.801995519 +0000
-+++ dolphin/Source/Core/Common/GL/GLContext.h 2023-10-27 13:46:39.913370149 +0000
+--- dolphin.orig/Source/Core/Common/GL/GLContext.h 2024-03-05 04:05:26.578982537 +0000
++++ dolphin/Source/Core/Common/GL/GLContext.h 2024-03-05 04:06:08.240295843 +0000
@@ -36,8 +36,8 @@ public:
virtual bool MakeCurrent();
virtual bool ClearCurrent();
@@ -178,8 +178,8 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLContext.h dolphin/Source/Core/Co
virtual void Swap();
virtual void SwapInterval(int interval);
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/AGL.h dolphin/Source/Core/Common/GL/GLInterface/AGL.h
---- dolphin.orig/Source/Core/Common/GL/GLInterface/AGL.h 2023-09-26 17:58:02.801995519 +0000
-+++ dolphin/Source/Core/Common/GL/GLInterface/AGL.h 2023-10-27 13:46:39.913370149 +0000
+--- dolphin.orig/Source/Core/Common/GL/GLInterface/AGL.h 2024-03-05 04:05:26.578982537 +0000
++++ dolphin/Source/Core/Common/GL/GLInterface/AGL.h 2024-03-05 04:06:08.240295843 +0000
@@ -27,6 +27,8 @@ public:
bool MakeCurrent() override;
@@ -190,8 +190,8 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/AGL.h dolphin/Source/C
void Update() override;
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/AGL.mm dolphin/Source/Core/Common/GL/GLInterface/AGL.mm
---- dolphin.orig/Source/Core/Common/GL/GLInterface/AGL.mm 2023-09-26 17:58:02.801995519 +0000
-+++ dolphin/Source/Core/Common/GL/GLInterface/AGL.mm 2023-10-27 13:46:39.913370149 +0000
+--- dolphin.orig/Source/Core/Common/GL/GLInterface/AGL.mm 2024-03-05 04:05:26.578982537 +0000
++++ dolphin/Source/Core/Common/GL/GLInterface/AGL.mm 2024-03-05 04:06:08.240295843 +0000
@@ -144,7 +144,7 @@ bool GLContextAGL::ClearCurrent()
return true;
}
@@ -202,8 +202,8 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/AGL.mm dolphin/Source/
if (!m_view)
return;
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGL.cpp dolphin/Source/Core/Common/GL/GLInterface/EGL.cpp
---- dolphin.orig/Source/Core/Common/GL/GLInterface/EGL.cpp 2023-09-26 17:58:02.805995611 +0000
-+++ dolphin/Source/Core/Common/GL/GLInterface/EGL.cpp 2023-10-27 13:46:39.913370149 +0000
+--- dolphin.orig/Source/Core/Common/GL/GLInterface/EGL.cpp 2024-03-05 04:05:26.578982537 +0000
++++ dolphin/Source/Core/Common/GL/GLInterface/EGL.cpp 2024-03-05 04:06:08.240295843 +0000
@@ -292,8 +292,8 @@ bool GLContextEGL::CreateWindowSurface()
{
if (!IsHeadless())
@@ -267,8 +267,8 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGL.cpp dolphin/Source
+ m_backbuffer_height = static_cast(surface_height);
+}
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGL.h dolphin/Source/Core/Common/GL/GLInterface/EGL.h
---- dolphin.orig/Source/Core/Common/GL/GLInterface/EGL.h 2023-09-26 17:58:02.805995611 +0000
-+++ dolphin/Source/Core/Common/GL/GLInterface/EGL.h 2023-10-27 13:46:39.913370149 +0000
+--- dolphin.orig/Source/Core/Common/GL/GLInterface/EGL.h 2024-03-05 04:05:26.578982537 +0000
++++ dolphin/Source/Core/Common/GL/GLInterface/EGL.h 2024-03-05 04:06:08.240295843 +0000
@@ -22,7 +22,8 @@ public:
bool MakeCurrent() override;
bool ClearCurrent() override;
@@ -294,7 +294,7 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGL.h dolphin/Source/C
std::vector m_attribs;
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGLWayland.cpp dolphin/Source/Core/Common/GL/GLInterface/EGLWayland.cpp
--- dolphin.orig/Source/Core/Common/GL/GLInterface/EGLWayland.cpp 1970-01-01 00:00:00.000000000 +0000
-+++ dolphin/Source/Core/Common/GL/GLInterface/EGLWayland.cpp 2023-10-27 13:46:39.913370149 +0000
++++ dolphin/Source/Core/Common/GL/GLInterface/EGLWayland.cpp 2024-03-05 04:06:08.240295843 +0000
@@ -0,0 +1,36 @@
+// Copyright 2019 Dolphin Emulator Project
+// Licensed under GPLv2+
@@ -334,7 +334,7 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGLWayland.cpp dolphin
+}
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGLWayland.h dolphin/Source/Core/Common/GL/GLInterface/EGLWayland.h
--- dolphin.orig/Source/Core/Common/GL/GLInterface/EGLWayland.h 1970-01-01 00:00:00.000000000 +0000
-+++ dolphin/Source/Core/Common/GL/GLInterface/EGLWayland.h 2023-10-27 13:46:39.913370149 +0000
++++ dolphin/Source/Core/Common/GL/GLInterface/EGLWayland.h 2024-03-05 04:06:08.240295843 +0000
@@ -0,0 +1,19 @@
+// Copyright 2019 Dolphin Emulator Project
+// Licensed under GPLv2+
@@ -356,8 +356,8 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGLWayland.h dolphin/S
+ EGLNativeWindowType GetEGLNativeWindow(EGLConfig config) override;
+};
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGLX11.cpp dolphin/Source/Core/Common/GL/GLInterface/EGLX11.cpp
---- dolphin.orig/Source/Core/Common/GL/GLInterface/EGLX11.cpp 2023-09-26 17:58:02.805995611 +0000
-+++ dolphin/Source/Core/Common/GL/GLInterface/EGLX11.cpp 2023-10-27 13:46:39.913370149 +0000
+--- dolphin.orig/Source/Core/Common/GL/GLInterface/EGLX11.cpp 2024-03-05 04:05:26.578982537 +0000
++++ dolphin/Source/Core/Common/GL/GLInterface/EGLX11.cpp 2024-03-05 04:06:08.240295843 +0000
@@ -11,7 +11,7 @@ GLContextEGLX11::~GLContextEGLX11()
m_render_window.reset();
}
@@ -368,8 +368,8 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGLX11.cpp dolphin/Sou
m_render_window->UpdateDimensions();
m_backbuffer_width = m_render_window->GetWidth();
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGLX11.h dolphin/Source/Core/Common/GL/GLInterface/EGLX11.h
---- dolphin.orig/Source/Core/Common/GL/GLInterface/EGLX11.h 2023-09-26 17:58:02.805995611 +0000
-+++ dolphin/Source/Core/Common/GL/GLInterface/EGLX11.h 2023-10-27 13:46:39.913370149 +0000
+--- dolphin.orig/Source/Core/Common/GL/GLInterface/EGLX11.h 2024-03-05 04:05:26.578982537 +0000
++++ dolphin/Source/Core/Common/GL/GLInterface/EGLX11.h 2024-03-05 04:06:08.240295843 +0000
@@ -13,7 +13,7 @@ class GLContextEGLX11 final : public GLC
public:
~GLContextEGLX11() override;
@@ -380,8 +380,8 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/EGLX11.h dolphin/Sourc
protected:
EGLDisplay OpenEGLDisplay() override;
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/GLX.cpp dolphin/Source/Core/Common/GL/GLInterface/GLX.cpp
---- dolphin.orig/Source/Core/Common/GL/GLInterface/GLX.cpp 2023-09-26 17:58:02.805995611 +0000
-+++ dolphin/Source/Core/Common/GL/GLInterface/GLX.cpp 2023-10-27 13:46:39.913370149 +0000
+--- dolphin.orig/Source/Core/Common/GL/GLInterface/GLX.cpp 2024-03-05 04:05:26.578982537 +0000
++++ dolphin/Source/Core/Common/GL/GLInterface/GLX.cpp 2024-03-05 04:06:08.240295843 +0000
@@ -310,7 +310,7 @@ bool GLContextGLX::ClearCurrent()
return glXMakeCurrent(m_display, None, nullptr);
}
@@ -392,8 +392,8 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/GLX.cpp dolphin/Source
m_render_window->UpdateDimensions();
m_backbuffer_width = m_render_window->GetWidth();
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/GLX.h dolphin/Source/Core/Common/GL/GLInterface/GLX.h
---- dolphin.orig/Source/Core/Common/GL/GLInterface/GLX.h 2023-09-26 17:58:02.805995611 +0000
-+++ dolphin/Source/Core/Common/GL/GLInterface/GLX.h 2023-10-27 13:46:39.913370149 +0000
+--- dolphin.orig/Source/Core/Common/GL/GLInterface/GLX.h 2024-03-05 04:05:26.578982537 +0000
++++ dolphin/Source/Core/Common/GL/GLInterface/GLX.h 2024-03-05 04:06:08.240295843 +0000
@@ -24,7 +24,7 @@ public:
bool MakeCurrent() override;
bool ClearCurrent() override;
@@ -404,8 +404,8 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/GLX.h dolphin/Source/C
void SwapInterval(int Interval) override;
void Swap() override;
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/WGL.cpp dolphin/Source/Core/Common/GL/GLInterface/WGL.cpp
---- dolphin.orig/Source/Core/Common/GL/GLInterface/WGL.cpp 2023-09-26 17:58:02.805995611 +0000
-+++ dolphin/Source/Core/Common/GL/GLInterface/WGL.cpp 2023-10-27 13:46:39.913370149 +0000
+--- dolphin.orig/Source/Core/Common/GL/GLInterface/WGL.cpp 2024-03-05 04:05:26.578982537 +0000
++++ dolphin/Source/Core/Common/GL/GLInterface/WGL.cpp 2024-03-05 04:06:08.240295843 +0000
@@ -480,7 +480,7 @@ bool GLContextWGL::ClearCurrent()
}
@@ -416,8 +416,8 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/WGL.cpp dolphin/Source
RECT rcWindow;
GetClientRect(m_window_handle, &rcWindow);
diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/WGL.h dolphin/Source/Core/Common/GL/GLInterface/WGL.h
---- dolphin.orig/Source/Core/Common/GL/GLInterface/WGL.h 2023-09-26 17:58:02.805995611 +0000
-+++ dolphin/Source/Core/Common/GL/GLInterface/WGL.h 2023-10-27 13:46:39.913370149 +0000
+--- dolphin.orig/Source/Core/Common/GL/GLInterface/WGL.h 2024-03-05 04:05:26.578982537 +0000
++++ dolphin/Source/Core/Common/GL/GLInterface/WGL.h 2024-03-05 04:06:08.240295843 +0000
@@ -19,7 +19,7 @@ public:
bool MakeCurrent() override;
bool ClearCurrent() override;
@@ -428,8 +428,8 @@ diff -rupN dolphin.orig/Source/Core/Common/GL/GLInterface/WGL.h dolphin/Source/C
void Swap() override;
void SwapInterval(int interval) override;
diff -rupN dolphin.orig/Source/Core/Common/WindowSystemInfo.h dolphin/Source/Core/Common/WindowSystemInfo.h
---- dolphin.orig/Source/Core/Common/WindowSystemInfo.h 2023-09-26 17:58:02.805995611 +0000
-+++ dolphin/Source/Core/Common/WindowSystemInfo.h 2023-10-27 13:46:39.937370706 +0000
+--- dolphin.orig/Source/Core/Common/WindowSystemInfo.h 2024-03-05 04:05:26.578982537 +0000
++++ dolphin/Source/Core/Common/WindowSystemInfo.h 2024-03-05 04:06:08.240295843 +0000
@@ -40,7 +40,11 @@ struct WindowSystemInfo
// This is kept seperate as input may require a different handle to rendering, and
// during video backend startup the surface pointer may change (MoltenVK).
@@ -444,8 +444,8 @@ diff -rupN dolphin.orig/Source/Core/Common/WindowSystemInfo.h dolphin/Source/Cor
float render_surface_scale = 1.0f;
};
diff -rupN dolphin.orig/Source/Core/Core/BootManager.cpp dolphin/Source/Core/Core/BootManager.cpp
---- dolphin.orig/Source/Core/Core/BootManager.cpp 2023-09-26 17:58:02.809995703 +0000
-+++ dolphin/Source/Core/Core/BootManager.cpp 2023-10-27 13:48:21.555727990 +0000
+--- dolphin.orig/Source/Core/Core/BootManager.cpp 2024-03-05 04:05:26.578982537 +0000
++++ dolphin/Source/Core/Core/BootManager.cpp 2024-03-05 04:06:08.240295843 +0000
@@ -64,6 +64,11 @@ bool BootCore(std::unique_ptrAddInput(ControllerEmu::Translate, START_BUTTON, _trans("START"));
+ // Hotkey Button
+ m_buttons->AddInput(ControllerEmu::Translate, HOTKEY_BUTTON, _trans("HOTKEY"));
-+
++
// sticks
groups.emplace_back(m_main_stick = new ControllerEmu::OctagonAnalogStick(
MAIN_STICK_GROUP, _trans("Control Stick"), MAIN_STICK_GATE_RADIUS));
diff -rupN dolphin.orig/Source/Core/Core/HW/GCPadEmu.h dolphin/Source/Core/Core/HW/GCPadEmu.h
---- dolphin.orig/Source/Core/Core/HW/GCPadEmu.h 2023-09-26 17:58:02.817995888 +0000
-+++ dolphin/Source/Core/Core/HW/GCPadEmu.h 2023-10-27 13:46:40.045373218 +0000
-@@ -65,6 +65,7 @@ public:
- static constexpr const char* X_BUTTON = "X";
+--- dolphin.orig/Source/Core/Core/HW/GCPadEmu.h 2024-03-05 04:05:26.582982663 +0000
++++ dolphin/Source/Core/Core/HW/GCPadEmu.h 2024-03-05 14:38:20.524919664 +0000
+@@ -66,6 +66,8 @@ public:
static constexpr const char* Y_BUTTON = "Y";
static constexpr const char* Z_BUTTON = "Z";
-+ static constexpr const char* HOTKEY_BUTTON = "Hotkey";
static constexpr const char* START_BUTTON = "Start";
++ static constexpr const char* HOTKEY_BUTTON = "Hotkey";
++
// i18n: The left trigger button (labeled L on real controllers)
+ static constexpr const char* L_DIGITAL = _trans("L");
diff -rupN dolphin.orig/Source/Core/Core/State.cpp dolphin/Source/Core/Core/State.cpp
---- dolphin.orig/Source/Core/Core/State.cpp 2023-09-26 17:58:02.829996165 +0000
-+++ dolphin/Source/Core/Core/State.cpp 2023-10-27 19:10:09.907147486 +0000
+--- dolphin.orig/Source/Core/Core/State.cpp 2024-03-05 04:05:26.586982789 +0000
++++ dolphin/Source/Core/Core/State.cpp 2024-03-05 04:06:08.240295843 +0000
@@ -327,7 +327,10 @@ static std::string SystemTimeAsDoubleToS
#endif
}
@@ -633,8 +634,8 @@ diff -rupN dolphin.orig/Source/Core/Core/State.cpp dolphin/Source/Core/Core/Stat
void LoadLastSaved(int i)
diff -rupN dolphin.orig/Source/Core/DolphinLib.props dolphin/Source/Core/DolphinLib.props
---- dolphin.orig/Source/Core/DolphinLib.props 2023-09-26 17:58:02.829996165 +0000
-+++ dolphin/Source/Core/DolphinLib.props 2023-10-27 13:46:40.185376472 +0000
+--- dolphin.orig/Source/Core/DolphinLib.props 2024-03-05 04:05:26.590982915 +0000
++++ dolphin/Source/Core/DolphinLib.props 2024-03-05 04:06:08.240295843 +0000
@@ -1207,6 +1207,7 @@
@@ -644,8 +645,8 @@ diff -rupN dolphin.orig/Source/Core/DolphinLib.props dolphin/Source/Core/Dolphin
diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/CMakeLists.txt dolphin/Source/Core/DolphinNoGUI/CMakeLists.txt
---- dolphin.orig/Source/Core/DolphinNoGUI/CMakeLists.txt 2023-09-26 17:58:02.833996257 +0000
-+++ dolphin/Source/Core/DolphinNoGUI/CMakeLists.txt 2023-10-27 13:46:40.157375820 +0000
+--- dolphin.orig/Source/Core/DolphinNoGUI/CMakeLists.txt 2024-03-05 04:05:26.590982915 +0000
++++ dolphin/Source/Core/DolphinNoGUI/CMakeLists.txt 2024-03-05 04:06:08.240295843 +0000
@@ -17,6 +17,22 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux"
target_sources(dolphin-nogui PRIVATE PlatformFBDev.cpp)
endif()
@@ -670,8 +671,8 @@ diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/CMakeLists.txt dolphin/Source/C
target_link_libraries(dolphin-nogui
diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/MainNoGUI.cpp dolphin/Source/Core/DolphinNoGUI/MainNoGUI.cpp
---- dolphin.orig/Source/Core/DolphinNoGUI/MainNoGUI.cpp 2023-09-26 17:58:02.833996257 +0000
-+++ dolphin/Source/Core/DolphinNoGUI/MainNoGUI.cpp 2023-10-27 13:46:40.173376194 +0000
+--- dolphin.orig/Source/Core/DolphinNoGUI/MainNoGUI.cpp 2024-03-05 04:05:26.590982915 +0000
++++ dolphin/Source/Core/DolphinNoGUI/MainNoGUI.cpp 2024-03-05 04:06:08.240295843 +0000
@@ -155,6 +155,11 @@ static std::unique_ptr GetPlat
{
std::string platform_name = static_cast(options.get("platform"));
@@ -696,8 +697,8 @@ diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/MainNoGUI.cpp dolphin/Source/Co
optparse::Values& options = CommandLineParse::ParseArguments(parser.get(), argc, argv);
diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/Platform.h dolphin/Source/Core/DolphinNoGUI/Platform.h
---- dolphin.orig/Source/Core/DolphinNoGUI/Platform.h 2023-09-26 17:58:02.833996257 +0000
-+++ dolphin/Source/Core/DolphinNoGUI/Platform.h 2023-10-27 13:46:40.185376472 +0000
+--- dolphin.orig/Source/Core/DolphinNoGUI/Platform.h 2024-03-05 04:05:26.590982915 +0000
++++ dolphin/Source/Core/DolphinNoGUI/Platform.h 2024-03-05 04:06:08.240295843 +0000
@@ -35,6 +35,10 @@ public:
static std::unique_ptr CreateX11Platform();
#endif
@@ -711,7 +712,7 @@ diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/Platform.h dolphin/Source/Core/
#endif
diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/PlatformWayland.cpp dolphin/Source/Core/DolphinNoGUI/PlatformWayland.cpp
--- dolphin.orig/Source/Core/DolphinNoGUI/PlatformWayland.cpp 1970-01-01 00:00:00.000000000 +0000
-+++ dolphin/Source/Core/DolphinNoGUI/PlatformWayland.cpp 2023-10-27 13:46:40.185376472 +0000
++++ dolphin/Source/Core/DolphinNoGUI/PlatformWayland.cpp 2024-03-05 04:06:08.240295843 +0000
@@ -0,0 +1,364 @@
+// Copyright 2018 Dolphin Emulator Project
+// Licensed under GPLv2+
@@ -1078,9 +1079,23 @@ diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/PlatformWayland.cpp dolphin/Sou
+ return std::make_unique();
+}
diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/PlatformX11.cpp dolphin/Source/Core/DolphinNoGUI/PlatformX11.cpp
---- dolphin.orig/Source/Core/DolphinNoGUI/PlatformX11.cpp 2023-09-26 17:58:02.833996257 +0000
-+++ dolphin/Source/Core/DolphinNoGUI/PlatformX11.cpp 2023-10-27 13:46:40.185376472 +0000
-@@ -57,8 +57,8 @@ private:
+--- dolphin.orig/Source/Core/DolphinNoGUI/PlatformX11.cpp 2024-03-05 04:05:26.590982915 +0000
++++ dolphin/Source/Core/DolphinNoGUI/PlatformX11.cpp 2024-03-05 04:21:20.855117890 +0000
+@@ -16,6 +16,13 @@ static constexpr auto X_None = None;
+ #include "Core/Core.h"
+ #include "Core/State.h"
+
++#include "Core/HW/GCPad.h"
++#include "InputCommon/GCPadStatus.h"
++#include
++#include "Core/Config/GraphicsSettings.h"
++#include "VideoCommon/VideoConfig.h"
++#include "VideoCommon/OnScreenDisplay.h"
++
+ #include
+ #include
+ #include
+@@ -57,8 +64,8 @@ private:
#endif
int m_window_x = Config::Get(Config::MAIN_RENDER_WINDOW_XPOS);
int m_window_y = Config::Get(Config::MAIN_RENDER_WINDOW_YPOS);
@@ -1091,7 +1106,126 @@ diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/PlatformX11.cpp dolphin/Source/
};
PlatformX11::~PlatformX11()
-@@ -166,6 +166,8 @@ WindowSystemInfo PlatformX11::GetWindowS
+@@ -149,11 +156,118 @@ void PlatformX11::MainLoop()
+ {
+ while (IsRunning())
+ {
++ static int hotkey = 0;
++ static int slot = 0;
++ static int fps = 0;
++ static int aspect = 0;
++ static int fforward = 0;
++ static int ires = 0;
++
+ UpdateRunningFlag();
+ Core::HostDispatchJobs();
+ ProcessEvents();
+ UpdateWindowPosition();
+
++ if(Pad::IsInitialized()) {
++ GCPadStatus x = Pad::GetStatus(0);
++
++ if( (x.button & PAD_BUTTON_HOTKEY) == PAD_BUTTON_HOTKEY) { // hotkey pressed
++ if(hotkey == 1) {
++ hotkey = 2;
++ }
++ } else {
++ hotkey = 1; // assure hotkey is released between actions
++ }
++
++ if(hotkey == 2) { // hotkey pressed
++ if( (x.button & PAD_BUTTON_START) == PAD_BUTTON_START) {
++ RequestShutdown();
++ hotkey = 0;
++ }
++
++ if( (x.button & PAD_TRIGGER_L) == PAD_TRIGGER_L) {
++ State::Load(slot);
++ hotkey = 0;
++ }
++ if( (x.button & PAD_TRIGGER_R) == PAD_TRIGGER_R) {
++ State::Save(slot);
++ hotkey = 0;
++ }
++ if( (x.button & PAD_BUTTON_DOWN) == PAD_BUTTON_DOWN) {
++ if(slot > 0) slot--;
++ Core::DisplayMessage(fmt::format("Slot {} selected", slot), 4000);
++ hotkey = 0;
++ }
++ if( (x.button & PAD_BUTTON_UP) == PAD_BUTTON_UP) {
++ if(slot < 10) slot++;
++ Core::DisplayMessage(fmt::format("Slot {} selected", slot), 4000);
++ hotkey = 0;
++ }
++ if( (x.button & PAD_BUTTON_A) == PAD_BUTTON_A) {
++ Core::SaveScreenShot();
++ hotkey = 0;
++ }
++ if( (x.button & PAD_BUTTON_Y) == PAD_BUTTON_Y) {
++ if(fps == 0) {
++ Config::SetCurrent(Config::GFX_SHOW_FPS, True);
++ fps = 1;
++ } else {
++ Config::SetCurrent(Config::GFX_SHOW_FPS, False);
++ fps = 0;
++ }
++ hotkey = 0;
++ }
++ if( (x.button & PAD_BUTTON_X) == PAD_BUTTON_X) {
++ if(aspect == 0) {
++ Config::SetCurrent(Config::GFX_ASPECT_RATIO, AspectMode::Stretch);
++ aspect = 1;
++ } else {
++ Config::SetCurrent(Config::GFX_ASPECT_RATIO, AspectMode::Auto);
++ aspect = 0;
++ }
++ hotkey = 0;
++ }
++ if( (x.button & PAD_BUTTON_B) == PAD_BUTTON_B) {
++ if(ires == 0) {
++ Config::SetCurrent(Config::GFX_EFB_SCALE, 2);
++ OSD::AddMessage("Internal Resolution: 480P");
++ ires = 2;
++ }
++ else if(ires == 2) {
++ Config::SetCurrent(Config::GFX_EFB_SCALE, 4);
++ OSD::AddMessage("Internal Resolution: 720P");
++ ires = 4;
++ }
++ else if(ires == 4) {
++ Config::SetCurrent(Config::GFX_EFB_SCALE, 6);
++ OSD::AddMessage("Internal Resolution: 1080P");
++ ires = 6;
++ } else {
++ Config::SetCurrent(Config::GFX_EFB_SCALE, 1);
++ OSD::AddMessage("Internal Resolution: 240P");
++ ires = 0;
++ }
++ hotkey = 0;
++ }
++ if( (x.button & PAD_TRIGGER_Z) == PAD_TRIGGER_Z) {
++ if(fforward == 0) {
++ auto speed = Config::Get(Config::MAIN_EMULATION_SPEED) + 1.0;
++ speed = (speed >= 0.95 && speed <= 1.05) ? 1.0 : speed;
++ Config::SetCurrent(Config::MAIN_EMULATION_SPEED, speed);
++ OSD::AddMessage("Fast Forward: ON");
++ fforward = 1;
++ } else {
++ auto speed = Config::Get(Config::MAIN_EMULATION_SPEED) - 1.0;
++ speed = (speed <= 0 || (speed >= 0.95 && speed <= 1.05)) ? 1.0 : speed;
++ Config::SetCurrent(Config::MAIN_EMULATION_SPEED, speed);
++ OSD::AddMessage("Fast Forward: OFF");
++ fforward = 0;
++ }
++ hotkey = 0;
++ }
++ }
++ }
++
+ // TODO: Is this sleep appropriate?
+ std::this_thread::sleep_for(std::chrono::milliseconds(1));
+ }
+@@ -166,6 +280,8 @@ WindowSystemInfo PlatformX11::GetWindowS
wsi.display_connection = static_cast(m_display);
wsi.render_window = reinterpret_cast(m_window);
wsi.render_surface = reinterpret_cast(m_window);
@@ -1100,7 +1234,7 @@ diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/PlatformX11.cpp dolphin/Source/
return wsi;
}
-@@ -176,8 +178,9 @@ void PlatformX11::UpdateWindowPosition()
+@@ -176,8 +292,9 @@ void PlatformX11::UpdateWindowPosition()
Window winDummy;
unsigned int borderDummy, depthDummy;
@@ -1112,7 +1246,7 @@ diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/PlatformX11.cpp dolphin/Source/
}
void PlatformX11::ProcessEvents()
-@@ -264,7 +267,10 @@ void PlatformX11::ProcessEvents()
+@@ -264,7 +381,10 @@ void PlatformX11::ProcessEvents()
case ConfigureNotify:
{
if (g_renderer)
@@ -1125,8 +1259,8 @@ diff -rupN dolphin.orig/Source/Core/DolphinNoGUI/PlatformX11.cpp dolphin/Source/
break;
}
diff -rupN dolphin.orig/Source/Core/InputCommon/GCPadStatus.h dolphin/Source/Core/InputCommon/GCPadStatus.h
---- dolphin.orig/Source/Core/InputCommon/GCPadStatus.h 2023-09-26 17:58:02.845996536 +0000
-+++ dolphin/Source/Core/InputCommon/GCPadStatus.h 2023-10-27 13:46:40.297379075 +0000
+--- dolphin.orig/Source/Core/InputCommon/GCPadStatus.h 2024-03-05 04:05:26.598983167 +0000
++++ dolphin/Source/Core/InputCommon/GCPadStatus.h 2024-03-05 04:06:08.240295843 +0000
@@ -26,6 +26,7 @@ enum PadButton
PAD_BUTTON_X = 0x0400,
PAD_BUTTON_Y = 0x0800,
@@ -1136,8 +1270,8 @@ diff -rupN dolphin.orig/Source/Core/InputCommon/GCPadStatus.h dolphin/Source/Cor
struct GCPadStatus
diff -rupN dolphin.orig/Source/Core/VideoBackends/OGL/OGLRender.cpp dolphin/Source/Core/VideoBackends/OGL/OGLRender.cpp
---- dolphin.orig/Source/Core/VideoBackends/OGL/OGLRender.cpp 2023-09-26 17:58:02.853996721 +0000
-+++ dolphin/Source/Core/VideoBackends/OGL/OGLRender.cpp 2023-10-27 13:46:40.349380285 +0000
+--- dolphin.orig/Source/Core/VideoBackends/OGL/OGLRender.cpp 2024-03-05 04:05:26.598983167 +0000
++++ dolphin/Source/Core/VideoBackends/OGL/OGLRender.cpp 2024-03-05 04:06:08.240295843 +0000
@@ -471,11 +471,7 @@ Renderer::Renderer(std::unique_ptrGetBackBufferHeight();
m_system_framebuffer->UpdateDimensions(m_backbuffer_width, m_backbuffer_height);
diff -rupN dolphin.orig/Source/Core/VideoBackends/OGL/OGLRender.h dolphin/Source/Core/VideoBackends/OGL/OGLRender.h
---- dolphin.orig/Source/Core/VideoBackends/OGL/OGLRender.h 2023-09-26 17:58:02.853996721 +0000
-+++ dolphin/Source/Core/VideoBackends/OGL/OGLRender.h 2023-10-27 13:46:40.345380190 +0000
+--- dolphin.orig/Source/Core/VideoBackends/OGL/OGLRender.h 2024-03-05 04:05:26.598983167 +0000
++++ dolphin/Source/Core/VideoBackends/OGL/OGLRender.h 2024-03-05 04:06:08.240295843 +0000
@@ -31,6 +31,14 @@ enum GlslVersion
GlslEs310, // GLES 3.1
GlslEs320, // GLES 3.2
@@ -1295,8 +1429,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/OGL/OGLRender.h dolphin/Source
bool bSupportsImageLoadStore;
bool bSupportsAniso;
diff -rupN dolphin.orig/Source/Core/VideoBackends/OGL/OGLTexture.cpp dolphin/Source/Core/VideoBackends/OGL/OGLTexture.cpp
---- dolphin.orig/Source/Core/VideoBackends/OGL/OGLTexture.cpp 2023-09-26 17:58:02.853996721 +0000
-+++ dolphin/Source/Core/VideoBackends/OGL/OGLTexture.cpp 2023-10-27 13:46:40.345380190 +0000
+--- dolphin.orig/Source/Core/VideoBackends/OGL/OGLTexture.cpp 2024-03-05 04:05:26.602983293 +0000
++++ dolphin/Source/Core/VideoBackends/OGL/OGLTexture.cpp 2024-03-05 04:06:08.240295843 +0000
@@ -128,12 +128,18 @@ OGLTexture::OGLTexture(const TextureConf
GLenum gl_internal_format = GetGLInternalFormatForTextureFormat(m_config.format, true);
if (tex_config.IsMultisampled())
@@ -1318,8 +1452,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/OGL/OGLTexture.cpp dolphin/Sou
else if (g_ogl_config.bSupportsTextureStorage)
{
diff -rupN dolphin.orig/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp dolphin/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp
---- dolphin.orig/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp 2023-09-26 17:58:02.853996721 +0000
-+++ dolphin/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp 2023-10-27 13:46:40.341380098 +0000
+--- dolphin.orig/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp 2024-03-05 04:05:26.602983293 +0000
++++ dolphin/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp 2024-03-05 04:06:08.240295843 +0000
@@ -661,12 +661,13 @@ void ProgramShaderCache::CreateHeader()
std::string SupportedESTextureBuffer;
switch (g_ogl_config.SupportedESPointSize)
@@ -1379,8 +1513,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp dol
}
diff -rupN dolphin.orig/Source/Core/VideoBackends/Software/SWOGLWindow.cpp dolphin/Source/Core/VideoBackends/Software/SWOGLWindow.cpp
---- dolphin.orig/Source/Core/VideoBackends/Software/SWOGLWindow.cpp 2023-09-26 17:58:02.853996721 +0000
-+++ dolphin/Source/Core/VideoBackends/Software/SWOGLWindow.cpp 2023-10-27 13:46:40.357380469 +0000
+--- dolphin.orig/Source/Core/VideoBackends/Software/SWOGLWindow.cpp 2024-03-05 04:05:26.602983293 +0000
++++ dolphin/Source/Core/VideoBackends/Software/SWOGLWindow.cpp 2024-03-05 04:06:08.240295843 +0000
@@ -32,6 +32,16 @@ bool SWOGLWindow::IsHeadless() const
return m_gl_context->IsHeadless();
}
@@ -1418,8 +1552,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Software/SWOGLWindow.cpp dolph
GLsizei glWidth = (GLsizei)m_gl_context->GetBackBufferWidth();
GLsizei glHeight = (GLsizei)m_gl_context->GetBackBufferHeight();
diff -rupN dolphin.orig/Source/Core/VideoBackends/Software/SWOGLWindow.h dolphin/Source/Core/VideoBackends/Software/SWOGLWindow.h
---- dolphin.orig/Source/Core/VideoBackends/Software/SWOGLWindow.h 2023-09-26 17:58:02.853996721 +0000
-+++ dolphin/Source/Core/VideoBackends/Software/SWOGLWindow.h 2023-10-27 13:46:40.357380469 +0000
+--- dolphin.orig/Source/Core/VideoBackends/Software/SWOGLWindow.h 2024-03-05 04:05:26.602983293 +0000
++++ dolphin/Source/Core/VideoBackends/Software/SWOGLWindow.h 2024-03-05 04:06:08.240295843 +0000
@@ -20,6 +20,10 @@ public:
GLContext* GetContext() const { return m_gl_context.get(); }
bool IsHeadless() const;
@@ -1432,8 +1566,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Software/SWOGLWindow.h dolphin
void ShowImage(const AbstractTexture* image, const MathUtil::Rectangle& xfb_region);
diff -rupN dolphin.orig/Source/Core/VideoBackends/Software/SWRenderer.cpp dolphin/Source/Core/VideoBackends/Software/SWRenderer.cpp
---- dolphin.orig/Source/Core/VideoBackends/Software/SWRenderer.cpp 2023-09-26 17:58:02.853996721 +0000
-+++ dolphin/Source/Core/VideoBackends/Software/SWRenderer.cpp 2023-10-27 13:46:40.357380469 +0000
+--- dolphin.orig/Source/Core/VideoBackends/Software/SWRenderer.cpp 2024-03-05 04:05:26.602983293 +0000
++++ dolphin/Source/Core/VideoBackends/Software/SWRenderer.cpp 2024-03-05 04:06:08.240295843 +0000
@@ -60,17 +60,17 @@ SWRenderer::CreateFramebuffer(AbstractTe
static_cast(depth_attachment));
}
@@ -1488,8 +1622,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Software/SWRenderer.cpp dolphi
{
u32 value = 0;
diff -rupN dolphin.orig/Source/Core/VideoBackends/Software/SWRenderer.h dolphin/Source/Core/VideoBackends/Software/SWRenderer.h
---- dolphin.orig/Source/Core/VideoBackends/Software/SWRenderer.h 2023-09-26 17:58:02.853996721 +0000
-+++ dolphin/Source/Core/VideoBackends/Software/SWRenderer.h 2023-10-27 13:46:40.357380469 +0000
+--- dolphin.orig/Source/Core/VideoBackends/Software/SWRenderer.h 2024-03-05 04:05:26.602983293 +0000
++++ dolphin/Source/Core/VideoBackends/Software/SWRenderer.h 2024-03-05 04:06:08.240295843 +0000
@@ -29,7 +29,7 @@ public:
std::unique_ptr
CreateFramebuffer(AbstractTexture* color_attachment, AbstractTexture* depth_attachment) override;
@@ -1509,8 +1643,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Software/SWRenderer.h dolphin/
};
} // namespace SW
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/CMakeLists.txt dolphin/Source/Core/VideoBackends/Vulkan/CMakeLists.txt
---- dolphin.orig/Source/Core/VideoBackends/Vulkan/CMakeLists.txt 2023-09-26 17:58:02.853996721 +0000
-+++ dolphin/Source/Core/VideoBackends/Vulkan/CMakeLists.txt 2023-10-27 13:46:40.357380469 +0000
+--- dolphin.orig/Source/Core/VideoBackends/Vulkan/CMakeLists.txt 2024-03-05 04:05:26.602983293 +0000
++++ dolphin/Source/Core/VideoBackends/Vulkan/CMakeLists.txt 2024-03-05 04:06:08.240295843 +0000
@@ -35,6 +35,8 @@ add_library(videovulkan
VulkanContext.h
VulkanLoader.cpp
@@ -1521,8 +1655,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/CMakeLists.txt dolphin/
target_link_libraries(videovulkan
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp dolphin/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp
---- dolphin.orig/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp 2023-09-26 17:58:02.853996721 +0000
-+++ dolphin/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp 2023-10-27 13:46:40.357380469 +0000
+--- dolphin.orig/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp 2024-03-05 04:05:26.602983293 +0000
++++ dolphin/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cpp 2024-03-05 04:06:08.240295843 +0000
@@ -10,24 +10,24 @@
#include "Common/MsgHandler.h"
#include "Common/Thread.h"
@@ -1922,8 +2056,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/CommandBufferManager.cp
-std::unique_ptr g_command_buffer_mgr;
} // namespace Vulkan
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/CommandBufferManager.h dolphin/Source/Core/VideoBackends/Vulkan/CommandBufferManager.h
---- dolphin.orig/Source/Core/VideoBackends/Vulkan/CommandBufferManager.h 2023-09-26 17:58:02.853996721 +0000
-+++ dolphin/Source/Core/VideoBackends/Vulkan/CommandBufferManager.h 2023-10-27 13:46:40.357380469 +0000
+--- dolphin.orig/Source/Core/VideoBackends/Vulkan/CommandBufferManager.h 2024-03-05 04:05:26.602983293 +0000
++++ dolphin/Source/Core/VideoBackends/Vulkan/CommandBufferManager.h 2024-03-05 04:06:08.240295843 +0000
@@ -22,10 +22,12 @@
namespace Vulkan
@@ -2063,8 +2197,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/CommandBufferManager.h
} // namespace Vulkan
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/Constants.h dolphin/Source/Core/VideoBackends/Vulkan/Constants.h
---- dolphin.orig/Source/Core/VideoBackends/Vulkan/Constants.h 2023-09-26 17:58:02.853996721 +0000
-+++ dolphin/Source/Core/VideoBackends/Vulkan/Constants.h 2023-10-27 13:46:40.357380469 +0000
+--- dolphin.orig/Source/Core/VideoBackends/Vulkan/Constants.h 2024-03-05 04:05:26.602983293 +0000
++++ dolphin/Source/Core/VideoBackends/Vulkan/Constants.h 2024-03-05 04:06:08.240295843 +0000
@@ -12,7 +12,7 @@
namespace Vulkan
{
@@ -2075,8 +2209,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/Constants.h dolphin/Sou
// Number of frames in flight, will be used to decide how many descriptor pools are used
constexpr size_t NUM_FRAMES_IN_FLIGHT = 2;
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/ObjectCache.cpp dolphin/Source/Core/VideoBackends/Vulkan/ObjectCache.cpp
---- dolphin.orig/Source/Core/VideoBackends/Vulkan/ObjectCache.cpp 2023-09-26 17:58:02.853996721 +0000
-+++ dolphin/Source/Core/VideoBackends/Vulkan/ObjectCache.cpp 2023-10-27 13:46:40.357380469 +0000
+--- dolphin.orig/Source/Core/VideoBackends/Vulkan/ObjectCache.cpp 2024-03-05 04:05:26.602983293 +0000
++++ dolphin/Source/Core/VideoBackends/Vulkan/ObjectCache.cpp 2024-03-05 04:06:08.240295843 +0000
@@ -389,6 +389,8 @@ VkSampler ObjectCache::GetSampler(const
VkRenderPass ObjectCache::GetRenderPass(VkFormat color_format, VkFormat depth_format,
u32 multisamples, VkAttachmentLoadOp load_op)
@@ -2096,8 +2230,8 @@ diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/ObjectCache.cpp dolphin
vkDestroyRenderPass(g_vulkan_context->GetDevice(), it.second, nullptr);
m_render_pass_cache.clear();
diff -rupN dolphin.orig/Source/Core/VideoBackends/Vulkan/ObjectCache.h dolphin/Source/Core/VideoBackends/Vulkan/ObjectCache.h
---- dolphin.orig/Source/Core/VideoBackends/Vulkan/ObjectCache.h 2023-09-26 17:58:02.853996721 +0000
-+++ dolphin/Source/Core/VideoBackends/Vulkan/ObjectCache.h 2023-10-27 13:46:40.357380469 +0000
+--- dolphin.orig/Source/Core/VideoBackends/Vulkan/ObjectCache.h 2024-03-05 04:05:26.602983293 +0000
++++ dolphin/Source/Core/VideoBackends/Vulkan/ObjectCache.h 2024-03-05 04:06:08.240295843 +0000
@@ -7,6 +7,7 @@
#include
#include