mirror of
https://github.com/RetroDECK/RetroDECK.git
synced 2024-11-25 07:25:38 +00:00
Merge branch 'feat/pipeline-test' into cooker-0.8.0b
This commit is contained in:
commit
99c26f5780
45
.github/workflows/cooker-selfhosted.yml
vendored
45
.github/workflows/cooker-selfhosted.yml
vendored
|
@ -4,6 +4,7 @@ on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- cooker*
|
- cooker*
|
||||||
|
- feat*
|
||||||
paths:
|
paths:
|
||||||
- '.github/workflows/**'
|
- '.github/workflows/**'
|
||||||
- 'automation_tools/**'
|
- 'automation_tools/**'
|
||||||
|
@ -51,8 +52,8 @@ jobs:
|
||||||
echo "buildid=$result" >> $GITHUB_ENV
|
echo "buildid=$result" >> $GITHUB_ENV
|
||||||
echo "VersionID is $result"
|
echo "VersionID is $result"
|
||||||
|
|
||||||
- name: Run pre-build automation tasks
|
# - name: Run pre-build automation tasks
|
||||||
run : "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/pre_build_automation.sh"
|
# run : "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/pre_build_automation.sh"
|
||||||
|
|
||||||
- name: "Adding flatpak portal for automated updates (cooker only)"
|
- name: "Adding flatpak portal for automated updates (cooker only)"
|
||||||
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/cooker_flatpak_portal_add.sh"
|
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/cooker_flatpak_portal_add.sh"
|
||||||
|
@ -63,18 +64,18 @@ jobs:
|
||||||
- name: "[DEBUG] Outputting manifest"
|
- name: "[DEBUG] Outputting manifest"
|
||||||
run: cat net.retrodeck.retrodeck.yml
|
run: cat net.retrodeck.retrodeck.yml
|
||||||
|
|
||||||
- name: "Build flatpak: download only"
|
# - name: "Build flatpak: download only"
|
||||||
id: "flatpak-download"
|
# id: "flatpak-download"
|
||||||
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh"
|
# run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh"
|
||||||
continue-on-error: true
|
# continue-on-error: true
|
||||||
|
|
||||||
# Sometimes flatpak download fails, in this case it tries a second time
|
# Sometimes flatpak download fails, in this case it tries a second time
|
||||||
- name: "Build flatpak: download only (retry)"
|
# - name: "Build flatpak: download only (retry)"
|
||||||
if: steps.flatpak-download.outcome == 'failure'
|
# if: steps.flatpak-download.outcome == 'failure'
|
||||||
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh"
|
# run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh"
|
||||||
|
|
||||||
- name: Build flatpak
|
# - name: Build flatpak
|
||||||
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_only.sh"
|
# run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_only.sh"
|
||||||
|
|
||||||
- name: Create Artifact for flathub
|
- name: Create Artifact for flathub
|
||||||
run: |
|
run: |
|
||||||
|
@ -84,8 +85,8 @@ jobs:
|
||||||
mv -f RetroDECK-Artifact-cooker.* ${{ secrets.ARTIFACT_REPO }}
|
mv -f RetroDECK-Artifact-cooker.* ${{ secrets.ARTIFACT_REPO }}
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
- name: Create Bundle
|
# - name: Create Bundle
|
||||||
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_bundle.sh"
|
# run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_bundle.sh"
|
||||||
|
|
||||||
- name: Set environment variable with current branch name
|
- name: Set environment variable with current branch name
|
||||||
run: echo "GITHUB_REF_SLUG=$(git rev-parse --abbrev-ref HEAD)" >> $GITHUB_ENV
|
run: echo "GITHUB_REF_SLUG=$(git rev-parse --abbrev-ref HEAD)" >> $GITHUB_ENV
|
||||||
|
@ -101,13 +102,27 @@ jobs:
|
||||||
id: commits
|
id: commits
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
|
- name: Get branch name
|
||||||
|
id: branch_name
|
||||||
|
run: echo "BRANCH_NAME=$(echo $GITHUB_REF | sed 's|refs/heads/||')" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
# if it's a feature branch it will not marked as "latest" cooker version
|
||||||
|
- name: "Set makeLatest (cooker only)"
|
||||||
|
run: |
|
||||||
|
if [[ "$BRANCH_NAME" == 'feat/'* ]]; then
|
||||||
|
echo "MAKE_LATEST=false" >> $GITHUB_ENV
|
||||||
|
else
|
||||||
|
echo "MAKE_LATEST=true" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Publish the flatpak in a new cooker release
|
- name: Publish the flatpak in a new cooker release
|
||||||
uses: ncipollo/release-action@v1
|
uses: ncipollo/release-action@v1
|
||||||
with:
|
with:
|
||||||
tag: "${{ env.GITHUB_REF_SLUG }}-${{ env.buildid }}"
|
tag: "${{env.BRANCH_NAME}}"
|
||||||
body: |
|
body: |
|
||||||
# Release Notes (Cooker)
|
# Release Notes (Cooker)
|
||||||
This is a cooker snapshot based on the commit: ${{ github.event.repository.full_name }}@${{github.sha}}.
|
This is a cooker snapshot based on the commit: ${{ github.event.repository.full_name }}@${{github.sha}}.
|
||||||
|
On branch [${{env.BRANCH_NAME}}](https://github.com/XargonWan/RetroDECK/tree/${{env.BRANCH_NAME}}).
|
||||||
|
|
||||||
## Commits since last release
|
## Commits since last release
|
||||||
${{ steps.commits.outputs.commits }}
|
${{ steps.commits.outputs.commits }}
|
||||||
|
@ -119,7 +134,7 @@ jobs:
|
||||||
|
|
||||||
artifacts: "RetroDECK-cooker.flatpak,RetroDECK-Artifact.tar.gz"
|
artifacts: "RetroDECK-cooker.flatpak,RetroDECK-Artifact.tar.gz"
|
||||||
allowUpdates: true
|
allowUpdates: true
|
||||||
makeLatest: true
|
makeLatest: ${{env.MAKE_LATEST}} # if it's a feat branch is not considered the latest build
|
||||||
token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
|
token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
|
||||||
repo: RetroDECK-cooker
|
repo: RetroDECK-cooker
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
5
.gitmodules
vendored
5
.gitmodules
vendored
|
@ -3,4 +3,7 @@
|
||||||
url = https://github.com/flathub/org.libretro.RetroArch
|
url = https://github.com/flathub/org.libretro.RetroArch
|
||||||
[submodule "rd-submodules/shared-modules"]
|
[submodule "rd-submodules/shared-modules"]
|
||||||
path = rd-submodules/shared-modules
|
path = rd-submodules/shared-modules
|
||||||
url = https://github.com/flathub/shared-modules.git
|
url = https://github.com/flathub/shared-modules.git
|
||||||
|
[submodule "rd-submodules/ryujinx"]
|
||||||
|
path = rd-submodules/ryujinx
|
||||||
|
url = https://github.com/flathub/org.ryujinx.Ryujinx
|
||||||
|
|
|
@ -12,5 +12,6 @@ ppsspp^PPSSPP (Sony PSP Standalone Emulator)
|
||||||
primehack^Primehack (Metroid Prime Standalone Emulator)
|
primehack^Primehack (Metroid Prime Standalone Emulator)
|
||||||
psx_ra^Sony Playstation (RetroArch Core)
|
psx_ra^Sony Playstation (RetroArch Core)
|
||||||
retroarch^RetroArch (Multi-emulator Frontend)
|
retroarch^RetroArch (Multi-emulator Frontend)
|
||||||
|
ryujinx^Ryujinx (Nintendo Switch Standalone Emulator)
|
||||||
snes^Nintendo Super Nintendo
|
snes^Nintendo Super Nintendo
|
||||||
yuzu^Yuzu (Nintendo Switch Standalone Emulator)
|
yuzu^Yuzu (Nintendo Switch Standalone Emulator)
|
||||||
|
|
|
@ -1,14 +1,17 @@
|
||||||
{
|
{
|
||||||
"version": 42,
|
"version": 48,
|
||||||
"enable_file_log": true,
|
"enable_file_log": true,
|
||||||
"backend_threading": "Auto",
|
"backend_threading": "Auto",
|
||||||
"res_scale": 1,
|
"res_scale": 1,
|
||||||
"res_scale_custom": 1,
|
"res_scale_custom": 1,
|
||||||
"max_anisotropy": -1,
|
"max_anisotropy": -1,
|
||||||
"aspect_ratio": "Fixed16x9",
|
"aspect_ratio": "Fixed16x9",
|
||||||
|
"anti_aliasing": "None",
|
||||||
|
"scaling_filter": "Bilinear",
|
||||||
|
"scaling_filter_level": 80,
|
||||||
"graphics_shaders_dump_path": "",
|
"graphics_shaders_dump_path": "",
|
||||||
"logging_enable_debug": false,
|
"logging_enable_debug": false,
|
||||||
"logging_enable_stub": true,
|
"logging_enable_stub": false,
|
||||||
"logging_enable_info": true,
|
"logging_enable_info": true,
|
||||||
"logging_enable_warn": true,
|
"logging_enable_warn": true,
|
||||||
"logging_enable_error": true,
|
"logging_enable_error": true,
|
||||||
|
@ -21,20 +24,21 @@
|
||||||
"system_region": "Europe",
|
"system_region": "Europe",
|
||||||
"system_time_zone": "UTC",
|
"system_time_zone": "UTC",
|
||||||
"system_time_offset": 0,
|
"system_time_offset": 0,
|
||||||
"docked_mode": true,
|
"docked_mode": false,
|
||||||
"enable_discord_integration": true,
|
"enable_discord_integration": true,
|
||||||
"check_updates_on_start": true,
|
"check_updates_on_start": false,
|
||||||
"show_confirm_exit": true,
|
"show_confirm_exit": false,
|
||||||
"hide_cursor_on_idle": false,
|
"hide_cursor": 2,
|
||||||
"enable_vsync": true,
|
"enable_vsync": true,
|
||||||
"enable_shader_cache": true,
|
"enable_shader_cache": true,
|
||||||
"enable_texture_recompression": false,
|
"enable_texture_recompression": false,
|
||||||
"enable_macro_hle": true,
|
"enable_macro_hle": true,
|
||||||
|
"enable_color_space_passthrough": false,
|
||||||
"enable_ptc": true,
|
"enable_ptc": true,
|
||||||
"enable_internet_access": false,
|
"enable_internet_access": false,
|
||||||
"enable_fs_integrity_checks": true,
|
"enable_fs_integrity_checks": true,
|
||||||
"fs_global_access_log_mode": 0,
|
"fs_global_access_log_mode": 0,
|
||||||
"audio_backend": "SDL2",
|
"audio_backend": "OpenAl",
|
||||||
"audio_volume": 1,
|
"audio_volume": 1,
|
||||||
"memory_manager_mode": "HostMappedUnsafe",
|
"memory_manager_mode": "HostMappedUnsafe",
|
||||||
"expand_ram": false,
|
"expand_ram": false,
|
||||||
|
@ -58,6 +62,21 @@
|
||||||
"game_dirs": [
|
"game_dirs": [
|
||||||
"RETRODECKHOMEDIR/roms/switch"
|
"RETRODECKHOMEDIR/roms/switch"
|
||||||
],
|
],
|
||||||
|
"shown_file_types": {
|
||||||
|
"nsp": true,
|
||||||
|
"pfs0": true,
|
||||||
|
"xci": true,
|
||||||
|
"nca": true,
|
||||||
|
"nro": true,
|
||||||
|
"nso": true
|
||||||
|
},
|
||||||
|
"window_startup": {
|
||||||
|
"window_size_width": 1280,
|
||||||
|
"window_size_height": 800,
|
||||||
|
"window_position_x": 0,
|
||||||
|
"window_position_y": 0,
|
||||||
|
"window_maximized": true
|
||||||
|
},
|
||||||
"language_code": "en_US",
|
"language_code": "en_US",
|
||||||
"enable_custom_theme": false,
|
"enable_custom_theme": false,
|
||||||
"custom_theme_path": "",
|
"custom_theme_path": "",
|
||||||
|
@ -67,12 +86,12 @@
|
||||||
"grid_size": 2,
|
"grid_size": 2,
|
||||||
"application_sort": 0,
|
"application_sort": 0,
|
||||||
"is_ascending_order": true,
|
"is_ascending_order": true,
|
||||||
"start_fullscreen": false,
|
"start_fullscreen": true,
|
||||||
"show_console": true,
|
"show_console": true,
|
||||||
"enable_keyboard": false,
|
"enable_keyboard": false,
|
||||||
"enable_mouse": false,
|
"enable_mouse": false,
|
||||||
"hotkeys": {
|
"hotkeys": {
|
||||||
"toggle_vsync": "Tab",
|
"toggle_vsync": "F1",
|
||||||
"screenshot": "F8",
|
"screenshot": "F8",
|
||||||
"show_ui": "F4",
|
"show_ui": "F4",
|
||||||
"pause": "F5",
|
"pause": "F5",
|
||||||
|
@ -104,12 +123,12 @@
|
||||||
"deadzone_right": 0,
|
"deadzone_right": 0,
|
||||||
"range_left": 1,
|
"range_left": 1,
|
||||||
"range_right": 1,
|
"range_right": 1,
|
||||||
"trigger_threshold": 0,
|
"trigger_threshold": 0.5,
|
||||||
"motion": {
|
"motion": {
|
||||||
"motion_backend": "GamepadDriver",
|
"motion_backend": "GamepadDriver",
|
||||||
"sensitivity": 100,
|
"sensitivity": 100,
|
||||||
"gyro_deadzone": 1,
|
"gyro_deadzone": 1,
|
||||||
"enable_motion": false
|
"enable_motion": true
|
||||||
},
|
},
|
||||||
"rumble": {
|
"rumble": {
|
||||||
"strong_rumble": 1,
|
"strong_rumble": 1,
|
||||||
|
@ -133,18 +152,20 @@
|
||||||
"button_zr": "RightTrigger",
|
"button_zr": "RightTrigger",
|
||||||
"button_sl": "Unbound",
|
"button_sl": "Unbound",
|
||||||
"button_sr": "Unbound",
|
"button_sr": "Unbound",
|
||||||
"button_x": "X",
|
"button_x": "Y",
|
||||||
"button_b": "A",
|
"button_b": "A",
|
||||||
"button_y": "Y",
|
"button_y": "X",
|
||||||
"button_a": "B"
|
"button_a": "B"
|
||||||
},
|
},
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"backend": "GamepadSDL2",
|
"backend": "GamepadSDL2",
|
||||||
"id": "0-f6790003-28de-0000-ff11-000001000000",
|
"id": "0-f6790003-28de-0000-ff11-000001000000",
|
||||||
"controller_type": "JoyconPair",
|
"controller_type": "Handheld",
|
||||||
"player_index": "Player1"
|
"player_index": "Handheld"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"graphics_backend": "Vulkan",
|
"graphics_backend": "Vulkan",
|
||||||
"preferred_gpu": "0x1002_0x163F"
|
"preferred_gpu": "0x1002_0x163F",
|
||||||
}
|
"multiplayer_lan_interface_id": "0",
|
||||||
|
"use_hypervisor": true
|
||||||
|
}
|
||||||
|
|
|
@ -604,21 +604,16 @@
|
||||||
<emulator name="RYUJINX">
|
<emulator name="RYUJINX">
|
||||||
<!-- Nintendo Switch emulator Ryujinx -->
|
<!-- Nintendo Switch emulator Ryujinx -->
|
||||||
<rule type="systempath">
|
<rule type="systempath">
|
||||||
<entry>Ryujinx</entry>
|
<entry>Ryujinx.sh</entry>
|
||||||
<entry>Ryujinx.Ava</entry>
|
|
||||||
<entry>org.ryujinx.Ryujinx</entry>
|
<entry>org.ryujinx.Ryujinx</entry>
|
||||||
</rule>
|
</rule>
|
||||||
<rule type="staticpath">
|
<rule type="staticpath">
|
||||||
<entry>/var/lib/flatpak/exports/bin/org.ryujinx.Ryujinx</entry>
|
<entry>/var/lib/flatpak/exports/bin/org.ryujinx.Ryujinx</entry>
|
||||||
<entry>~/.local/share/flatpak/exports/bin/org.ryujinx.Ryujinx</entry>
|
<entry>~/.local/share/flatpak/exports/bin/org.ryujinx.Ryujinx</entry>
|
||||||
<entry>~/Applications/publish/Ryujinx</entry>
|
<entry>~/Applications/publish/Ryujinx.sh</entry>
|
||||||
<entry>~/.local/share/applications/publish/Ryujinx</entry>
|
<entry>~/.local/share/applications/publish/Ryujinx.sh</entry>
|
||||||
<entry>~/.local/bin/publish/Ryujinx</entry>
|
<entry>~/.local/bin/publish/Ryujinx.sh</entry>
|
||||||
<entry>~/bin/publish/Ryujinx</entry>
|
<entry>~/bin/publish/Ryujinx.sh</entry>
|
||||||
<entry>~/Applications/publish/Ryujinx.Ava</entry>
|
|
||||||
<entry>~/.local/share/applications/publish/Ryujinx.Ava</entry>
|
|
||||||
<entry>~/.local/bin/publish/Ryujinx.Ava</entry>
|
|
||||||
<entry>~/bin/publish/Ryujinx.Ava</entry>
|
|
||||||
</rule>
|
</rule>
|
||||||
</emulator>
|
</emulator>
|
||||||
<emulator name="SAMEBOY">
|
<emulator name="SAMEBOY">
|
||||||
|
@ -858,4 +853,4 @@
|
||||||
<entry>~/bin/ZEsarUX/zesarux</entry>
|
<entry>~/bin/ZEsarUX/zesarux</entry>
|
||||||
</rule>
|
</rule>
|
||||||
</emulator>
|
</emulator>
|
||||||
</ruleList>
|
</ruleList>
|
||||||
|
|
|
@ -1656,7 +1656,7 @@
|
||||||
<path>%ROMPATH%/switch</path>
|
<path>%ROMPATH%/switch</path>
|
||||||
<extension>.nca .NCA .nro .NRO .nso .NSO .nsp .NSP .xci .XCI</extension>
|
<extension>.nca .NCA .nro .NRO .nso .NSO .nsp .NSP .xci .XCI</extension>
|
||||||
<command label="Yuzu (Standalone)">%INJECT%=%BASENAME%.esprefix %EMULATOR_YUZU% -f -g %ROM%</command>
|
<command label="Yuzu (Standalone)">%INJECT%=%BASENAME%.esprefix %EMULATOR_YUZU% -f -g %ROM%</command>
|
||||||
<!-- <command label="Ryujinx (Standalone)">%EMULATOR_RYUJINX% %ROM%</command> -->
|
<command label="Ryujinx (Standalone)">%EMULATOR_RYUJINX% %ROM%</command>
|
||||||
<platform>switch</platform>
|
<platform>switch</platform>
|
||||||
<theme>switch</theme>
|
<theme>switch</theme>
|
||||||
</system>
|
</system>
|
||||||
|
|
|
@ -539,32 +539,32 @@ prepare_emulator() {
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# if [[ "$emulator" =~ ^(ryujunx|Ryujinx|all)$ ]]; then
|
if [[ "$emulator" =~ ^(ryujunx|Ryujinx|all)$ ]]; then
|
||||||
# if [[ "$action" == "reset" ]]; then # Run reset-only commands
|
if [[ "$action" == "reset" ]]; then # Run reset-only commands
|
||||||
# echo "------------------------"
|
echo "------------------------"
|
||||||
# echo "Initializing RYUJINX"
|
echo "Initializing RYUJINX"
|
||||||
# echo "------------------------"
|
echo "------------------------"
|
||||||
# if [[ $multi_user_mode == "true" ]]; then
|
if [[ $multi_user_mode == "true" ]]; then
|
||||||
# rm -rf "$multi_user_data_folder/$SteamAppUser/config/Ryujinx"
|
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"
|
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#/home/deck/retrodeck#'$rdhome'#g' "$multi_user_data_folder/$SteamAppUser/config/Ryujinx/Config.json"
|
||||||
# dir_prep "$multi_user_data_folder/$SteamAppUser/config/Ryujinx" "/var/config/Ryujinx"
|
dir_prep "$multi_user_data_folder/$SteamAppUser/config/Ryujinx" "/var/config/Ryujinx"
|
||||||
# else
|
else
|
||||||
# # removing config directory to wipe legacy files
|
# removing config directory to wipe legacy files
|
||||||
# rm -rf /var/config/Ryujinx
|
rm -rf /var/config/Ryujinx
|
||||||
# mkdir -p /var/config/Ryujinx/system
|
mkdir -p /var/config/Ryujinx/system
|
||||||
# cp -fv $emuconfigs/ryujinx/* /var/config/Ryujinx
|
cp -fv $emuconfigs/ryujinx/* /var/config/Ryujinx
|
||||||
# sed -i 's#/home/deck/retrodeck#'$rdhome'#g' "$ryujinxconf"
|
sed -i 's#/home/deck/retrodeck#'$rdhome'#g' "$ryujinxconf"
|
||||||
# fi
|
fi
|
||||||
# fi
|
fi
|
||||||
# if [[ "$action" == "reset" ]] || [[ "$action" == "postmove" ]]; then # Run commands that apply to both resets and moves
|
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"
|
dir_prep "$bios_folder/switch/keys" "/var/config/Ryujinx/system"
|
||||||
# fi
|
fi
|
||||||
# if [[ "$action" == "postmove" ]]; then # Run only post-move commands
|
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
|
sed -i 's#RETRODECKHOMEDIR#'$rdhome'#g' "$ryujinxconf" # This is an unfortunate one-off because set_setting_value does not currently support JSON
|
||||||
# fi
|
fi
|
||||||
# fi
|
fi
|
||||||
|
|
||||||
if [[ "$emulator" =~ ^(xemu|XEMU|all)$ ]]; then
|
if [[ "$emulator" =~ ^(xemu|XEMU|all)$ ]]; then
|
||||||
if [[ "$action" == "reset" ]]; then # Run reset-only commands
|
if [[ "$action" == "reset" ]]; then # Run reset-only commands
|
||||||
|
|
|
@ -1199,6 +1199,68 @@ modules:
|
||||||
|
|
||||||
# Cemu - END
|
# Cemu - END
|
||||||
|
|
||||||
|
# Ryujinx - START
|
||||||
|
# https://github.com/flathub/org.ryujinx.Ryujinx
|
||||||
|
|
||||||
|
- 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.1014
|
||||||
|
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;" src/Ryujinx.Common/ReleaseInformation.cs
|
||||||
|
sed -r --in-place "s/\%\%RYUJINX_BUILD_GIT_HASH\%\%/$RYUJINX_GIT_SHORT_HASH/g;" src/Ryujinx.Common/ReleaseInformation.cs
|
||||||
|
sed -r --in-place "s/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_NAME\%\%/$RYUJINX_TARGET_RELEASE_CHANNEL_NAME/g;" src/Ryujinx.Common/ReleaseInformation.cs
|
||||||
|
sed -r --in-place "s/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_OWNER\%\%/$RYUJINX_TARGET_RELEASE_CHANNEL_OWNER/g;" src/Ryujinx.Common/ReleaseInformation.cs
|
||||||
|
sed -r --in-place "s/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_REPO\%\%/$RYUJINX_TARGET_RELEASE_CHANNEL_REPO/g;" src/Ryujinx.Common/ReleaseInformation.cs
|
||||||
|
mkdir -p /app/bin
|
||||||
|
dotnet publish -c Release -r $RUNTIME /p:DebugType=embedded src/Ryujinx /p:Version=$RYUJINX_VERSION /p:SourceRevisionId=$RYUJINX_GIT_SHORT_HASH /p:ExtraDefineConstants="DISABLE_UPDATER%2CFORCE_EXTERNAL_BASE_DIR" /p:RuntimeFrameworkVersion=$RUNTIME_FRAMEWORK_VERSION --self-contained --source nuget-sources
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
exit 1;
|
||||||
|
fi;
|
||||||
|
cp -r --remove-destination /run/build/Ryujinx/src/Ryujinx/bin/Release/net7.0/$RUNTIME/publish/* /app/bin/
|
||||||
|
chmod +x /app/bin/Ryujinx.sh
|
||||||
|
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
|
||||||
|
install -Dm644 distribution/misc/Logo.svg /app/share/icons/hicolor/scalable/apps/ryujinx.svg
|
||||||
|
sources:
|
||||||
|
- type: archive
|
||||||
|
only-arches:
|
||||||
|
- x86_64
|
||||||
|
dest: dotnet-sdk
|
||||||
|
url: https://dotnetcli.azureedge.net/dotnet/Sdk/7.0.401/dotnet-sdk-7.0.401-linux-x64.tar.gz
|
||||||
|
sha256: 4634fa4da7ae4e3dadb83e320a87fb26f0cb12a7ca02bf9f10e6c3c1c91d645c
|
||||||
|
x-checker-data:
|
||||||
|
type: rotating-url
|
||||||
|
url: https://aka.ms/dotnet/7.0/dotnet-sdk-linux-x64.tar.gz
|
||||||
|
pattern: https://dotnetcli.azureedge.net/dotnet/Sdk/^([\d\.a-z-]+)$/dotnet-sdk-^([\d\.a-z-]+)$-linux-x64.tar.gz
|
||||||
|
- rd-submodules/ryujinx/nuget_sources.json
|
||||||
|
- type: git
|
||||||
|
url: https://github.com/Ryujinx/Ryujinx.git
|
||||||
|
commit: 7ccff037e87f82f3461f3e1422235e29800eaa2f
|
||||||
|
- type: file
|
||||||
|
path: rd-submodules/ryujinx/ryujinx-wrapper
|
||||||
|
|
||||||
|
# Ryujinx - END
|
||||||
|
|
||||||
# External manifests end
|
# External manifests end
|
||||||
|
|
||||||
- name: retrodeck
|
- name: retrodeck
|
||||||
|
|
1
rd-submodules/ryujinx
Submodule
1
rd-submodules/ryujinx
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit ff79306a50b484ce992d02a23e091d79fcde4cac
|
File diff suppressed because it is too large
Load diff
|
@ -1,7 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
for i in {0..9}; do
|
|
||||||
test -S $XDG_RUNTIME_DIR/discord-ipc-$i || ln -sf {app/com.discordapp.Discord,$XDG_RUNTIME_DIR}/discord-ipc-$i;
|
|
||||||
done
|
|
||||||
|
|
||||||
env DOTNET_EnableAlternateStackCheck=1 Ryujinx "$@"
|
|
|
@ -34,6 +34,7 @@ source /app/libexec/global.sh
|
||||||
# - PPSSPP
|
# - PPSSPP
|
||||||
# - Primehack
|
# - Primehack
|
||||||
# - RPCS3
|
# - RPCS3
|
||||||
|
# - Ryujinx
|
||||||
# - XEMU
|
# - XEMU
|
||||||
# - Yuzu
|
# - Yuzu
|
||||||
# - Tools
|
# - Tools
|
||||||
|
@ -74,6 +75,7 @@ source /app/libexec/global.sh
|
||||||
# - Reset PPSSPP
|
# - Reset PPSSPP
|
||||||
# - Reset Primehack
|
# - Reset Primehack
|
||||||
# - Reset RPCS3
|
# - Reset RPCS3
|
||||||
|
# - Reset Ryujinx
|
||||||
# - Reset XEMU
|
# - Reset XEMU
|
||||||
# - Reset Yuzu
|
# - Reset Yuzu
|
||||||
# - Reset All Emulators
|
# - Reset All Emulators
|
||||||
|
@ -431,8 +433,9 @@ configurator_open_emulator_dialog() {
|
||||||
"PPSSPP" "Open the PSP emulator PPSSPP" \
|
"PPSSPP" "Open the PSP emulator PPSSPP" \
|
||||||
"Primehack" "Open the Metroid Prime emulator Primehack" \
|
"Primehack" "Open the Metroid Prime emulator Primehack" \
|
||||||
"RPCS3" "Open the PS3 emulator RPCS3" \
|
"RPCS3" "Open the PS3 emulator RPCS3" \
|
||||||
|
"Ryujinx" "Open the Switch emulator Ryujinx" \
|
||||||
"XEMU" "Open the Xbox emulator XEMU" \
|
"XEMU" "Open the Xbox emulator XEMU" \
|
||||||
"Yuzu" "Open the Switch emulator Yuzu" )
|
"Yuzu" "Open the Switch emulator Yuzu")
|
||||||
|
|
||||||
case $emulator in
|
case $emulator in
|
||||||
|
|
||||||
|
@ -476,6 +479,10 @@ configurator_open_emulator_dialog() {
|
||||||
rpcs3
|
rpcs3
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
"Ryujinx" )
|
||||||
|
ryujinx-wrapper
|
||||||
|
;;
|
||||||
|
|
||||||
"XEMU" )
|
"XEMU" )
|
||||||
xemu
|
xemu
|
||||||
;;
|
;;
|
||||||
|
@ -977,6 +984,7 @@ configurator_reset_dialog() {
|
||||||
"PPSSPP" "Reset the PSP emulator PPSSPP to default settings" \
|
"PPSSPP" "Reset the PSP emulator PPSSPP to default settings" \
|
||||||
"Primehack" "Reset the Metroid Prime emulator Primehack to default settings" \
|
"Primehack" "Reset the Metroid Prime emulator Primehack to default settings" \
|
||||||
"RPCS3" "Reset the PS3 emulator RPCS3 to default settings" \
|
"RPCS3" "Reset the PS3 emulator RPCS3 to default settings" \
|
||||||
|
"Ryujinx" "Reset the Switch emulator Ryujinx to default settings" \
|
||||||
"XEMU" "Reset the XBOX emulator XEMU to default settings" \
|
"XEMU" "Reset the XBOX emulator XEMU to default settings" \
|
||||||
"Yuzu" "Reset the Switch emulator Yuzu to default settings" )
|
"Yuzu" "Reset the Switch emulator Yuzu to default settings" )
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue