diff --git a/automation_tools/automation_task_list.cfg b/automation_tools/automation_task_list.cfg index e00e4a2c..24cd8abd 100644 --- a/automation_tools/automation_task_list.cfg +++ b/automation_tools/automation_task_list.cfg @@ -28,4 +28,5 @@ hash^RETRODECKSHADPS4LATESTSTABLE^https://github.com/shadps4-emu/shadPS4/release #This will replace RETRODECKSHADPS4LATESTURL with the URL of the latest artifact and RETRODECKSHADPS4LATESTSHA with its SHA256 hash. #latestghaartifact^RETRODECKSHADPS4LATESTURL^RETRODECKSHADPS4LATESTSHA^https://github.com/shadps4-emu/shadPS4/actions/workflows/linux-qt.yml^shadps4-linux-qt +hash^XENIACANARYLATESTSHA^https://github.com/xenia-canary/xenia-canary/releases/download/experimental/xenia_canary.zip hash^PORTMASTERLATESTSHA^https://github.com/PortsMaster/PortMaster-GUI/releases/latest/download/retrodeck.portmaster.zip diff --git a/config/retrodeck/reference_lists/features.json b/config/retrodeck/reference_lists/features.json index 63a57a74..b0b8e8a3 100644 --- a/config/retrodeck/reference_lists/features.json +++ b/config/retrodeck/reference_lists/features.json @@ -779,6 +779,9 @@ "x68000": { "name": "Sharp X68000" }, + "xbox360": { + "name": "Microsoft Xbox 360" + }, "xbox": { "name": "Microsoft Xbox" }, @@ -1147,6 +1150,12 @@ "name": "PortMaster", "system": "portmaster", "launch": "PortMaster" + }, + "xenia": { + "description": "Xenia Canary Xbox360 Emulator", + "name": "Xenia Canary", + "system": "xbox360", + "launch": "xenia-canary" } } } diff --git a/functions/prepare_component.sh b/functions/prepare_component.sh index 4321db18..3a78fdd5 100644 --- a/functions/prepare_component.sh +++ b/functions/prepare_component.sh @@ -925,6 +925,28 @@ prepare_component() { # TODO: plceholder fi + if [[ "$component" =~ ^(xenia|all)$ ]]; then + component_found="true" + log i "----------------------" + log i "Prepearing Xenia" + log i "----------------------" + + local xenia_prefix="/var/data/xenia-canary-pfx" + create_dir -d "$xenia_prefix" + + # sandboxing prefix to avoid writing on real user home folder + # TODO: multi user needs to care about this as we're using the linux username + unlink "$xenia_prefix/drive_c/users/$(whoami)/Desktop" && create_dir "$xenia_prefix/drive_c/users/$(whoami)/Desktop" + unlink "$xenia_prefix/drive_c/users/$(whoami)/Documents" && create_dir "$xenia_prefix/drive_c/users/$(whoami)/Documents" + unlink "$xenia_prefix/drive_c/users/$(whoami)/Downloads" && create_dir "$xenia_prefix/drive_c/users/$(whoami)/Downloads" + unlink "$xenia_prefix/drive_c/users/$(whoami)/Music" && create_dir "$xenia_prefix/drive_c/users/$(whoami)/Music" + unlink "$xenia_prefix/drive_c/users/$(whoami)/Pictures" && create_dir "$xenia_prefix/drive_c/users/$(whoami)/Pictures" + unlink "$xenia_prefix/drive_c/users/$(whoami)/Videos" && create_dir "$xenia_prefix/drive_c/users/$(whoami)/Videos" + + # TODO: fill this + + fi + if [[ $component_found == "false" ]]; then log e "Supplied component $component not found, not resetting" fi diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index e3fa85c2..c5e3aa9d 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -8,6 +8,19 @@ sdk-extensions: - org.freedesktop.Sdk.Extension.llvm18 # Needed for RPCS3 command: retrodeck.sh +base: org.winehq.Wine +base-version: stable-23.08 + +inherit-extensions: + - org.freedesktop.Platform.Compat.i386 + - org.freedesktop.Platform.ffmpeg_full.i386 + - org.freedesktop.Platform.ffmpeg-full + - org.freedesktop.Platform.GL32 + - org.freedesktop.Platform.VAAPI.Intel.i386 + - org.winehq.Wine.DLLs + - org.winehq.Wine.gecko + - org.winehq.Wine.mono + finish-args: - --socket=wayland - --socket=x11 @@ -37,6 +50,8 @@ finish-args: - --filesystem=~/.var/app/com.valvesoftware.Steam:rw # Steam (Flatpak) # PPSSPP, DOLPHIN - --filesystem=xdg-run/gamescope-0:ro + # Xenia / Wine + - --env=WINEDLLPATH=/app/dlls/lib32:/app/dlls/lib:/app/lib32/wine/wined3d:/app/lib/wine/wined3d cleanup: # ES-DE @@ -642,10 +657,11 @@ modules: - cp -r files/* "${FLATPAK_DEST}" - chmod +x "${FLATPAK_DEST}/bin/"* sources: - # Testing the new feat/update-3.1.0 - type: archive - url: https://github.com/RetroDECK/ES-DE/releases/latest/download/RetroDECK-ES-DE-Artifact.tar.gz - sha256: RETRODECKESDELATEST + url: https://github.com/RetroDECK/ES-DE/releases/download/feat%2Fxenia-190924.46/RetroDECK-ES-DE-Artifact.tar.gz + sha256: 6ea55f59613a066ae36f04b61b3e9810d45fa2ca0924d876b5ada2ca28f5f36f + # url: https://github.com/RetroDECK/ES-DE/releases/latest/download/RetroDECK-ES-DE-Artifact.tar.gz + # sha256: RETRODECKESDELATEST - name: retrodeck-theme buildsystem: simple @@ -671,6 +687,22 @@ modules: url: https://github.com/ruffle-rs/ruffle/releases/download/nightly-2024-08-09/ruffle-nightly-2024_08_09-linux-x86_64.tar.gz sha256: d2c4c77d8426da6df8dc8b2a57565c151146464a8eec605d5faa68a297d8cad6 + # XENIA CANARY + - name: xenia-canary + buildsystem: simple + build-commands: + - install -Dm755 xenia_canary.exe "${FLATPAK_DEST}/xenia-canary/xenia_canary.exe" + - install -Dm755 xenia-canary "${FLATPAK_DEST}/bin/xenia-canary" + sources: + - type: archive + url: https://github.com/xenia-canary/xenia-canary/releases/download/experimental/xenia_canary.zip + sha256: XENIACANARYLATESTSHA + - type: script + commands: + - | + WINEPREFIX="/var/data/xenia-canary-pfx" wine64 "/app/xenia-canary/xenia_canary.exe" + dest-filename: xenia-canary + - name: fetch-missing-libs buildsystem: simple build-commands: