Merge remote-tracking branch 'upstream/cooker-0.7.0b' into cooker-0.7.0b-icenine451

This commit is contained in:
icenine451 2023-04-11 09:05:56 -04:00
commit 8b4706d335
7 changed files with 373 additions and 85 deletions

View file

@ -0,0 +1,112 @@
<?xml version="1.0" encoding="UTF-8"?>
<content>
<logflag>0</logflag>
<advanced_ppc_logging>false</advanced_ppc_logging>
<mlc_path>RETRODECKHOMEDIR/bios/cemu</mlc_path>
<permanent_storage>true</permanent_storage>
<language>0</language>
<use_discord_presence>true</use_discord_presence>
<fullscreen_menubar>false</fullscreen_menubar>
<check_update>false</check_update>
<save_screenshot>true</save_screenshot>
<vk_warning>false</vk_warning>
<gp_download>true</gp_download>
<macos_disclaimer>false</macos_disclaimer>
<fullscreen>true</fullscreen>
<proxy_server></proxy_server>
<disable_screensaver>true</disable_screensaver>
<console_language>1</console_language>
<window_position>
<x>-1</x>
<y>-1</y>
</window_position>
<window_size>
<x>-1</x>
<y>-1</y>
</window_size>
<window_maximized>false</window_maximized>
<open_pad>false</open_pad>
<pad_position>
<x>-1</x>
<y>-1</y>
</pad_position>
<pad_size>
<x>-1</x>
<y>-1</y>
</pad_size>
<pad_maximized>false</pad_maximized>
<GameList>
<style>0</style>
<order></order>
<name_width>500</name_width>
<version_width>60</version_width>
<dlc_width>50</dlc_width>
<game_time_width>140</game_time_width>
<game_started_width>160</game_started_width>
<region_width>306</region_width>
</GameList>
<RecentLaunchFiles/>
<RecentNFCFiles/>
<GamePaths>
<Entry>RETRODECKHOMEDIR/roms/wiiu</Entry>
</GamePaths>
<GameCache/>
<GraphicPack/>
<Graphic>
<api>1</api>
<device>00000000000000000000000000000000</device>
<VSync>0</VSync>
<GX2DrawdoneSync>true</GX2DrawdoneSync>
<UpscaleFilter>1</UpscaleFilter>
<DownscaleFilter>0</DownscaleFilter>
<FullscreenScaling>0</FullscreenScaling>
<AsyncCompile>false</AsyncCompile>
<vkAccurateBarriers>true</vkAccurateBarriers>
<Overlay>
<Position>0</Position>
<TextColor>4294967295</TextColor>
<TextScale>100</TextScale>
<FPS>true</FPS>
<DrawCalls>false</DrawCalls>
<CPUUsage>false</CPUUsage>
<CPUPerCoreUsage>false</CPUPerCoreUsage>
<RAMUsage>false</RAMUsage>
<VRAMUsage>false</VRAMUsage>
<Debug>false</Debug>
</Overlay>
<Notification>
<Position>1</Position>
<TextColor>4294967295</TextColor>
<TextScale>100</TextScale>
<ControllerProfiles>true</ControllerProfiles>
<ControllerBattery>false</ControllerBattery>
<ShaderCompiling>true</ShaderCompiling>
<FriendService>true</FriendService>
</Notification>
</Graphic>
<Audio>
<api>0</api>
<delay>2</delay>
<TVChannels>1</TVChannels>
<PadChannels>1</PadChannels>
<InputChannels>0</InputChannels>
<TVVolume>50</TVVolume>
<PadVolume>0</PadVolume>
<InputVolume>50</InputVolume>
<TVDevice>default</TVDevice>
<PadDevice></PadDevice>
<InputDevice></InputDevice>
</Audio>
<Account>
<PersistentId>2147483649</PersistentId>
<OnlineEnabled>false</OnlineEnabled>
<ActiveService>0</ActiveService>
</Account>
<Debug>
<CrashDumpUnix>0</CrashDumpUnix>
<GDBPort>1337</GDBPort>
</Debug>
<Input>
<DSUC host="127.0.0.1" port="26760"/>
</Input>
</content>

View file

@ -100,6 +100,7 @@
<emulator name="CEMU">
<!-- Nintendo Wii U emulator Cemu -->
<rule type="systempath">
<entry>Cemu-wrapper</entry>
<entry>cemu</entry>
<entry>Cemu</entry>
</rule>

View file

@ -1760,7 +1760,7 @@
<platform>wii</platform>
<theme>wii</theme>
</system>
<!--
<system>
<name>wiiu</name>
<fullname>Nintendo Wii U</fullname>
@ -1770,7 +1770,7 @@
<platform>wiiu</platform>
<theme>wiiu</theme>
</system>
-->
<system>
<name>wonderswan</name>
<fullname>Bandai WonderSwan</fullname>

View file

@ -1446,12 +1446,43 @@ ryujinx_init() {
dir_prep "$bios_folder/switch/keys" "/var/config/Ryujinx/system"
}
cemu_init() {
echo "----------------------"
echo "Initializing CEMU"
echo "----------------------"
# removing config directory to wipe legacy files
rm -rf /var/config/Cemu
mkdir -pv /var/config/Cemu/
cp -fvr "$emuconfigs/cemu/"* /var/config/Cemu/
sed -i 's#RETRODECKHOMEDIR#'$rdhome'#g' /var/config/Cemu/settings.xml
#TODO
dir_prep "$rdhome/saves/wiiu/cemu" "$rdhome/bios/cemu/usr/save"
#dir_prep "$rdhome/screenshots" "/var/data/dolphin-emu/ScreenShots"
#dir_prep "$rdhome/states/cemu" "/var/data/dolphin-emu/StateSaves"
}
cemu_init() {
echo "----------------------"
echo "Initializing CEMU"
echo "----------------------"
# removing config directory to wipe legacy files
rm -rf /var/config/Cemu
mkdir -pv /var/config/Cemu/
cp -fvr "$emuconfigs/cemu/"* /var/config/Cemu/
sed -i 's#RETRODECKHOMEDIR#'$rdhome'#g' /var/config/Cemu/settings.xml
#TODO
dir_prep "$rdhome/saves/wiiu/cemu" "$rdhome/bios/cemu/usr/save"
#dir_prep "$rdhome/screenshots" "/var/data/dolphin-emu/ScreenShots"
#dir_prep "$rdhome/states/cemu" "/var/data/dolphin-emu/StateSaves"
}
standalones_init() {
# This script is configuring the standalone emulators with the default files present in emuconfigs folder
echo "------------------------------------"
echo "Initializing standalone emulators"
echo "------------------------------------"
cemu_init
citra_init
dolphin_init
duckstation_init
@ -1536,6 +1567,9 @@ cli_emulator_reset() {
printf "You do not appear to be connected to a network with internet access.\n\nThe RetroArch reset process requires some files from the internet to function properly.\n\nPlease retry this process once a network connection is available.\n"
fi
;;
"cemu" )
cemu_init
;;
"citra" )
citra_init
;;
@ -1686,6 +1720,13 @@ emulators_post_move() {
dir_prep "$bios_folder/pico-8" "$HOME/.lexaloffle/pico-8" # Store binary and config files together. The .lexaloffle directory is a hard-coded location for the PICO-8 config file, cannot be changed
dir_prep "$roms_folder/pico8" "$bios_folder/pico-8/carts"
dir_prep "$saves_folder/pico-8" "$bios_folder/pico-8/cdata"
# Cemu section
sed -i 's#RETRODECKHOMEDIR#'$rdhome'#g' /var/config/Cemu/settings.xml
#TODO
dir_prep "$rdhome/saves/wiiu/cemu" "$rdhome/bios/cemu/usr/save"
#dir_prep "$rdhome/screenshots" "/var/data/dolphin-emu/ScreenShots"
#dir_prep "$rdhome/states/cemu" "/var/data/dolphin-emu/StateSaves"
}
create_lock() {

View file

@ -4,7 +4,7 @@
<id>net.retrodeck.retrodeck</id>
<launchable type="desktop-id">net.retrodeck.retrodeck.desktop</launchable>
<name>RetroDECK</name>
<summary>Your one in all application for emulation and retro gaming on the Steam Deck and more!</summary>
<summary>RetroDECK brings an environment to catalog and play your retro games directly on your Steam Deck.</summary>
<developer_name>RetroDECK Team</developer_name>
<url type="homepage">https://retrodeck.net</url>
<url type="bugtracker">https://github.com/XargonWan/RetroDECK/issues</url>
@ -65,6 +65,19 @@
<project_license>GPL-3.0</project_license>
<metadata_license>CC0-1.0</metadata_license>
<releases>
<release version="0.7.0b" date="2023-04-11">
<url>https://github.com/XargonWan/RetroDECK/releases/tag/0.6.4b</url>
<description>
<p>New features - General:</p>
<ul>
<li>Added CEMU, WiiU Emulator</li>
</ul>
<p>Bug fixes and other changes:</p>
<ul>
<li>PLACEHOLDER</li>
</ul>
</description>
</release>
<release version="0.6.5b" date="2023-04-07">
<url>https://github.com/XargonWan/RetroDECK/releases/tag/0.6.5b</url>
<description>

View file

@ -67,18 +67,18 @@ modules:
# The version number is hardcoded in /app/retrodeck/version
#
# UPDATE STEPS FOR MAIN:
# [X] Update the VERSION variable
# [X] Update the appdata.xml with the version number and notes
# [X] change branch into main in version-initialization (first one)
# [X] change branch into main in retrodeck module (last one)
# [X] if header (before modules) was edited, edit it even in flathub.yml
# [ ] Update the VERSION variable
# [ ] Update the appdata.xml with the version number and notes
# [ ] change branch into main in version-initialization (first one)
# [ ] change branch into main in retrodeck module (last one)
# [ ] if header (before modules) was edited, edit it even in flathub.yml
#
- name: version-initialization
buildsystem: simple
build-commands:
- |
VERSION="0.6.5b"
VERSION="cooker-0.7.0b"
git checkout ${GITHUB_REF_NAME}
mkdir -p ${FLATPAK_DEST}/retrodeck/
@ -91,7 +91,7 @@ modules:
sources:
- type: git
url: https://github.com/XargonWan/RetroDECK.git
branch: main
branch: cooker-0.7.0b
- name: xmlstarlet
config-opts:
@ -965,86 +965,189 @@ modules:
# Cemu - START
# https://github.com/cemu-project/Cemu/releases
# https://github.com/flathub/info.cemu.Cemu
# Yes, this is old, do not update as we need libespol.so.1
- name: boost
buildsystem: simple
build-commands:
- ./bootstrap.sh --prefix=${FLATPAK_DEST} --with-toolset=gcc --with-libraries=filesystem,system,program_options,nowide
- ./b2 install variant=release link=shared runtime-link=shared cxxflags="$CXXFLAGS"
linkflags="$LDFLAGS" -j ${FLATPAK_BUILDER_N_JOBS}
cleanup:
- /include
- /lib/cmake
sources:
- type: archive
url: https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_81_0.tar.bz2
sha256: 71feeed900fbccca04a3b4f2f84a7c217186f28a940ed8b7ed4725986baf99fa
x-checker-data:
type: anitya
project-id: 6845
stable-only: true
url-template: https://boostorg.jfrog.io/artifactory/main/release/$version/source/boost_${major}_${minor}_$patch.tar.bz2
#- name: Cemu-binary
# buildsystem: simple
# build-commands:
# - mv Cemu ${FLATPAK_DEST}/bin/Cemu
# - chmod 777 ${FLATPAK_DEST}/bin/Cemu
# - mkdir -p ${FLATPAK_DEST}/config/cemu
# - mv gameProfiles ${FLATPAK_DEST}/config/cemu/gameProfiles
# - mv resources ${FLATPAK_DEST}/config/cemu/resources
# - mv shaderCache ${FLATPAK_DEST}/config/cemu/shaderCache
# sources:
# - type: archive
# url: https://github.com/cemu-project/Cemu/releases/download/v2.0-10/cemu-2.0-10-ubuntu-20.04-x64.zip
# sha256: b6cb5560e9a15be5991db4ca0ce1de70d233d094e388477b05d663a542dbbd5c
- name: libzip
buildsystem: cmake-ninja
config-opts:
- -DBUILD_DOC=OFF
- -DBUILD_EXAMPLES=OFF
- -DBUILD_REGRESS=OFF
- -DBUILD_TOOLS=OFF
cleanup:
- /bin
- /include
- /lib/cmake
- /lib/pkgconfig
sources:
- type: archive
url: https://libzip.org/download/libzip-1.9.2.tar.xz
sha256: c93e9852b7b2dc931197831438fee5295976ee0ba24f8524a8907be5c2ba5937
x-checker-data:
type: anitya
project-id: 10649
url-template: https://libzip.org/download/libzip-$version.tar.xz
- name: glslang
buildsystem: cmake-ninja
config-opts:
- -DCMAKE_BUILD_TYPE=Release
- -DENABLE_CTEST=OFF
cleanup:
- /include
- /lib/cmake
sources:
- type: archive
url: https://github.com/KhronosGroup/glslang/archive/12.1.0.tar.gz
sha256: 1515e840881d1128fb6d831308433f731808f818f2103881162f3ffd47b15cd5
x-checker-data:
type: anitya
stable-only: true
project-id: 205796
url-template: https://github.com/KhronosGroup/glslang/archive/$version.tar.gz
- name: rapidjson
buildsystem: cmake-ninja
config-opts:
- -DRAPIDJSON_BUILD_DOC=OFF
- -DRAPIDJSON_BUILD_EXAMPLES=OFF
- -DRAPIDJSON_BUILD_TESTS=OFF
- -DRAPIDJSON_BUILD_THIRDPARTY_GTEST=OFF
cleanup:
- /include
- /lib/cmake
- /lib/pkgconfig
- /share/doc
sources:
- type: archive
url: https://github.com/Tencent/rapidjson/archive/refs/tags/v1.1.0.tar.gz
sha256: bf7ced29704a1e696fbccf2a2b4ea068e7774fa37f6d7dd4039d0787f8bed98e
x-checker-data:
type: anitya
project-id: 7422
stable-only: true
url-template: https://github.com/Tencent/rapidjson/archive/refs/tags/v$version.tar.gz
- name: glm
buildsystem: cmake-ninja
cleanup: ['*']
no-make-install: true
post-install:
- install -d ${FLATPAK_DEST}/include
- cp -R glm ${FLATPAK_DEST}/include
- cp -R cmake/glm ${FLATPAK_DEST}/lib/cmake
sources:
- type: archive
url: https://github.com/g-truc/glm/releases/download/0.9.9.8/glm-0.9.9.8.zip
sha256: 37e2a3d62ea3322e43593c34bae29f57e3e251ea89f4067506c94043769ade4c
- name: fmt
buildsystem: cmake-ninja
config-opts:
- -DFMT_TEST=Off
cleanup:
- '*'
sources:
- type: archive
url: https://github.com/fmtlib/fmt/archive/9.1.0.tar.gz
sha256: 5dea48d1fcddc3ec571ce2058e13910a0d4a6bab4cc09a809d8b1dd1c88ae6f2
x-checker-data:
type: anitya
project-id: 11526
url-template: https://github.com/fmtlib/fmt/archive/$version.tar.gz
- name: wxwidgets
buildsystem: autotools
config-opts:
- --with-gtk=3
- --disable-sdltest
- --enable-shared
- --with-opengl
- --with-sdl
- --with-libiconv=/usr
cleanup:
- /bin
- /include
- /lib/cmake
- /lib/wx
- /share
sources:
- type: git
url: https://github.com/wxWidgets/wxWidgets
tag: v3.2.2.1
commit: a812fffda3fe686c94e24bff27e8effd96e4de64
x-checker-data:
type: anitya
project-id: 5150
stable-only: true
tag-template: v$version
- name: Cemu
buildsystem: cmake-ninja
config-opts:
- -DPORTABLE=false
- -DENABLE_VCPKG=false
env:
- LC_ALL=C
sources:
- type: git
url: https://github.com/cemu-project/Cemu
# TODO: Update tag pattern on next stable ^v([\d.]+)$
x-checker-data:
type: git
tag-pattern: ^v([\d.]+-\d+)$
tag: v2.0-32
commit: 59f6fe6e2f5a55b5ade567389683e44d09ea0f8d
- type: script
commands:
- |
for d in DiscordCanary Discord; do
for i in {0..9}; do
test -S $XDG_RUNTIME_DIR/discord-ipc-$i ||
ln -sf {app/com.discordapp.$d,$XDG_RUNTIME_DIR}/discord-ipc-$i;
done
done
Cemu_relwithdebinfo "$@"
dest-filename: Cemu-wrapper
post-install:
- install -Dm644 -t ${FLATPAK_DEST}/share/icons/hicolor/128x128/apps/ dist/linux/info.cemu.Cemu.png
- install -D -t ${FLATPAK_DEST}/bin/ bin/Cemu_relwithdebinfo Cemu-wrapper
# 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
#
# https://ryujinx.org/download
# - 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
- name: Ryujinx
buildsystem: simple
build-commands:
- |
mv publish ${FLATPAK_DEST}/ryujinx
ln -s ${FLATPAK_DEST}/ryujinx/Ryujinx /app/bin/Ryujinx
# chmod +x /app/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 - END
@ -1106,4 +1209,4 @@ modules:
sources:
- type: git
url: https://github.com/XargonWan/RetroDECK.git
branch: main
branch: cooker-0.7.0b

View file

@ -17,6 +17,7 @@ source /app/libexec/functions.sh
# - Login prompt
# - Emulator Options (Behind one-time power user warning dialog)
# - Launch RetroArch
# - Launch Cemu
# - Launch Citra
# - Launch Dolphin
# - Launch Duckstation
@ -38,6 +39,7 @@ source /app/libexec/functions.sh
# - Reset
# - Reset Specific Emulator
# - Reset RetroArch
# - Reset Cemu
# - Reset Citra
# - Reset Dolphin
# - Reset Duckstation
@ -70,6 +72,7 @@ configurator_reset_dialog() {
--text="Which emulator do you want to reset to default?" \
--column="Emulator" --column="Action" \
"RetroArch" "Reset RetroArch to default settings" \
"Cemu" "Reset Cemu to default settings" \
"Citra" "Reset Citra to default settings" \
"Dolphin" "Reset Dolphin to default settings" \
"Duckstation" "Reset Duckstation to default settings" \
@ -98,6 +101,16 @@ configurator_reset_dialog() {
fi
;;
"Cemu" )
if [[ $(configurator_reset_confirmation_dialog "Cemu" "Are you sure you want to reset the Cemu emulator to default settings?\n\nThis process cannot be undone.") == "true" ]]; then
cemu_init
configurator_process_complete_dialog "resetting $emulator_to_reset"
else
configurator_generic_dialog "Reset process cancelled."
configurator_reset_dialog
fi
;;
"Citra" )
if [[ $(configurator_reset_confirmation_dialog "Citra" "Are you sure you want to reset the Citra emulator to default settings?\n\nThis process cannot be undone.") == "true" ]]; then
citra_init
@ -300,6 +313,7 @@ configurator_power_user_changes_dialog() {
--hide-header \
--column=emulator \
"RetroArch" \
"Cemu" \
"Citra" \
"Dolphin" \
"Duckstation" \
@ -317,6 +331,10 @@ configurator_power_user_changes_dialog() {
retroarch
;;
"Cemu" )
Cemu-wrapper
;;
"Citra" )
citra-qt
;;