diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index 78137807..c6bc850f 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -74,7 +74,7 @@ jobs: artifacts: "RetroDECK.flatpak,RetroDECK-Artifact.tar.gz" allowUpdates: true - prerelease: true + #prerelease: true draft: false token: ${{ secrets.TRIGGER_BUILD_TOKEN }} repo: RetroDECK-cooker diff --git a/es-configs/es_systems.xml b/es-configs/es_systems.xml index f8cf4b9b..3acbbfe4 100644 --- a/es-configs/es_systems.xml +++ b/es-configs/es_systems.xml @@ -1375,7 +1375,7 @@ %ROMPATH%/switch .nca .NCA .nro .NRO .nso .NSO .nsp .NSP .xci .XCI .7z .7Z .zip .ZIP %EMULATOR_YUZU% -f -g %ROM% - %EMULATOR_RYUJINX% %ROM% + switch switch diff --git a/functions.sh b/functions.sh index 41862417..8fe5ae7e 100644 --- a/functions.sh +++ b/functions.sh @@ -565,6 +565,22 @@ dolphin_init() { dir_prep "$rdhome/saves/wii/dolphin" "/var/data/dolphin-emu/Wii" } +primehack_init() { + echo "----------------------" + echo "Initializing Primehack" + echo "----------------------" + mkdir -pv /var/config/primehack/ + cp -fvr "$emuconfigs/primehack/"* /var/config/primehack/ + sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/primehack/Dolphin.ini + dir_prep "$rdhome/saves/gc/primehack/EUR" "/var/data/primehack/GC/EUR" + dir_prep "$rdhome/saves/gc/primehack/USA" "/var/data/primehack/GC/USA" + dir_prep "$rdhome/saves/gc/primehack/JAP" "/var/data/primehack/GC/JAP" + dir_prep "$rdhome/screenshots" "/var/data/primehack/ScreenShots" + dir_prep "$rdhome/states" "/var/data/primehack/StateSaves" + mkdir -pv /var/data/primehack/Wii/ + dir_prep "$rdhome/saves/wii/primehack" "/var/data/primehack/Wii" +} + pcsx2_init() { echo "----------------------" echo "Initializing PCSX2" @@ -670,17 +686,17 @@ standalones_init() { echo "------------------------------------" echo "Initializing standalone emulators" echo "------------------------------------" - - yuzu_init citra_init dolphin_init + duckstation_init melonds_init pcsx2_init ppssppsdl_init + primehack_init rpcs3_init - xemu_init - duckstation_init ryujinx_init + xemu_init + yuzu_init } emulators_post_move() { @@ -713,6 +729,15 @@ emulators_post_move() { dir_prep "$rdhome/states" "/var/data/dolphin-emu/StateSaves" dir_prep "$rdhome/saves/wii/dolphin" "/var/data/dolphin-emu/Wii/" + # Primehack section + sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/primehack/Dolphin.ini + dir_prep "$rdhome/saves/gc/primehack/EUR" "/var/data/primehack/GC/EUR" + dir_prep "$rdhome/saves/gc/primehack/USA" "/var/data/primehack/GC/USA" + dir_prep "$rdhome/saves/gc/primehack/JAP" "/var/data/primehack/GC/JAP" + dir_prep "$rdhome/screenshots" "/var/data/primehack/ScreenShots" + dir_prep "$rdhome/states" "/var/data/primehack/StateSaves" + dir_prep "$rdhome/saves/wii/primehack" "/var/data/primehack/Wii/" + # PCSX2 section sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/PCSX2/inis/PCSX2_ui.ini sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/PCSX2/inis/PCSX2.ini diff --git a/global.sh b/global.sh index f44ea40d..ef2b7dd8 100755 --- a/global.sh +++ b/global.sh @@ -104,12 +104,12 @@ else echo "Loading it" source "$rd_conf" - # Update SD card path if changed from SteamOS update - if [[ ! -d $sdcard && "$(ls -A /run/media/deck/)" ]]; then - prev_sd_path=$sdcard - configurator_generic_dialog "The SD card was not found in the expected location.\nThis may happen when SteamOS is updated.\n\nPlease browse to the current location of the SD card.\n\nIf you are not using an SD card, please click \"Cancel\"." - new_sd_path=$(browse "SD Card Location") - sed -i 's#'$prev_sd_path'#'$new_sd_path'#g' $rd_conf + # Verify rdhome is where it is supposed to be. + if [[ ! -d $rdhome ]]; then + prev_home_path=$rdhome + configurator_generic_dialog "The RetroDECK data folder was not found in the expected location.\nThis may happen when SteamOS is updated.\n\nPlease browse to the current location of the \"retrodeck\" folder." + new_home_path=$(browse "RetroDECK folder location") + sed -i 's#'$prev_home_path'#'$new_home_path'#g' $rd_conf source "$rd_conf" emulators_post_move fi diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml index 50529f9c..963182df 100644 --- a/net.retrodeck.retrodeck.appdata.xml +++ b/net.retrodeck.retrodeck.appdata.xml @@ -69,6 +69,19 @@ + + https://github.com/XargonWan/RetroDECK/releases/tag/0.6.1b + +
    +
  • Removed Ryjuinx as it was broken (sorry)
  • +
  • Yuzu updated to mainline-1301
  • +
  • Added missing Primehack config and Configurator options
  • +
  • Resized configurator windows
  • +
  • Fixed a bug where the retrodeck folder was having a symlink creation issue after migration
  • +
+
+
+ https://github.com/XargonWan/RetroDECK/releases/tag/0.6.0b diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 3bfbdf11..f59fafae 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -78,7 +78,7 @@ modules: - | git checkout ${GITHUB_REF_NAME} mkdir -p ${FLATPAK_DEST}/retrodeck/ - VERSION="0.6.0b" + VERSION="0.6.1b" if [[ $VERSION == *"cooker"* ]]; then VERSION="$VERSION-[$(git rev-parse --short HEAD)]" @@ -470,8 +470,8 @@ modules: - ln -s "${FLATPAK_DEST}/yuzu/usr/bin/yuzu" "${FLATPAK_DEST}/bin/yuzu" sources: - type: file - url: https://github.com/yuzu-emu/yuzu-mainline/releases/download/mainline-0-1271/yuzu-mainline-20221215-15a33b3cd.AppImage - sha256: 61173b9b61dc548242beea4c61447781435c0ee7fd62d69313df566a3eece452 + url: https://github.com/yuzu-emu/yuzu-mainline/releases/download/mainline-0-1301/yuzu-mainline-20230109-8c9f71e76.AppImage + sha256: 8dc52ddc8547b92d08cf450ce32c2f400049b7df98475a42be5012660c76743d # Yuzu - END @@ -945,6 +945,70 @@ modules: # Cemu - END + # Ryujinx - START + # https://github.com/flathub/org.ryujinx.Ryujinx + # + # THIS MUST BE AT THE END OF THE MANIFEST OR THE BINARY WILL GET CORRUPTED + # + + # - name: Ryujinx + # buildsystem: simple + # build-options: + # no-debuginfo: true + # no-debuginfo-compression: true + # strip: false + # arch: + # x86_64: + # env: + # RUNTIME: linux-x64 + # env: + # PKG_CONFIG_PATH: /app/lib/pkgconfig:/app/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig + # DOTNET_CLI_TELEMETRY_OPTOUT: 'true' + # DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 'true' + # RYUJINX_VERSION: 1.1.500 + # RYUJINX_TARGET_RELEASE_CHANNEL_OWNER: flathub + # RYUJINX_TARGET_RELEASE_CHANNEL_REPO: org.ryujinx.Ryujinx + # RYUJINX_TARGET_RELEASE_CHANNEL_NAME: master + # build-commands: + # - | + # export PATH=$PATH:/run/build/Ryujinx/dotnet-sdk + # export RYUJINX_GIT_SHORT_HASH=$(git rev-parse --short HEAD) + # export RUNTIME_FRAMEWORK_VERSION=$(find nuget-sources -name 'microsoft.netcore.app.host.linux-x64.*' | grep -oP '(\d.\d.\d+.nupkg)' | grep -oP '(\d.\d.\d+)') + # sed -r --in-place "s/\%\%RYUJINX_BUILD_VERSION\%\%/$RYUJINX_VERSION/g;" Ryujinx.Common/ReleaseInformations.cs + # sed -r --in-place "s/\%\%RYUJINX_BUILD_GIT_HASH\%\%/$RYUJINX_GIT_SHORT_HASH/g;" Ryujinx.Common/ReleaseInformations.cs + # sed -r --in-place "s/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_NAME\%\%/$RYUJINX_TARGET_RELEASE_CHANNEL_NAME/g;" Ryujinx.Common/ReleaseInformations.cs + # sed -r --in-place "s/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_OWNER\%\%/$RYUJINX_TARGET_RELEASE_CHANNEL_OWNER/g;" Ryujinx.Common/ReleaseInformations.cs + # sed -r --in-place "s/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_REPO\%\%/$RYUJINX_TARGET_RELEASE_CHANNEL_REPO/g;" Ryujinx.Common/ReleaseInformations.cs + # mkdir -p /app/bin + # dotnet publish -c Release -r $RUNTIME /p:DebugType=embedded Ryujinx /p:Version=$RYUJINX_VERSION /p:SourceRevisionId=$RYUJINX_GIT_SHORT_HASH /p:ExtraDefineConstants=DISABLE_UPDATER /p:RuntimeFrameworkVersion=$RUNTIME_FRAMEWORK_VERSION --self-contained --source nuget-sources + # if [ $? -ne 0 ]; then + # exit 1; + # fi; + # cp -r --remove-destination /run/build/Ryujinx/Ryujinx/bin/Release/net7.0/$RUNTIME/publish/* /app/bin/ + # mkdir -p /app/lib/ffmpeg + # ln -s /usr/lib/x86_64-linux-gnu/libX11.so.6 /app/lib/libX11.so + # install -Dm755 ryujinx-wrapper /app/bin/ryujinx-wrapper + # sources: + # - type: git + # url: https://github.com/Ryujinx/Ryujinx.git + # commit: 2b23463daa01226c5569d8e61d1d0959570354cf + # - type: archive + # only-arches: + # - x86_64 + # dest: dotnet-sdk + # url: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/7.0.101/dotnet-sdk-7.0.101-linux-x64.tar.gz + # sha256: 454e2da3d02c74c2f6d2446c94fd9075f8db80ff6c9b9d41d5e470683e16a1d5 + # x-checker-data: + # type: html + # url: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/7.0/latest.version + # version-pattern: ^([\d\.a-z-]+)$ + # url-template: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/$version/dotnet-sdk-$version-linux-x64.tar.gz + # - rd-submodules/ryujinx/nuget_sources.json + # - type: file + # path: rd-submodules/ryujinx/ryujinx-wrapper + + # Ryujinx - END + # External manifests end - name: retrodeck @@ -1000,67 +1064,3 @@ modules: - type: git url: https://github.com/XargonWan/RetroDECK.git branch: main - - # Ryujinx - START - # https://github.com/flathub/org.ryujinx.Ryujinx - # - # THIS MUST BE AT THE END OF THE MANIFEST OR THE BINARY WILL GET CORRUPTED - # - - - name: Ryujinx - buildsystem: simple - build-options: - no-debuginfo: true - no-debuginfo-compression: true - strip: false - arch: - x86_64: - env: - RUNTIME: linux-x64 - env: - PKG_CONFIG_PATH: /app/lib/pkgconfig:/app/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig - DOTNET_CLI_TELEMETRY_OPTOUT: 'true' - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 'true' - RYUJINX_VERSION: 1.1.405 - RYUJINX_TARGET_RELEASE_CHANNEL_OWNER: flathub - RYUJINX_TARGET_RELEASE_CHANNEL_REPO: org.ryujinx.Ryujinx - RYUJINX_TARGET_RELEASE_CHANNEL_NAME: master - build-commands: - - | - export PATH=$PATH:/run/build/Ryujinx/dotnet-sdk - export RYUJINX_GIT_SHORT_HASH=$(git rev-parse --short HEAD) - export RUNTIME_FRAMEWORK_VERSION=$(find nuget-sources -name 'microsoft.netcore.app.host.linux-x64.*' | grep -oP '(\d.\d.\d+.nupkg)' | grep -oP '(\d.\d.\d+)') - sed -r --in-place "s/\%\%RYUJINX_BUILD_VERSION\%\%/$RYUJINX_VERSION/g;" Ryujinx.Common/ReleaseInformations.cs - sed -r --in-place "s/\%\%RYUJINX_BUILD_GIT_HASH\%\%/$RYUJINX_GIT_SHORT_HASH/g;" Ryujinx.Common/ReleaseInformations.cs - sed -r --in-place "s/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_NAME\%\%/$RYUJINX_TARGET_RELEASE_CHANNEL_NAME/g;" Ryujinx.Common/ReleaseInformations.cs - sed -r --in-place "s/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_OWNER\%\%/$RYUJINX_TARGET_RELEASE_CHANNEL_OWNER/g;" Ryujinx.Common/ReleaseInformations.cs - sed -r --in-place "s/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_REPO\%\%/$RYUJINX_TARGET_RELEASE_CHANNEL_REPO/g;" Ryujinx.Common/ReleaseInformations.cs - mkdir -p /app/bin - dotnet publish -c Release -r $RUNTIME /p:DebugType=embedded Ryujinx /p:Version=$RYUJINX_VERSION /p:SourceRevisionId=$RYUJINX_GIT_SHORT_HASH /p:ExtraDefineConstants=DISABLE_UPDATER /p:RuntimeFrameworkVersion=$RUNTIME_FRAMEWORK_VERSION --self-contained --source nuget-sources - if [ $? -ne 0 ]; then - exit 1; - fi; - cp -r --remove-destination /run/build/Ryujinx/Ryujinx/bin/Release/net7.0/$RUNTIME/publish/* /app/bin/ - mkdir -p /app/lib/ffmpeg - ln -s /usr/lib/x86_64-linux-gnu/libX11.so.6 /app/lib/libX11.so - install -Dm755 ryujinx-wrapper /app/bin/ryujinx-wrapper - sources: - - type: git - url: https://github.com/Ryujinx/Ryujinx.git - commit: 458452279cee03bfe1bbf2c3daf3fc9722b03a74 - - type: archive - only-arches: - - x86_64 - dest: dotnet-sdk - url: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/7.0.100/dotnet-sdk-7.0.100-linux-x64.tar.gz - sha256: 5d4a58eeca1a4ab095b55e6486b1278147b0ab121ce883b2bcde3d3626c9a81c - x-checker-data: - type: html - url: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/7.0/latest.version - version-pattern: ^([\d\.a-z-]+)$ - url-template: https://dotnetcli.blob.core.windows.net/dotnet/Sdk/$version/dotnet-sdk-$version-linux-x64.tar.gz - - rd-submodules/ryujinx/nuget_sources.json - - type: file - path: rd-submodules/ryujinx/ryujinx-wrapper - - # Ryujinx - END \ No newline at end of file diff --git a/retrodeck.sh b/retrodeck.sh index e3dc60f6..7d45819b 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -83,11 +83,6 @@ else finit # Executing First/Force init fi -# Check if SD card path has changed from SteamOS update -if [[ ! -d $sd_card && "$(ls -A /run/media/deck/)" ]]; then - configurator_generic_dialog "The ROMs folder was not found in the expected location.\nThis may happen when SteamOS is updated.\n\nPlease browse to the current location of the " -fi - # Normal Startup start_retrodeck \ No newline at end of file diff --git a/tools/configurator.sh b/tools/configurator.sh index e851fa06..beed5170 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -23,16 +23,17 @@ source /app/libexec/functions.sh # uncomment for flatpak testing # - Reset RetroDECK # - Reset RetroArch # - Reset Specific Standalone Emulator -# - Reset Yuzu -# - Reset Dolphin -# - Reset PCSX2 -# - Reset MelonDS # - Reset Citra +# - Reset Dolphin +# - Reset Duckstation +# - Reset MelonDS +# - Reset PCSX2 +# - Reset PPSSPP +# - Reset Primehack # - Reset RPCS3 # - Reset Ryujinx # - Reset XEMU -# - Reset PPSSPP -# - Reset Duckstation +# - Reset Yuzu # - Reset All Standalone Emulators # - Reset Tools # - Reset All @@ -43,7 +44,7 @@ source /app/libexec/functions.sh # uncomment for flatpak testing configurator_reset_dialog() { choice=$(zenity --list --title="RetroDECK Configurator Utility - Reset Options" --cancel-label="Back" \ - --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --column="Choice" --column="Action" \ "Reset RetroArch" "Reset RetroArch to default settings" \ "Reset Specific Standalone" "Reset only one specific standalone emulator to default settings" \ @@ -61,7 +62,7 @@ configurator_reset_dialog() { "Reset Specific Standalone" ) emulator_to_reset=$(zenity --list \ --title "RetroDECK Configurator Utility - Reset Specific Standalone Emulator" --cancel-label="Back" \ - --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --text="Which emulator do you want to reset to default?" \ --hide-header \ --column=emulator \ @@ -72,6 +73,7 @@ configurator_reset_dialog() { "MelonDS" \ "PCSX2" \ "PPSSPP" \ + "Primehack" \ "RPCS3" \ "Ryujinx" \ "XEMU" \ @@ -114,6 +116,11 @@ configurator_reset_dialog() { configurator_process_complete_dialog "resetting $emulator_to_reset" ;; + "Primehack" ) + primehack_init + configurator_process_complete_dialog "resetting $emulator_to_reset" + ;; + "RPCS3" ) rpcs3_init configurator_process_complete_dialog "resetting $emulator_to_reset" @@ -169,7 +176,7 @@ configurator_reset_dialog() { configurator_retroachivement_dialog() { login=$(zenity --forms --title="RetroDECK Configurator Utility - RetroArch RetroAchievements Login" --cancel-label="Back" \ - --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --text="Enter your RetroAchievements Account details.\n\nBe aware that this tool cannot verify your login details and currently only supports logging in with RetroArch.\nFor registration and more info visit\nhttps://retroachievements.org/\n" \ --separator="=SEP=" \ --add-entry="Username" \ @@ -204,7 +211,7 @@ configurator_power_user_changes_dialog() { if [ $? == 0 ]; then # OK button clicked emulator=$(zenity --list \ --title "RetroDECK Configurator Utility - Power User Options" --cancel-label="Back" \ - --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --text="Which emulator do you want to configure?" \ --hide-header \ --column=emulator \ @@ -216,6 +223,7 @@ configurator_power_user_changes_dialog() { "PCSX2-QT" \ "PCSX2-Legacy" \ "PPSSPP" \ + "Primehack" \ "RPCS3" \ "Ryujinx" \ "XEMU" \ @@ -255,6 +263,10 @@ configurator_power_user_changes_dialog() { PPSSPPSDL ;; + "Primehack" ) + primehack-wrapper + ;; + "RPCS3" ) rpcs3 ;; @@ -313,7 +325,7 @@ configurator_retroarch_rewind_dialog() { configurator_retroarch_options_dialog() { choice=$(zenity --list --title="RetroDECK Configurator Utility - RetroArch Options" --cancel-label="Back" \ - --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --column="Choice" --column="Action" \ "Change Rewind Setting" "Enable or disable the Rewind function in RetroArch" ) @@ -332,7 +344,7 @@ configurator_retroarch_options_dialog() { configurator_options_dialog() { choice=$(zenity --list --title="RetroDECK Configurator Utility - Change Options" --cancel-label="Back" \ - --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --column="Choice" --column="Action" \ "Change RetroArch Settings" "Change settings specific to RetroArch" \ "Power User Changes" "Make changes directly in an emulator" ) @@ -403,6 +415,7 @@ configurator_move_dialog() { if [[ -L "$HOME/retrodeck/roms" ]]; then # Check for ROMs symlink user may have created unlink "$HOME/retrodeck/roms" fi + unlink $HOME/retrodeck # Remove symlink for $rdhome ( dir_prep "$sdcard/retrodeck" "$rdhome" @@ -417,7 +430,7 @@ configurator_move_dialog() { fi if [[ ! -L "$HOME/retrodeck" ]]; then # Always link back to original directory - ln -svf "$sdcard/retrodeck" "$HOME/retrodeck" + ln -svf "$sdcard/retrodeck" "$HOME" fi rdhome="$sdcard/retrodeck" @@ -452,6 +465,10 @@ configurator_move_dialog() { if [[ -L $rdhome/roms ]]; then # Check for ROMs symlink user may have created unlink $rdhome/roms fi + if [[ -L $rdhome && ! $rdhome == "$HOME/retrodeck" ]]; then # Clean up extraneus symlinks from previous moves + unlink $rdhome + fi + unlink $HOME/retrodeck # Remove symlink for $rdhome if the previous location was not internal ( dir_prep "$custom_dest/retrodeck" "$rdhome" @@ -461,12 +478,8 @@ configurator_move_dialog() { --title "RetroDECK Configurator Utility - Move in Progress" \ --text="Moving directory $rdhome to new location of $custom_dest/retrodeck, please wait." - if [[ -L $rdhome && ! $rdhome == "$HOME/retrodeck" ]]; then # Clean up extraneus symlinks from previous moves - unlink $rdhome - fi - if [[ ! -L "$HOME/retrodeck" ]]; then - ln -svf "$custom_dest/retrodeck" "$HOME/retrodeck" + ln -svf "$custom_dest/retrodeck" "$HOME" fi rdhome="$custom_dest/retrodeck" @@ -514,7 +527,7 @@ configurator_welcome_dialog() { setting_value= choice=$(zenity --list --title="RetroDECK Configurator Utility" --cancel-label="Quit" \ - --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --column="Choice" --column="Action" \ "Move Files" "Move files between internal/SD card or to custom locations" \ "Change Options" "Adjust how RetroDECK behaves" \