From f1657ba737631fef402c899b3c6d62532db196a1 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 16 Jan 2024 14:08:12 +0100 Subject: [PATCH 01/22] RYUJINX: re-added --- net.retrodeck.retrodeck.yml | 17 +++++++++++++++++ old/removed-modules.yml | 19 +------------------ 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 62c2b843..1cd5586f 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1334,6 +1334,23 @@ modules: # MAME - End + # Ryujinx Appimage - START + # https://ryujinx.org/download + + - name: Ryujinx + buildsystem: simple + build-commands: + - | + tar -zxvf ryujinx-1.1.685-linux_x64.tar.gz + mv -v publish ${FLATPAK_DEST}/ryujinx + ln -sv ${FLATPAK_DEST}/ryujinx/Ryujinx ${FLATPAK_DEST}/bin/Ryujinx + sources: + - type: file + url: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1111/ryujinx-1.1.1111-linux_x64.tar.gz + sha256: 612dd28c38e5f8657da0f1b3f54385ffbb304053bca7c9d8de027242b0c9f946 + + # Ryujinx Appimage - END + # External manifests end - name: retrodeck diff --git a/old/removed-modules.yml b/old/removed-modules.yml index 43d5cab3..04274441 100644 --- a/old/removed-modules.yml +++ b/old/removed-modules.yml @@ -112,24 +112,7 @@ # Duckstation-DontUpdate - END - # Ryujinx Appimage - START - # https://ryujinx.org/download - - # - name: Ryujinx - # buildsystem: simple - # build-commands: - # - | - # tar -zxvf ryujinx-1.1.685-linux_x64.tar.gz - # mv -v publish ${FLATPAK_DEST}/ryujinx - # ln -sv ${FLATPAK_DEST}/ryujinx/Ryujinx ${FLATPAK_DEST}/bin/Ryujinx - # sources: - # - type: file - # url: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.685/ryujinx-1.1.685-linux_x64.tar.gz - # sha256: bc4d7076106d7aa59c3a3ea22b83c553e5fa1a897815831adcf18cc13d729e15 - - # Ryujinx Appimage - END - - # Ryujinx - START + # Ryujinx - START # https://github.com/flathub/org.ryujinx.Ryujinx - name: Ryujinx From 56edb70232f0411dd0bf3274a32bef56f3c41970 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Wed, 17 Jan 2024 08:27:05 +0100 Subject: [PATCH 02/22] RYUJINX: fixed wrong tar command --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 1cd5586f..6dfd2de5 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1341,7 +1341,7 @@ modules: buildsystem: simple build-commands: - | - tar -zxvf ryujinx-1.1.685-linux_x64.tar.gz + tar -zxvf ryujinx-*-linux_x64.tar.gz mv -v publish ${FLATPAK_DEST}/ryujinx ln -sv ${FLATPAK_DEST}/ryujinx/Ryujinx ${FLATPAK_DEST}/bin/Ryujinx sources: From b46fd7d26f13272a90535cd6cd198a3727feaa5b Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 30 Jan 2024 14:52:22 +0100 Subject: [PATCH 03/22] RYUJINX: updated --- net.retrodeck.retrodeck.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 125b31ba..34e15200 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1316,13 +1316,13 @@ modules: buildsystem: simple build-commands: - | - tar -zxvf ryujinx-*-linux_x64.tar.gz + tar -zxvf *.tar.gz mv -v publish ${FLATPAK_DEST}/ryujinx ln -sv ${FLATPAK_DEST}/ryujinx/Ryujinx ${FLATPAK_DEST}/bin/Ryujinx sources: - type: file - url: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1111/ryujinx-1.1.1111-linux_x64.tar.gz - sha256: 612dd28c38e5f8657da0f1b3f54385ffbb304053bca7c9d8de027242b0c9f946 + url: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1151/ryujinx-1.1.1151-linux_x64.tar.gz + sha256: 34ac1d2fae46dc63cf7bdd0dfd9c819e6a4efec9aba35ee4d0f98fce63e49faa # Ryujinx Appimage - END From d00ab922feb26e2c2c71599b2189e048fa383232 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 5 Feb 2024 09:35:56 +0100 Subject: [PATCH 04/22] RYUJINX: updated to 1.1.1159 --- net.retrodeck.retrodeck.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 34e15200..27b52a61 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1321,8 +1321,8 @@ modules: ln -sv ${FLATPAK_DEST}/ryujinx/Ryujinx ${FLATPAK_DEST}/bin/Ryujinx sources: - type: file - url: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1151/ryujinx-1.1.1151-linux_x64.tar.gz - sha256: 34ac1d2fae46dc63cf7bdd0dfd9c819e6a4efec9aba35ee4d0f98fce63e49faa + url: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1159/ryujinx-1.1.1159-linux_x64.tar.gz + sha256: 5f2354ae6b1c982f4f2ea4734c1320ce32dca2badb8c1f6e4216353f54faaa94 # Ryujinx Appimage - END From c9f62cddb3e61c89b0f3ef619f606b300f3f74e5 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 13 Feb 2024 11:10:10 +0100 Subject: [PATCH 05/22] RYUJINX: updated --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 27b52a61..d799f3a3 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1321,7 +1321,7 @@ modules: ln -sv ${FLATPAK_DEST}/ryujinx/Ryujinx ${FLATPAK_DEST}/bin/Ryujinx sources: - type: file - url: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1159/ryujinx-1.1.1159-linux_x64.tar.gz + url: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1192/ryujinx-1.1.1192-linux_x64.tar.gz sha256: 5f2354ae6b1c982f4f2ea4734c1320ce32dca2badb8c1f6e4216353f54faaa94 # Ryujinx Appimage - END From 55c359987499b733e84042aeb147ebead4359e7a Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 13 Feb 2024 12:18:48 +0100 Subject: [PATCH 06/22] RYUJINX: fixed sha --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index d799f3a3..0062f4a5 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1322,7 +1322,7 @@ modules: sources: - type: file url: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1192/ryujinx-1.1.1192-linux_x64.tar.gz - sha256: 5f2354ae6b1c982f4f2ea4734c1320ce32dca2badb8c1f6e4216353f54faaa94 + sha256: 41716233f5745a7df1e411af6bac9d828f0b6b6feb63b5ef87445b81b01dee54 # Ryujinx Appimage - END From 46b9922a98728006ceb46b547cb03e3cd517e7a2 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Wed, 14 Feb 2024 00:05:03 +0100 Subject: [PATCH 07/22] Triggering build From db3aab771fc25f67b824e7545dde797245636c49 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Wed, 14 Feb 2024 09:30:26 +0100 Subject: [PATCH 08/22] RYUJINX: added reset to cli and Configurator --- retrodeck.sh | 4 ++-- tools/configurator.sh | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/retrodeck.sh b/retrodeck.sh index edb0241a..e95920cc 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -57,9 +57,9 @@ https://retrodeck.net ;; --reset-component*) echo "You are about to reset one or more RetroDECK components or emulators." - echo "Available options are: es-de, retroarch, cemu, citra, dolphin, duckstation, melonds, pcsx3, pico8, ppsspp, primehack, rpcs3, xemu, yuzu, vita3k, mame, gzdoom, boilr, all" + echo "Available options are: es-de, retroarch, cemu, citra, dolphin, duckstation, melonds, pcsx3, pico8, ppsspp, primehack, rpcs3, ryujinx, xemu, yuzu, vita3k, mame, gzdoom, boilr, all" read -p "Please enter the component you would like to reset: " component - if [[ "$component" =~ ^(es-de | retroarch | cemu | citra | dolphin | duckstation | melonds | pcsx3 | pico8 | ppsspp | primehack | rpcs3 | xemu | yuzu | vita3k | mame | gzdoom | boilr | all)$ ]]; then + if [[ "$component" =~ ^(es-de | retroarch | cemu | citra | dolphin | duckstation | melonds | pcsx3 | pico8 | ppsspp | primehack | rpcs3 | ryujinx | xemu | yuzu | vita3k | mame | gzdoom | boilr | all)$ ]]; then read -p "You are about to reset $component to default settings. Enter 'y' to continue, 'n' to stop: " response if [[ $response == [yY] ]]; then prepare_component "reset" "$component" "cli" diff --git a/tools/configurator.sh b/tools/configurator.sh index 196befb2..fa86cc08 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -1009,6 +1009,7 @@ configurator_reset_dialog() { "PPSSPP" "Reset the PSP emulator PPSSPP to default settings" \ "Primehack" "Reset the Metroid Prime emulator Primehack to default settings" \ "RPCS3" "Reset the PS3 emulator RPCS3 to default settings" \ + "Ryujinx" "Reset the Switch emulator Ryujinx to default settings" \ "Vita3k" "Reset the PS Vita emulator Vita3k to default settings" \ "XEMU" "Reset the XBOX emulator XEMU to default settings" \ "Yuzu" "Reset the Switch emulator Yuzu to default settings" ) From 29da4eef21c530ca50ca6e18c5d61b109aec4d89 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Wed, 14 Feb 2024 10:47:39 +0100 Subject: [PATCH 09/22] RYUJINX: fixed config file substitutions --- functions/prepare_component.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/functions/prepare_component.sh b/functions/prepare_component.sh index 510f2985..e8cac45c 100644 --- a/functions/prepare_component.sh +++ b/functions/prepare_component.sh @@ -549,14 +549,14 @@ prepare_component() { rm -rf "$multi_user_data_folder/$SteamAppUser/config/Ryujinx" mkdir -p "$multi_user_data_folder/$SteamAppUser/config/Ryujinx/system" cp -fv $emuconfigs/ryujinx/* "$multi_user_data_folder/$SteamAppUser/config/Ryujinx" - sed -i 's#/home/deck/retrodeck#'$rdhome'#g' "$multi_user_data_folder/$SteamAppUser/config/Ryujinx/Config.json" + sed -i 's#RETRODECKHOMEDIR#'$rdhome'#g' "$multi_user_data_folder/$SteamAppUser/config/Ryujinx/Config.json" dir_prep "$multi_user_data_folder/$SteamAppUser/config/Ryujinx" "/var/config/Ryujinx" else # removing config directory to wipe legacy files rm -rf /var/config/Ryujinx mkdir -p /var/config/Ryujinx/system cp -fv $emuconfigs/ryujinx/* /var/config/Ryujinx - sed -i 's#/home/deck/retrodeck#'$rdhome'#g' "$ryujinxconf" + sed -i 's#RETRODECKHOMEDIR#'$rdhome'#g' "$ryujinxconf" fi fi if [[ "$action" == "reset" ]] || [[ "$action" == "postmove" ]]; then # Run commands that apply to both resets and moves From d1d0a938e3f13394ae35559fd2ecf8c64d5bc7e2 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Wed, 14 Feb 2024 10:47:55 +0100 Subject: [PATCH 10/22] RYUJINX: updated config file to version 49 --- emu-configs/ryujinx/Config.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/emu-configs/ryujinx/Config.json b/emu-configs/ryujinx/Config.json index e58b6ead..3c977be0 100644 --- a/emu-configs/ryujinx/Config.json +++ b/emu-configs/ryujinx/Config.json @@ -1,5 +1,5 @@ { - "version": 48, + "version": 49, "enable_file_log": true, "backend_threading": "Auto", "res_scale": 1, @@ -136,7 +136,7 @@ "enable_rumble": true }, "left_joycon": { - "button_minus": "Minus", + "button_minus": "Back", "button_l": "LeftShoulder", "button_zl": "LeftTrigger", "button_sl": "Unbound", @@ -147,7 +147,7 @@ "dpad_right": "DpadRight" }, "right_joycon": { - "button_plus": "Plus", + "button_plus": "Start", "button_r": "RightShoulder", "button_zr": "RightTrigger", "button_sl": "Unbound", @@ -166,6 +166,7 @@ ], "graphics_backend": "Vulkan", "preferred_gpu": "0x1002_0x163F", + "multiplayer_mode": 0, "multiplayer_lan_interface_id": "0", "use_hypervisor": true } From 4469e984c78f1c83aeeb84d97c44753166293c69 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 15 Feb 2024 09:34:27 +0100 Subject: [PATCH 11/22] RYUJINX: added a function to check for keys --- functions/functions.sh | 37 +++++++++++++++++++++++++++++++++++++ retrodeck.sh | 3 +++ 2 files changed, 40 insertions(+) diff --git a/functions/functions.sh b/functions/functions.sh index 98768855..5f66cbb5 100644 --- a/functions/functions.sh +++ b/functions/functions.sh @@ -559,6 +559,43 @@ easter_eggs() { cp -f "$new_splash_file" "$current_splash_file" # Deploy assigned splash screen } +manage_ryujinx_keys() { + # This function checks if Switch keys are existing and symlinks them inside the Ryujinx system folder + # If the symlinks are broken it recreates them + + echo "Checking Ryujinx Switch keys." #TODO logging + ryujinx_system="/var/config/Ryujinx/system" # Set the path to the Ryujinx system folder + # Check if the keys folder exists + if [ -d "$bios_folder/switch/keys" ]; then + # Check if there are files in the keys folder + if [ -n "$(find "$bios_folder/switch/keys" -maxdepth 1 -type f)" ]; then + # Iterate over each file in the keys folder + for file in "$bios_folder/switch/keys"/*; do + filename=$(basename "$file") + symlink="$ryujinx_system/$filename" + + # Check if the symlink exists and is valid + if [ -L "$symlink" ] && [ "$(readlink -f "$symlink")" = "$file" ]; then + echo "Found \"$symlink\" and it's a valid symlink." #TODO logging + continue # Skip if the symlink is already valid + fi + + # Remove broken symlink or non-symlink file + echo "Found \"$symlink\" but it's not a valid symlink. Repeiring it" #TODO logging + [ -e "$symlink" ] && rm "$symlink" + + # Create symlink + ln -s "$file" "$symlink" + echo "Created symlink: \"$symlink\"" + done + else + echo "No files found in $bios_folder/switch/keys. Continuing" #TODO logging + fi + else + echo "Directory $bios_folder/switch/keys does not exist. Maybe Ryujinx was never run. Continuing" #TODO logging + fi +} + quit_retrodeck() { pkill -f retrodeck pkill -f emulationstation diff --git a/retrodeck.sh b/retrodeck.sh index 97934a43..bc18205a 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -182,6 +182,9 @@ if [[ -f "$HOME/.steam/steam/controller_base/templates/RetroDECK_controller_conf fi # REMOVE BEFORE NEXT VERSION RELEASE +# Linking switch keys for Ryujinx +manage_ryujinx_keys + # Normal Startup start_retrodeck From cf5bd4019b51933c4162971df6f1edf86a0d161d Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 15 Feb 2024 09:40:04 +0100 Subject: [PATCH 12/22] RYUJINX: updated config --- emu-configs/ryujinx/Config.json | 212 +++++++++++++++++++++++++++++--- 1 file changed, 197 insertions(+), 15 deletions(-) diff --git a/emu-configs/ryujinx/Config.json b/emu-configs/ryujinx/Config.json index 3c977be0..630011ad 100644 --- a/emu-configs/ryujinx/Config.json +++ b/emu-configs/ryujinx/Config.json @@ -12,7 +12,7 @@ "graphics_shaders_dump_path": "", "logging_enable_debug": false, "logging_enable_stub": false, - "logging_enable_info": true, + "logging_enable_info": false, "logging_enable_warn": true, "logging_enable_error": true, "logging_enable_trace": false, @@ -91,13 +91,13 @@ "enable_keyboard": false, "enable_mouse": false, "hotkeys": { - "toggle_vsync": "F1", - "screenshot": "F8", - "show_ui": "F4", - "pause": "F5", - "toggle_mute": "F2", - "res_scale_up": "Unbound", - "res_scale_down": "Unbound", + "toggle_vsync": "Unknown", + "screenshot": "Unknown", + "show_ui": "F1", + "pause": "F4", + "toggle_mute": "Unknown", + "res_scale_up": "F7", + "res_scale_down": "F8", "volume_up": "Unbound", "volume_down": "Unbound" }, @@ -121,14 +121,78 @@ }, "deadzone_left": 0, "deadzone_right": 0, - "range_left": 1, + "range_left": 1.2, "range_right": 1, - "trigger_threshold": 0.5, + "trigger_threshold": 0, + "motion": { + "slot": 0, + "alt_slot": 0, + "mirror_input": false, + "dsu_server_host": "127.0.0.1", + "dsu_server_port": 26760, + "motion_backend": "CemuHook", + "sensitivity": 100, + "gyro_deadzone": 1, + "enable_motion": true + }, + "rumble": { + "strong_rumble": 2.1, + "weak_rumble": 1, + "enable_rumble": true + }, + "left_joycon": { + "button_minus": "Back", + "button_l": "LeftShoulder", + "button_zl": "LeftTrigger", + "button_sl": "Unbound", + "button_sr": "Unbound", + "dpad_up": "DpadUp", + "dpad_down": "DpadDown", + "dpad_left": "DpadLeft", + "dpad_right": "DpadRight" + }, + "right_joycon": { + "button_plus": "Start", + "button_r": "RightShoulder", + "button_zr": "RightTrigger", + "button_sl": "Unbound", + "button_sr": "Unbound", + "button_x": "Y", + "button_b": "A", + "button_y": "X", + "button_a": "B" + }, + "version": 1, + "backend": "GamepadSDL2", + "id": "0-f6790003-28de-0000-ff11-000001000000", + "controller_type": "ProController", + "player_index": "Player1" + }, + { + "left_joycon_stick": { + "joystick": "Left", + "invert_stick_x": false, + "invert_stick_y": false, + "rotate90_cw": false, + "stick_button": "LeftStick" + }, + "right_joycon_stick": { + "joystick": "Right", + "invert_stick_x": false, + "invert_stick_y": false, + "rotate90_cw": false, + "stick_button": "RightStick" + }, + "deadzone_left": 0, + "deadzone_right": 0, + "range_left": 1.2, + "range_right": 1, + "trigger_threshold": 0, "motion": { "motion_backend": "GamepadDriver", "sensitivity": 100, "gyro_deadzone": 1, - "enable_motion": true + "enable_motion": false }, "rumble": { "strong_rumble": 1, @@ -159,9 +223,127 @@ }, "version": 1, "backend": "GamepadSDL2", - "id": "0-f6790003-28de-0000-ff11-000001000000", - "controller_type": "Handheld", - "player_index": "Handheld" + "id": "1-00000003-28de-0000-ff11-000001000000", + "controller_type": "ProController", + "player_index": "Player2" + }, + { + "left_joycon_stick": { + "joystick": "Left", + "invert_stick_x": false, + "invert_stick_y": false, + "rotate90_cw": false, + "stick_button": "LeftStick" + }, + "right_joycon_stick": { + "joystick": "Right", + "invert_stick_x": false, + "invert_stick_y": false, + "rotate90_cw": false, + "stick_button": "RightStick" + }, + "deadzone_left": 0, + "deadzone_right": 0, + "range_left": 1.2, + "range_right": 1, + "trigger_threshold": 0, + "motion": { + "motion_backend": "GamepadDriver", + "sensitivity": 100, + "gyro_deadzone": 1, + "enable_motion": false + }, + "rumble": { + "strong_rumble": 1, + "weak_rumble": 1, + "enable_rumble": true + }, + "left_joycon": { + "button_minus": "Back", + "button_l": "LeftShoulder", + "button_zl": "LeftTrigger", + "button_sl": "Unbound", + "button_sr": "Unbound", + "dpad_up": "DpadUp", + "dpad_down": "DpadDown", + "dpad_left": "DpadLeft", + "dpad_right": "DpadRight" + }, + "right_joycon": { + "button_plus": "Start", + "button_r": "RightShoulder", + "button_zr": "RightTrigger", + "button_sl": "Unbound", + "button_sr": "Unbound", + "button_x": "Y", + "button_b": "A", + "button_y": "X", + "button_a": "B" + }, + "version": 1, + "backend": "GamepadSDL2", + "id": "2-00000003-28de-0000-ff11-000001000000", + "controller_type": "ProController", + "player_index": "Player3" + }, + { + "left_joycon_stick": { + "joystick": "Left", + "invert_stick_x": false, + "invert_stick_y": false, + "rotate90_cw": false, + "stick_button": "LeftStick" + }, + "right_joycon_stick": { + "joystick": "Right", + "invert_stick_x": false, + "invert_stick_y": false, + "rotate90_cw": false, + "stick_button": "RightStick" + }, + "deadzone_left": 0, + "deadzone_right": 0, + "range_left": 1.2, + "range_right": 1, + "trigger_threshold": 0, + "motion": { + "motion_backend": "GamepadDriver", + "sensitivity": 100, + "gyro_deadzone": 1, + "enable_motion": false + }, + "rumble": { + "strong_rumble": 1, + "weak_rumble": 1, + "enable_rumble": true + }, + "left_joycon": { + "button_minus": "Back", + "button_l": "LeftShoulder", + "button_zl": "LeftTrigger", + "button_sl": "Unbound", + "button_sr": "Unbound", + "dpad_up": "DpadUp", + "dpad_down": "DpadDown", + "dpad_left": "DpadLeft", + "dpad_right": "DpadRight" + }, + "right_joycon": { + "button_plus": "Start", + "button_r": "RightShoulder", + "button_zr": "RightTrigger", + "button_sl": "Unbound", + "button_sr": "Unbound", + "button_x": "Y", + "button_b": "A", + "button_y": "X", + "button_a": "B" + }, + "version": 1, + "backend": "GamepadSDL2", + "id": "3-00000003-28de-0000-ff11-000001000000", + "controller_type": "ProController", + "player_index": "Player4" } ], "graphics_backend": "Vulkan", @@ -169,4 +351,4 @@ "multiplayer_mode": 0, "multiplayer_lan_interface_id": "0", "use_hypervisor": true -} +} \ No newline at end of file From ee664d7ac13fb31b3d5071c1eb168253168102fe Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 15 Feb 2024 13:59:21 +0100 Subject: [PATCH 13/22] RYUJINX: binary was symlinked instead of wrapper, fixed --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 50ff205c..406c4454 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1319,7 +1319,7 @@ modules: - | tar -zxvf *.tar.gz mv -v publish ${FLATPAK_DEST}/ryujinx - ln -sv ${FLATPAK_DEST}/ryujinx/Ryujinx ${FLATPAK_DEST}/bin/Ryujinx + ln -sv ${FLATPAK_DEST}/ryujinx/Ryujinx.sh ${FLATPAK_DEST}/bin/Ryujinx sources: - type: file url: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1192/ryujinx-1.1.1192-linux_x64.tar.gz From 483c7e4421f041cfe53217a3097a895b3f8e8dae Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 15 Feb 2024 14:00:30 +0100 Subject: [PATCH 14/22] RYUJINX: binary was symlinked instead of wrapper, fixed -fix --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 406c4454..824ca769 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -1319,7 +1319,7 @@ modules: - | tar -zxvf *.tar.gz mv -v publish ${FLATPAK_DEST}/ryujinx - ln -sv ${FLATPAK_DEST}/ryujinx/Ryujinx.sh ${FLATPAK_DEST}/bin/Ryujinx + ln -sv ${FLATPAK_DEST}/ryujinx/Ryujinx ${FLATPAK_DEST}/bin/Ryujinx.sh sources: - type: file url: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1192/ryujinx-1.1.1192-linux_x64.tar.gz From 345acb94b1a4c25e0b99c500e725691076bb0925 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 15 Feb 2024 14:45:55 +0100 Subject: [PATCH 15/22] RYUJINX: removing keys folder symlinking --- functions/prepare_component.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/functions/prepare_component.sh b/functions/prepare_component.sh index e8cac45c..4ea009c0 100644 --- a/functions/prepare_component.sh +++ b/functions/prepare_component.sh @@ -559,9 +559,9 @@ prepare_component() { sed -i 's#RETRODECKHOMEDIR#'$rdhome'#g' "$ryujinxconf" fi fi - if [[ "$action" == "reset" ]] || [[ "$action" == "postmove" ]]; then # Run commands that apply to both resets and moves - dir_prep "$bios_folder/switch/keys" "/var/config/Ryujinx/system" - fi + # if [[ "$action" == "reset" ]] || [[ "$action" == "postmove" ]]; then # Run commands that apply to both resets and moves + # dir_prep "$bios_folder/switch/keys" "/var/config/Ryujinx/system" + # fi if [[ "$action" == "postmove" ]]; then # Run only post-move commands sed -i 's#RETRODECKHOMEDIR#'$rdhome'#g' "$ryujinxconf" # This is an unfortunate one-off because set_setting_value does not currently support JSON fi From 4c7c30f46796c8c4d707fb6c2c32a3e88f408b35 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 15 Feb 2024 14:48:51 +0100 Subject: [PATCH 16/22] RYUJINX: removing keys folder symlinking --- functions/prepare_component.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/functions/prepare_component.sh b/functions/prepare_component.sh index 4ea009c0..42905a09 100644 --- a/functions/prepare_component.sh +++ b/functions/prepare_component.sh @@ -547,14 +547,14 @@ prepare_component() { echo "------------------------" if [[ $multi_user_mode == "true" ]]; then rm -rf "$multi_user_data_folder/$SteamAppUser/config/Ryujinx" - mkdir -p "$multi_user_data_folder/$SteamAppUser/config/Ryujinx/system" + #mkdir -p "$multi_user_data_folder/$SteamAppUser/config/Ryujinx/system" cp -fv $emuconfigs/ryujinx/* "$multi_user_data_folder/$SteamAppUser/config/Ryujinx" sed -i 's#RETRODECKHOMEDIR#'$rdhome'#g' "$multi_user_data_folder/$SteamAppUser/config/Ryujinx/Config.json" dir_prep "$multi_user_data_folder/$SteamAppUser/config/Ryujinx" "/var/config/Ryujinx" else # removing config directory to wipe legacy files rm -rf /var/config/Ryujinx - mkdir -p /var/config/Ryujinx/system + #mkdir -p /var/config/Ryujinx/system cp -fv $emuconfigs/ryujinx/* /var/config/Ryujinx sed -i 's#RETRODECKHOMEDIR#'$rdhome'#g' "$ryujinxconf" fi From c0ffc1ae52e51c04acafbb5bb053950c90496793 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 15 Feb 2024 15:46:50 +0100 Subject: [PATCH 17/22] Triggering build From 7cb2c82ba2706becfdad91668b24902781f2da09 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sun, 25 Feb 2024 15:52:04 +0100 Subject: [PATCH 18/22] RYUJINX: updated component premaration --- functions/prepare_component.sh | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/functions/prepare_component.sh b/functions/prepare_component.sh index dc2c89e0..21536480 100644 --- a/functions/prepare_component.sh +++ b/functions/prepare_component.sh @@ -542,6 +542,8 @@ prepare_component() { fi if [[ "$component" =~ ^(ryujunx|Ryujinx|all)$ ]]; then + # NOTE: for techincal reasons the system folder of Ryujinx IS NOT a sumlink of the bios/switch/keys as not only the keys are located there + # When RetroDECK starts there is a "manage_ryujinx_keys" function that symlinks the keys only in Rryujinx/system. if [[ "$action" == "reset" ]]; then # Run reset-only commands echo "------------------------" echo "Initializing RYUJINX" @@ -549,15 +551,22 @@ prepare_component() { if [[ $multi_user_mode == "true" ]]; then rm -rf "$multi_user_data_folder/$SteamAppUser/config/Ryujinx" #mkdir -p "$multi_user_data_folder/$SteamAppUser/config/Ryujinx/system" + # TODO: add /var/config/Ryujinx/system system folder management cp -fv $emuconfigs/ryujinx/* "$multi_user_data_folder/$SteamAppUser/config/Ryujinx" sed -i 's#RETRODECKHOMEDIR#'$rdhome'#g' "$multi_user_data_folder/$SteamAppUser/config/Ryujinx/Config.json" dir_prep "$multi_user_data_folder/$SteamAppUser/config/Ryujinx" "/var/config/Ryujinx" + # TODO: add nand (saves) folder management + # TODO: add "registered" folder management else # removing config directory to wipe legacy files rm -rf /var/config/Ryujinx - #mkdir -p /var/config/Ryujinx/system + mkdir -p /var/config/Ryujinx/system cp -fv $emuconfigs/ryujinx/* /var/config/Ryujinx sed -i 's#RETRODECKHOMEDIR#'$rdhome'#g' "$ryujinxconf" + # Linking switch nand/saves folder + rm -rf /var/config/Ryujinx/bis + dir_prep "$saves_folder/switch/nand" "/var/config/Ryujinx/bis" + dir_prep "$bios_folder/switch/registered" "/var/config/Ryujinx/bis/system/Contents/registered" fi fi # if [[ "$action" == "reset" ]] || [[ "$action" == "postmove" ]]; then # Run commands that apply to both resets and moves @@ -622,8 +631,8 @@ prepare_component() { rm -rf "$multi_user_data_folder/$SteamAppUser/config/yuzu" mkdir -p "$multi_user_data_folder/$SteamAppUser/config/yuzu" cp -fvr "$emuconfigs/yuzu/"* "$multi_user_data_folder/$SteamAppUser/config/yuzu/" - set_setting_value "$multi_user_data_folder/$SteamAppUser/config/yuzu/qt-config.ini" "nand_directory" "$saves_folder/switch/yuzu/nand" "yuzu" "Data%20Storage" - set_setting_value "$multi_user_data_folder/$SteamAppUser/config/yuzu/qt-config.ini" "sdmc_directory" "$saves_folder/switch/yuzu/sdmc" "yuzu" "Data%20Storage" + set_setting_value "$multi_user_data_folder/$SteamAppUser/config/yuzu/qt-config.ini" "nand_directory" "$saves_folder/switch/nand" "yuzu" "Data%20Storage" + set_setting_value "$multi_user_data_folder/$SteamAppUser/config/yuzu/qt-config.ini" "sdmc_directory" "$saves_folder/switch/sdmc" "yuzu" "Data%20Storage" set_setting_value "$multi_user_data_folder/$SteamAppUser/config/yuzu/qt-config.ini" "Paths\gamedirs\4\path" "$roms_folder/switch" "yuzu" "UI" set_setting_value "$multi_user_data_folder/$SteamAppUser/config/yuzu/qt-config.ini" "Screenshots\screenshot_path" "$screenshots_folder" "yuzu" "UI" dir_prep "$multi_user_data_folder/$SteamAppUser/config/yuzu" "/var/config/yuzu" From a2cf1f329a3bbf4914ec832e60df85807a0a02b4 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sun, 25 Feb 2024 15:52:35 +0100 Subject: [PATCH 19/22] YUZU: unifying nand and sdmc folders wit Ryujinx --- emu-configs/yuzu/qt-config.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/emu-configs/yuzu/qt-config.ini b/emu-configs/yuzu/qt-config.ini index a1e63a4d..b4a4feff 100644 --- a/emu-configs/yuzu/qt-config.ini +++ b/emu-configs/yuzu/qt-config.ini @@ -815,9 +815,9 @@ gamecard_path= gamecard_path\default=true load_directory=/var/data/yuzu/load load_directory\default=true -nand_directory=RETRODECKHOMEDIR/saves/switch/yuzu/nand +nand_directory=RETRODECKHOMEDIR/saves/switch/nand nand_directory\default=true -sdmc_directory=RETRODECKHOMEDIR/saves/switch/yuzu/sdmc +sdmc_directory=RETRODECKHOMEDIR/saves/switch/sdmc sdmc_directory\default=true tas_directory=/var/data/yuzu/tas tas_directory\default=true From de06dc46c88634a098b2cbd5db3d45baa9c2495d Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sun, 25 Feb 2024 15:52:59 +0100 Subject: [PATCH 20/22] RYUJINX: fixing keys linker --- functions/functions.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/functions/functions.sh b/functions/functions.sh index c78fb81a..9ce6a359 100644 --- a/functions/functions.sh +++ b/functions/functions.sh @@ -587,15 +587,15 @@ manage_ryujinx_keys() { # If the symlinks are broken it recreates them echo "Checking Ryujinx Switch keys." #TODO logging - ryujinx_system="/var/config/Ryujinx/system" # Set the path to the Ryujinx system folder + local ryujinx_system="/var/config/Ryujinx/system" # Set the path to the Ryujinx system folder # Check if the keys folder exists if [ -d "$bios_folder/switch/keys" ]; then # Check if there are files in the keys folder if [ -n "$(find "$bios_folder/switch/keys" -maxdepth 1 -type f)" ]; then # Iterate over each file in the keys folder for file in "$bios_folder/switch/keys"/*; do - filename=$(basename "$file") - symlink="$ryujinx_system/$filename" + local filename=$(basename "$file") + local symlink="$ryujinx_system/$filename" # Check if the symlink exists and is valid if [ -L "$symlink" ] && [ "$(readlink -f "$symlink")" = "$file" ]; then @@ -604,7 +604,7 @@ manage_ryujinx_keys() { fi # Remove broken symlink or non-symlink file - echo "Found \"$symlink\" but it's not a valid symlink. Repeiring it" #TODO logging + echo "Found \"$symlink\" but it's not a valid symlink. Repairing it" #TODO logging [ -e "$symlink" ] && rm "$symlink" # Create symlink From fa4dcfebd6cf4a6401f8d297ae73f0d834238502 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sun, 25 Feb 2024 15:53:37 +0100 Subject: [PATCH 21/22] RYUJINX: unifyng saves with Yuzu --- functions/post_update.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/functions/post_update.sh b/functions/post_update.sh index ec9acee5..504773f3 100644 --- a/functions/post_update.sh +++ b/functions/post_update.sh @@ -243,6 +243,16 @@ post_update() { sed -i 's^nintendo_button_layout^abxy_button_swap^' "$rd_conf" # This is a one-off sed statement as there are no functions for replacing section names mv -f /var/config/emulationstation/.emulationstation /var/config/emulationstation/ES-DE # in 3.0 .emulationstation was moved into ES-DE ln -s /var/config/emulationstation/ES-DE /var/config/emulationstation/.emulationstation # symlinking it to mantain the compatibility # TODO: remove this symlink n 0.9.0b + + # YUZU - Switch saves are now unified for both Yuzu and Ryujinx + mv $saves_folder/switch/yuzu/* $saves_folder/switch + rm -rf $saves_folder/switch/yuzu + set_setting_value "$yuzuconf" "nand_directory" "$saves_folder/switch/nand" "yuzu" "Data%20Storage" + set_setting_value "$yuzuconf" "sdmc_directory" "$saves_folder/switch/sdmc" "yuzu" "Data%20Storage" + + # TODO: init Vita3K + # TODO: init Ryujinx + # TODO: init GZDoom fi # if [[ $prev_version -le "090" ]]; then From e6775b84d21eb5f3fc21fa2474a943edbb6f744d Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 26 Feb 2024 14:52:55 +0100 Subject: [PATCH 22/22] SWITCH: separated the saves between Yuzu and Ryujinf cause of different directory structure [skip ci] --- functions/post_update.sh | 6 ------ functions/prepare_component.sh | 10 ++++++---- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/functions/post_update.sh b/functions/post_update.sh index 504773f3..21bb5219 100644 --- a/functions/post_update.sh +++ b/functions/post_update.sh @@ -244,12 +244,6 @@ post_update() { mv -f /var/config/emulationstation/.emulationstation /var/config/emulationstation/ES-DE # in 3.0 .emulationstation was moved into ES-DE ln -s /var/config/emulationstation/ES-DE /var/config/emulationstation/.emulationstation # symlinking it to mantain the compatibility # TODO: remove this symlink n 0.9.0b - # YUZU - Switch saves are now unified for both Yuzu and Ryujinx - mv $saves_folder/switch/yuzu/* $saves_folder/switch - rm -rf $saves_folder/switch/yuzu - set_setting_value "$yuzuconf" "nand_directory" "$saves_folder/switch/nand" "yuzu" "Data%20Storage" - set_setting_value "$yuzuconf" "sdmc_directory" "$saves_folder/switch/sdmc" "yuzu" "Data%20Storage" - # TODO: init Vita3K # TODO: init Ryujinx # TODO: init GZDoom diff --git a/functions/prepare_component.sh b/functions/prepare_component.sh index 21536480..107890aa 100644 --- a/functions/prepare_component.sh +++ b/functions/prepare_component.sh @@ -556,6 +556,7 @@ prepare_component() { sed -i 's#RETRODECKHOMEDIR#'$rdhome'#g' "$multi_user_data_folder/$SteamAppUser/config/Ryujinx/Config.json" dir_prep "$multi_user_data_folder/$SteamAppUser/config/Ryujinx" "/var/config/Ryujinx" # TODO: add nand (saves) folder management + # TODO: add nand (saves) folder management # TODO: add "registered" folder management else # removing config directory to wipe legacy files @@ -565,8 +566,9 @@ prepare_component() { sed -i 's#RETRODECKHOMEDIR#'$rdhome'#g' "$ryujinxconf" # Linking switch nand/saves folder rm -rf /var/config/Ryujinx/bis - dir_prep "$saves_folder/switch/nand" "/var/config/Ryujinx/bis" - dir_prep "$bios_folder/switch/registered" "/var/config/Ryujinx/bis/system/Contents/registered" + dir_prep "$saves_folder/switch/ryujinx/nand" "/var/config/Ryujinx/bis" + dir_prep "$saves_folder/switch/ryujinx/sdcard" "/var/config/Ryujinx/sdcard" + dir_prep "$bios_folder/switch/ryujinx/registered" "/var/config/Ryujinx/bis/system/Contents/registered" fi fi # if [[ "$action" == "reset" ]] || [[ "$action" == "postmove" ]]; then # Run commands that apply to both resets and moves @@ -631,8 +633,8 @@ prepare_component() { rm -rf "$multi_user_data_folder/$SteamAppUser/config/yuzu" mkdir -p "$multi_user_data_folder/$SteamAppUser/config/yuzu" cp -fvr "$emuconfigs/yuzu/"* "$multi_user_data_folder/$SteamAppUser/config/yuzu/" - set_setting_value "$multi_user_data_folder/$SteamAppUser/config/yuzu/qt-config.ini" "nand_directory" "$saves_folder/switch/nand" "yuzu" "Data%20Storage" - set_setting_value "$multi_user_data_folder/$SteamAppUser/config/yuzu/qt-config.ini" "sdmc_directory" "$saves_folder/switch/sdmc" "yuzu" "Data%20Storage" + set_setting_value "$multi_user_data_folder/$SteamAppUser/config/yuzu/qt-config.ini" "nand_directory" "$saves_folder/switch/yuzu/nand" "yuzu" "Data%20Storage" + set_setting_value "$multi_user_data_folder/$SteamAppUser/config/yuzu/qt-config.ini" "sdmc_directory" "$saves_folder/switch/yuzu/sdmc" "yuzu" "Data%20Storage" set_setting_value "$multi_user_data_folder/$SteamAppUser/config/yuzu/qt-config.ini" "Paths\gamedirs\4\path" "$roms_folder/switch" "yuzu" "UI" set_setting_value "$multi_user_data_folder/$SteamAppUser/config/yuzu/qt-config.ini" "Screenshots\screenshot_path" "$screenshots_folder" "yuzu" "UI" dir_prep "$multi_user_data_folder/$SteamAppUser/config/yuzu" "/var/config/yuzu"