Merge pull request #9 from XargonWan/cooker-yuzu

Merging cooker-yuzu into yuzu
This commit is contained in:
XargonWan 2022-04-23 21:16:49 +09:00 committed by GitHub
commit 74a7549104
6 changed files with 1174 additions and 225 deletions

View file

@ -676,104 +676,7 @@ modules:
# Dolphin - END
# RPCS3 - START
# https://github.com/flathub/net.rpcs3.RPCS3
# Disabled because of this error:
# https://github.com/flathub/net.rpcs3.RPCS3/issues/854
# - name: rpcs3-llvm
# buildsystem: cmake-ninja
# builddir: true
# build-options:
# cflags: &optflags -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong
# -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection
# -fcf-protection -fno-omit-frame-pointer
# cflags-override: true
# cxxflags: -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong
# -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection
# -fcf-protection -fno-omit-frame-pointer -msse -msse2 -mcx16
# cxxflags-override: true
# env:
# AR: llvm-ar
# CC: clang
# CXX: clang++
# RANLIB: llvm-ranlib
# ldflags: -fuse-ld=lld
# prepend-ld-library-path: /usr/lib/sdk/llvm13/lib
# prepend-path: /usr/lib/sdk/llvm13/bin
# config-opts:
# - -DCMAKE_BUILD_TYPE=Release
# - -DBUILD_SHARED_LIBS=OFF
# - -DLLVM_CCACHE_BUILD=ON
# - -DLLVM_TARGETS_TO_BUILD='X86'
# - -DLLVM_BUILD_RUNTIME=OFF
# - -DLLVM_BUILD_TOOLS=OFF
# - -DLLVM_INCLUDE_DOCS=OFF
# - -DLLVM_INCLUDE_EXAMPLES=OFF
# - -DLLVM_INCLUDE_TESTS=OFF
# - -DLLVM_INCLUDE_TOOLS=OFF
# - -DLLVM_INCLUDE_UTILS=OFF
# - -DLLVM_USE_INTEL_JITEVENTS=ON
# - -DLLVM_USE_PERF=ON
# - -DLLVM_ENABLE_Z3_SOLVER=OFF
# - -DCMAKE_CXX_STANDARD=17
# - -DITTAPI_SOURCE_DIR=/run/build/rpcs3-llvm/ittapi
# - -Wno-dev
# cleanup:
# - '*'
# sources:
# - type: git
# url: https://github.com/RPCS3/llvm-mirror.git
# commit: 509d31ad89676522f7121b3bb8688f7d29b7ee60
# - type: git
# url: https://github.com/intel/ittapi.git
# dest: ittapi/ittapi
# disable-shallow-clone: true
# - name: rpcs3
# buildsystem: cmake-ninja
# builddir: true
# build-options:
# append-ld-library-path: /usr/lib/sdk/llvm13/lib
# append-path: /usr/lib/sdk/llvm13/bin
# cflags: *optflags
# cflags-override: true
# cxxflags: *optflags
# cxxflags-override: true
# env:
# AR: llvm-ar
# CC: clang
# CXX: clang++
# RANLIB: llvm-ranlib
# ldflags: -fuse-ld=lld
# config-opts:
# - -DCMAKE_BUILD_TYPE=RelWithDebInfo
# - -DBUILD_LLVM_SUBMODULE=OFF
# - -DUSE_NATIVE_INSTRUCTIONS=OFF
# - -DUSE_PRECOMPILED_HEADERS=OFF
# - -DUSE_SYSTEM_CURL=ON
# - -DUSE_SYSTEM_FFMPEG=ON
# - -DUSE_SYSTEM_LIBPNG=ON
# - -DUSE_SYSTEM_ZLIB=ON
# - -Wno-dev
# post-install:
# - |
# set -eux;
# sed -i 's|<id>RPCS3</id>|<id>net.rpcs3.RPCS3</id>|' ${FLATPAK_DEST}/share/metainfo/rpcs3.metainfo.xml;
# COMM_TAG="$(awk -F'[\{,]' '/version{.*}/{printf "%d.%d.%d", $2, $3, $4}' ../rpcs3/rpcs3_version.cpp)";
# COMM_COUNT="$(git rev-list --count HEAD)";
# COMM_HASH="$(git rev-parse --short=8 HEAD)";
# sed -i 's|</component>|<content_rating type="oars-1.1"/><releases><release date="'$(git show -s --format=%cs)'" version="'"${COMM_TAG}"'-'"${COMM_COUNT}"'-'"${COMM_HASH}"'"/></releases></component>|' ${FLATPAK_DEST}/share/metainfo/rpcs3.metainfo.xml;
# sources:
# - type: git
# url: https://github.com/RPCS3/rpcs3.git
# commit: d6b026314409980734605e9275950f835f04e8df
# RPCS3 - END
# XEMU - START
# https://github.com/flathub/app.xemu.xemu
# Disabled because of this: https://github.com/XargonWan/RetroDECK/runs/6033071862?check_suite_focus=true
- name: libglu
buildsystem: meson
@ -830,130 +733,6 @@ modules:
# XEMU - END
# Ryujinx - START
# - name: Ryujinx
# buildsystem: simple
# build-options:
# append-path: /usr/lib/sdk/dotnet6/bin
# append-ld-library-path: /usr/lib/sdk/dotnet6/lib
# arch:
# x86_64:
# env:
# RUNTIME: linux-x64
# env:
# PKG_CONFIG_PATH: /app/lib/pkgconfig:/app/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig:/usr/lib/sdk/dotnet6/lib/pkgconfig
# DOTNET_CLI_TELEMETRY_OPTOUT: 'true'
# DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 'true'
# RYUJINX_VERSION: 1.1.102
# RYUJINX_TARGET_RELEASE_CHANNEL_OWNER: flathub
# RYUJINX_TARGET_RELEASE_CHANNEL_REPO: org.ryujinx.Ryujinx
# RYUJINX_TARGET_RELEASE_CHANNEL_NAME: master
# build-commands:
# - |
# export RYUJINX_GIT_SHORT_HASH=$(git rev-parse --short HEAD)
# 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 --self-contained --source nuget-sources
# if [ $? -ne 0 ]; then
# exit 1;
# fi;
# cp -r --remove-destination /run/build/Ryujinx/Ryujinx/bin/Release/net6.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 -Dm644 $FLATPAK_ID.appdata.xml /app/share/metainfo/$FLATPAK_ID.appdata.xml
# install -Dm755 ryujinx-wrapper /app/bin/ryujinx-wrapper
# install -Dm644 distribution/linux/ryujinx-logo.svg /app/share/icons/hicolor/scalable/apps/ryujinx.svg
# install -Dm644 distribution/linux/ryujinx-mime.xml /app/share/mime/packages/$FLATPAK_ID.mime.xml
# install -Dm644 distribution/linux/ryujinx.desktop /app/share/applications/$FLATPAK_ID.desktop
# desktop-file-edit --set-key="Exec" --set-value="ryujinx-wrapper %f" /app/share/applications/$FLATPAK_ID.desktop
# sources:
# - nuget_sources.json
# - type: git
# url: https://github.com/Ryujinx/Ryujinx.git
# commit: 247d26b4b50df8a068b9bfbb412a29f0c9f6a97b
# - type: file
# path: ryujinx-wrapper
# - type: file
# path: org.ryujinx.Ryujinx.appdata.xml
# Ryujinx - END
# CITRA - START
# https://github.com/flathub/org.citra_emu.citra
# - name: citra
# buildsystem: cmake-ninja
# builddir: true
# config-opts:
# - '-DCMAKE_BUILD_TYPE=Release'
# - '-DENABLE_QT_TRANSLATION=ON'
# - '-DCITRA_ENABLE_COMPATIBILITY_REPORTING=ON'
# - '-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON'
# - '-DENABLE_FFMPEG_VIDEO_DUMPER=ON'
# - '-DENABLE_FDK=ON'
# build-options:
# env:
# CI: '1'
# GITHUB_ACTIONS: '1'
# GITHUB_REPOSITORY: citra-emu/citra-nightly
# GIT_TAG_NAME: nightly-1759
# cleanup:
# - /share/man
# - /share/pixmaps
# post-install:
# - >-
# install -Dm644 ../org.citra_emu.citra.metainfo.xml
# /app/share/appdata/org.citra_emu.citra.metainfo.xml
# - desktop-file-install --dir=/app/share/applications ../dist/citra.desktop
# - echo 'StartupWMClass=citra-qt' >> /app/share/applications/citra.desktop
# - >-
# install -Dm644 ../dist/citra.svg
# /app/share/icons/hicolor/scalable/apps/citra.svg
# - >-
# install -Dm644 ../dist/icon.png
# /app/share/icons/hicolor/512x512/apps/citra.png
# - >-
# mv /app/share/mime/packages/citra.xml
# /app/share/mime/packages/org.citra_emu.citra.xml
# - >-
# sed 's/citra/org.citra_emu.citra/g' -i
# /app/share/mime/packages/org.citra_emu.citra.xml
# sources:
# - type: git
# url: 'https://github.com/citra-emu/citra-nightly.git'
# tag: nightly-1759
# commit: 3df43f9505505fbe2abb543c795f791615541cd4
# disable-shallow-clone: true
# x-checker-data:
# type: git
# tag-pattern: ^(nightly-\d+)$
# is-main-source: true
# - type: file
# path: rd-submodules/citra/org.citra_emu.citra.metainfo.xml
# - type: file
# path: rd-submodules/citra/compatibility_list.json
# dest-filename: compatibility_list.json
# - type: shell
# commands:
# - >-
# cp -v compatibility_list.json
# dist/compatibility_list/compatibility_list.json
# CITRA - END
# vita3k
# arduboy
# pocket station
# cemu - win only: wine
# Anbox?
# External manifests end
@ -985,14 +764,16 @@ modules:
- cp retrodeck.sh /app/bin/retrodeck.sh
- chmod +x /app/bin/retrodeck.sh
# Desktop entry
- cp com.xargon.retrodeck.desktop /app/share/applications/com.xargon.retrodeck.desktop
# Configuring emulators:
# Dolphin
- mkdir -p ${FLATPAK_DEST}/retrodeck/emu-configs
# Dolphin
- cp Dolphin.ini ${FLATPAK_DEST}/retrodeck/emu-configs
# Yuzu
- cp qt-config.ini ${FLATPAK_DEST}/retrodeck/emu-configs
#cleanup: ['*']
sources:

1144
emu-configs/qt-config.ini Normal file

File diff suppressed because it is too large Load diff

View file

@ -1126,7 +1126,7 @@
<fullname>Nintendo Switch</fullname>
<path>%ROMPATH%/switch</path>
<extension>.nca .NCA .nro .NRO .nso .NSO .nsp .NSP .xci .XCI .7z .7Z .zip .ZIP</extension>
<command label="Yuzu (Standalone)">%EMULATOR_YUZU% %ROM%</command>
<command label="Yuzu (Standalone)">%EMULATOR_YUZU% -f -g %ROM%</command>
<platform>switch</platform>
<theme>switch</theme>
</system>

View file

@ -37,6 +37,7 @@ then
# Cleaning
rm -rf /var/config/emulationstation/
rm /var/config/retrodeck/tools/*
rm -f /var/config/yuzu/qt-config.ini
kdialog --title "RetroDECK" --msgbox "EmulationStation will now initialize the system, please don't edit the roms location, just select:\n\nCREATE DIRECTORIES, YES, QUIT\n\nRetroDECK will manage the rest."
@ -64,6 +65,7 @@ then
rm -rf /var/config/retroarch/system
ln -s ~/retrodeck/bios /var/config/retroarch/system
# This should become a sed in the future
cp /app/retrodeck/retrodeck-retroarch.cfg /var/config/retroarch/retroarch.cfg
mkdir -p /var/config/emulationstation/.emulationstation/custom_systems/tools/
@ -74,10 +76,19 @@ then
# Initializing standalone emulators configs
#Dolphin
# Yuzu
mkdir -p ~/retrodeck/bios/switch/
mkdir -p /var/config/yuzu/keys
mkdir -p /var/data/yuzu/registered
ln -s ~/retrodeck/bios/switch/keys /var/data/yuzu/keys
ln -s /var/data/yuzu/registered ~/retrodeck/bios/switch/registered
cp /var/config/retroarch/emu-configs/qt-config.ini /var/config/yuzu/qt-config.ini
# Dolphin
mkdir -p /var/config/dolphin-emu/
cp /var/config/retroarch/emu-configs/Dolphin.ini /var/config/dolphin-emu/Dolphin.ini
# Locking RetroDECK
touch ~/retrodeck/.lock
kdialog --title "RetroDECK" --msgbox "Initialization completed.\nplease put your roms in:\n\n$roms_folder\n\nand your bioses in\n\n~/retrodeck/bios\n\nThen start the program again.\nIf you wish to change the roms location, you may use the tool located the tools section of RetroDECK.\n\nIt's suggested to add RetroDECK to your Steam Library for a quick access."

View file

@ -8,6 +8,14 @@
<nogamecount>true</nogamecount>
<nomultiscrape>true</nomultiscrape>
</game>
<game>
<path>./start-yuzu.sh</path>
<name>Start Yuzu</name>
<sortname>RetroArch</sortname>
<desc>Start Yuzu to manually tweak your settings.</desc>
<nogamecount>true</nogamecount>
<nomultiscrape>true</nomultiscrape>
</game>
<game>
<path>./move-roms.sh</path>
<name>Move roms folder</name>

5
tools/start-yuzu.sh Normal file
View file

@ -0,0 +1,5 @@
#!/bin/bash
kdialog --title "RetroDECK" --warningyesno "Doing some changes in the Yuzu configuration may create serious issues, please continue only if you know what you're doing.\n\nDo you want to continue?"
if [ $? == 0 ]; then
yuzu