Merge branch 'cooker-0.7.2b' into cooker-0.7.2b-ryujinx

This commit is contained in:
XargonWan 2023-09-14 15:42:22 +02:00
commit 0a0a78e4e0
49 changed files with 950 additions and 215 deletions

View file

@ -1,4 +1,4 @@
name: cooker-selfhosted
name: "Build cooker"
on:
push:
@ -6,8 +6,10 @@ on:
- cooker*
paths:
- '.github/workflows/**'
- 'automation_tools/**'
- 'emu-configs/**'
- 'es-configs/**'
- 'functions/**'
- 'rd-submodules/**'
- '*.sh'
- 'net.retrodeck.retrodeck.yml'
@ -30,9 +32,15 @@ jobs:
run: sudo umount -f /home/ubuntu/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles/*
continue-on-error: true
- uses: actions/checkout@v3
- name: Clone RetroDECK repo
uses: actions/checkout@v3
with:
submodules: 'true'
- name: Generate build ID
- name: "Install dependencies"
run: "automation_tools/install_dependencies.sh"
- name: Generate cooker build ID
run: |
word1=$(shuf -n 1 ${GITHUB_WORKSPACE}/automation_tools/codename_wordlist.txt)
capitalized_word1="$(tr '[:lower:]' '[:upper:]' <<< ${word1:0:1})${word1:1}"
@ -40,34 +48,63 @@ jobs:
capitalized_word2="$(tr '[:lower:]' '[:upper:]' <<< ${word2:0:1})${word2:1}"
result=$capitalized_word1$capitalized_word2
echo $result > ${GITHUB_WORKSPACE}/buildid
ls -lah ${GITHUB_WORKSPACE} # DEBUG
cat ${GITHUB_WORKSPACE}/buildid # DEBUG
echo "buildid=$result" >> $GITHUB_ENV
echo "VersionID is $result"
- name: Initialize environment
- name: Run pre-build automation tasks
run : "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/pre_build_automation.sh"
- name: "Adding flatpak portal for automated updates (cooker only)"
run: sed -i '/finish-args:/a \ \ - --talk-name=org.freedesktop.Flatpak' net.retrodeck.retrodeck.yml
# - name: "Updating release notes in appdata"
# run: "automation_tools/appdata_management.sh"
- name: "[DEBUG] Outputting manifest"
run: cat net.retrodeck.retrodeck.yml
- name: "Build flatpak: download only"
id: "flatpak-download"
run: |
git pull
git submodule init
git submodule update
sudo apt install -y flatpak flatpak-builder p7zip-full xmlstarlet bzip2
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --user -y --noninteractive \
org.kde.Sdk//6.3 \
org.kde.Platform//6.3 \
org.freedesktop.Platform.ffmpeg-full/x86_64/22.08 \
io.qt.qtwebengine.BaseApp/x86_64/6.3 \
org.freedesktop.Sdk.Extension.llvm13 \
org.freedesktop.Sdk.Extension.dotnet6/x86_64/22.08 \
runtime/org.freedesktop.Platform.ffmpeg-full/x86_64/22.08
/bin/bash ${GITHUB_WORKSPACE}/automation_tools/pre_build_automation.sh # Run pre-build automation tasks
git config --global protocol.file.allow always
mkdir -vp ${GITHUB_WORKSPACE}/local
mkdir -vp ${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker
flatpak-builder --user --force-clean \
--install-deps-from=flathub \
--install-deps-from=flathub-beta \
--repo=${GITHUB_WORKSPACE}/local \
--download-only \
${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker \
net.retrodeck.retrodeck.yml
continue-on-error: true
# Sometimes flatpak download fails, in this case it tries a second time
- name: "Build flatpak: download only (retry)"
if: steps.flatpak-download.outcome == 'failure'
run: |
git config --global protocol.file.allow always
mkdir -vp ${GITHUB_WORKSPACE}/local
mkdir -vp ${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker
flatpak-builder --user --force-clean \
--install-deps-from=flathub \
--install-deps-from=flathub-beta \
--repo=${GITHUB_WORKSPACE}/local \
--download-only \
${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker \
net.retrodeck.retrodeck.yml
- name: Build flatpak
run: |
git config --global protocol.file.allow always
mkdir -vp ${GITHUB_WORKSPACE}/local
mkdir -vp ${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker
flatpak-builder --user --force-clean --install-deps-from=flathub --install-deps-from=flathub-beta --repo=${GITHUB_WORKSPACE}/local ${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker net.retrodeck.retrodeck.yml
flatpak-builder --user --force-clean \
--install-deps-from=flathub \
--install-deps-from=flathub-beta \
--repo=${GITHUB_WORKSPACE}/local \
--disable-download \
${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker \
net.retrodeck.retrodeck.yml
- name: Create Artifact for flathub
run: |
@ -79,11 +116,22 @@ jobs:
- name: Create Bundle
run: |
flatpak build-bundle ${GITHUB_WORKSPACE}/local RetroDECK.flatpak net.retrodeck.retrodeck
flatpak build-bundle ${GITHUB_WORKSPACE}/local RetroDECK-cooker.flatpak net.retrodeck.retrodeck
- name: Set environment variable with current branch name
run: echo "GITHUB_REF_SLUG=$(git rev-parse --abbrev-ref HEAD)" >> $GITHUB_ENV
- name: Get commits since last release
run: |
# Get the latest release tag
LATEST_TAG=$(git describe --tags --abbrev=0)
# Get all commits since the latest release tag
COMMITS=$(git log $LATEST_TAG..HEAD --pretty=format:"- %s")
# Set the output variable
echo "::set-output name=commits::$COMMITS"
id: commits
continue-on-error: true
- name: Publish the flatpak in a new cooker release
uses: ncipollo/release-action@v1
with:
@ -92,24 +140,25 @@ jobs:
# Release Notes (Cooker)
This is a cooker snapshot based on the commit: ${{ github.event.repository.full_name }}@${{github.sha}}.
## Commits since last release
${{ steps.commits.outputs.commits }}
For the full release note for this build please refer to the channel [#BETA-TESTING](https://discord.gg/qQcrFvaA2C) on our Discord server.
Cooker channel is provided for the community to test fixes and explore new functionality.
Please DO NOT open issues or ask support on this build.
artifacts: "RetroDECK.flatpak,RetroDECK-Artifact.tar.gz"
artifacts: "RetroDECK-cooker.flatpak,RetroDECK-Artifact.tar.gz"
allowUpdates: true
#prerelease: true
makeLatest: true
#draft: true
token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
repo: RetroDECK-cooker
continue-on-error: true
# In case it cannot publish the release at least it's providing the flatpak file for creating a manual release
- name: Upload RetroDECK.flatpak
- name: Upload RetroDECK-cooker.flatpak
uses: actions/upload-artifact@v3
with:
name: retrodeck-flatpak
path: RetroDECK.flatpak
continue-on-error: true
path: RetroDECK-cooker.flatpak
continue-on-error: true

View file

@ -1,5 +1,5 @@
name: PUSH-main-flathub
name: "Push main on Flathub"
on:
workflow_dispatch:
@ -9,6 +9,7 @@ jobs:
Pushing_main_into_flathub:
runs-on: ubuntu-latest
steps:
- name: Pushing
shell: bash
run: |
@ -47,17 +48,35 @@ jobs:
# Copying only a few files as the others are cloned by git in retrodeck.sh
cd $gits_folder/RetroDECK
cp -rf \
'flathub.json' \
'LICENSE' \
'flathub.yml' \
'README.md' \
$gits_folder/flathub/
cd $gits_folder/flathub
ls -lah
# manipulating manifest
mv flathub.yml net.retrodeck.retrodeck.yml
# Creating the manifest for flathub
manifest='net.retrodeck.retrodeck.yml'
sed -n '/cleanup/q;p' $gits_folder/RetroDECK/net.retrodeck.retrodeck.yml > $manifest
sed -i '/^[[:space:]]*#/d' $manifest
sed -i 's/[[:space:]]*#.*$//' $manifest
cat << EOF >> $manifest
modules:
- name: retrodeck
buildsystem: simple
build-commands:
- cp -rn files/* /app
sources:
- type: archive
url: https://artifacts.retrodeck.net/artifacts/RetroDECK-Artifact.tar.gz
sha256: __SHA__
EOF
cat << EOF >> flathub.json
{
"only-arches": ["x86_64"]
}
EOF
# Getting latest release name
# version=$(\

View file

@ -1,4 +1,4 @@
name: main-selfhosted
name: "Build main"
on:
push:
@ -6,8 +6,10 @@ on:
- main
paths:
- '.github/workflows/**'
- 'automation_tools/**'
- 'emu-configs/**'
- 'es-configs/**'
- 'functions/**'
- 'rd-submodules/**'
- '*.sh'
- 'net.retrodeck.retrodeck.yml'
@ -30,35 +32,70 @@ jobs:
run: sudo umount -f /home/ubuntu/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles/*
continue-on-error: true
- name: Generate build ID
id: generating_buildid
run: echo "##[set-output name=build-id;]$(echo "$( git rev-parse --short HEAD )")"
- uses: actions/checkout@v3
- name: Clone RetroDECK repo
uses: actions/checkout@v3
with:
submodules: 'true'
- name: Initialize enviornment
- name: "Install dependencies"
run: "automation_tools/install_dependencies.sh"
- name: Run pre-build automation tasks
run : "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/pre_build_automation.sh"
- name: Read manifest content
id: read_manifest
run: echo "::set-output name=file_content::$(cat net.retrodeck.retrodeck.yml)"
# - name: "Updating release notes in appdata"
# run: "automation_tools/appdata_management.sh"
- name: Check versions (main only)
id: check_version_string
run: "automation_tools/version_checker.sh"
- name: "Build flatpak: download only"
id: "flatpak-download"
run: |
git pull
git submodule init
git submodule update
sudo apt install -y flatpak flatpak-builder p7zip-full xmlstarlet bzip2
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --user -y --noninteractive \
org.kde.Sdk//6.3 \
org.kde.Platform//6.3 \
org.freedesktop.Platform.ffmpeg-full/x86_64/22.08 \
io.qt.qtwebengine.BaseApp/x86_64/6.3 \
org.freedesktop.Sdk.Extension.llvm13 \
org.freedesktop.Sdk.Extension.dotnet6/x86_64/22.08 \
runtime/org.freedesktop.Platform.ffmpeg-full/x86_64/22.08
/bin/bash ${GITHUB_WORKSPACE}/automation_tools/pre_build_automation.sh # Run pre-build automation tasks
git config --global protocol.file.allow always
mkdir -vp ${GITHUB_WORKSPACE}/local
mkdir -vp ${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker
flatpak-builder --user --force-clean \
--install-deps-from=flathub \
--install-deps-from=flathub-beta \
--repo=${GITHUB_WORKSPACE}/local \
--download-only \
${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker \
net.retrodeck.retrodeck.yml
continue-on-error: true
# Sometimes flatpak download fails, in this case it tries a second time
- name: "Build flatpak: download only (retry)"
if: steps.flatpak-download.outcome == 'failure'
run: |
git config --global protocol.file.allow always
mkdir -vp ${GITHUB_WORKSPACE}/local
mkdir -vp ${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker
flatpak-builder --user --force-clean \
--install-deps-from=flathub \
--install-deps-from=flathub-beta \
--repo=${GITHUB_WORKSPACE}/local \
--download-only \
${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker \
net.retrodeck.retrodeck.yml
- name: Build flatpak
run: |
git config --global protocol.file.allow always
mkdir -vp ${GITHUB_WORKSPACE}/local
mkdir -vp ${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker
flatpak-builder --user --force-clean --install-deps-from=flathub --install-deps-from=flathub-beta --repo=${GITHUB_WORKSPACE}/local ${GITHUB_WORKSPACE}/retrodeck-flatpak-main net.retrodeck.retrodeck.yml
flatpak-builder --user --force-clean \
--install-deps-from=flathub \
--install-deps-from=flathub-beta \
--repo=${GITHUB_WORKSPACE}/local \
--disable-download \
${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker \
net.retrodeck.retrodeck.yml
- name: Create Artifact for flathub
run: |
@ -92,7 +129,6 @@ jobs:
bodyFile: "body.md"
artifacts: "RetroDECK.flatpak,RetroDECK-Artifact.tar.gz"
allowUpdates: true
#prerelease: true
makeLatest: true
token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
repo: RetroDECK

4
.gitignore vendored
View file

@ -13,5 +13,5 @@ Thumbs.db
.flatpak-builder/
retrodeck-flatpak-cooker/
retrodeck-flatpak/
bakcup
.old
backup
.old

View file

@ -6,6 +6,8 @@
![Flathub](https://img.shields.io/flathub/v/net.retrodeck.retrodeck)
![Discord](https://img.shields.io/discord/951662718102962256?label=discord)
![GitHub](https://img.shields.io/github/license/XargonWan/RetroDECK)
[![Documentation Status](https://readthedocs.org/projects/retrodeck/badge/?version=latest)](https://retrodeck.readthedocs.io/en/latest/?badge=latest)
# RetroDECK on your device!

View file

@ -0,0 +1,91 @@
#!/bin/bash
source automation_tools/version_extractor.sh
# Fetch appdata version
appdata_version=$(fetch_appdata_version)
echo -e "Appdata:\t\t$appdata_version"
# Defining manifest file location
appdata_file="net.retrodeck.retrodeck.appdata.xml"
# Check if release with appdata_version already exists
if grep -q "version=\"$appdata_version\"" "$appdata_file"; then
echo "Deleting existing release version $appdata_version..."
# Remove the existing release entry
sed -i "/<release version=\"$appdata_version\"/,/<\/release>/d" "$appdata_file"
fi
echo "Adding new release version $appdata_version..."
# Get today's date in the required format (YYYY-MM-DD)
today_date=$(date +"%Y-%m-%d")
echo "Today is $today_date"
# Construct the release snippet
release_snippet="\
<releases>
<release version=\"$appdata_version\" date=\"$today_date\">
<url>https://github.com/XargonWan/RetroDECK/releases/tag/$appdata_version</url>
<description>
RELEASE_NOTES_PLACEHOLDER
</description>
</release>"
# Read the entire content of the XML file
xml_content=$(cat "$appdata_file")
# Replace RELEASE_NOTES_PLACEHOLDER with the actual release notes
# TODO
git clone https://github.com/XargonWan/RetroDECK.wiki.git /tmp/wiki
# Path to the markdown file
wiki="/tmp/wiki/Version-history:-Patch-Notes.md"
# Read the markdown file until the first occurrence of "---"
latest_version_notes=""
while IFS= read -r line; do
if [ "$line" = "---" ]; then
break
fi
latest_version_notes+="$line\n"
done < "$wiki"
# Extract the version number
version_number="${latest_version_notes#*# RetroDECK }" # Remove text before "# RetroDECK "
version_number="${version_number%% -*}" # Remove text after " - "
# Extract sections from the latest version notes
sections=$(echo "$latest_version_notes" | awk '/##/ { print; }')
# Create a formatted section list
section_list=""
current_section=""
while IFS= read -r line; do
if [[ "$line" == "##"* ]]; then
if [ -n "$current_section" ]; then
section_list+="</ul>"
fi
section_name="${line##*# }"
section_list+="<p>${section_name}</p><ul>"
elif [[ "$line" == "- "* ]]; then
entry="${line#*- }"
section_list+="<li>${entry}</li>"
fi
done <<< "$sections"
if [ -n "$current_section" ]; then
section_list+="</ul>"
fi
# Replace RELEASE_NOTES_PLACEHOLDER with the actual release notes
release_description="${release_snippet/RELEASE_NOTES_PLACEHOLDER/$section_list}"
# Append the new release snippet to the content
modified_xml_content="${xml_content/<releases>/$release_description}"
# Overwrite the original XML file with the modified content
echo "$modified_xml_content" > "$appdata_file"
# Format the XML file
#xmlstarlet fo --omit-decl "$appdata_file"

View file

@ -9,3 +9,4 @@ hash^MSXBIOSHASHPLACEHOLDER^http://bluemsx.msxblue.com/rel_download/blueMSXv282f
hash^XEMUHDDHASHPLACEHOLDER^https://github.com/mborgerson/xemu-hdd-image/releases/latest/download/xbox_hdd.qcow2.zip
latestcommit^UNIVERSALDYNAMICINPUTCOMMITPLACEHOLDER^https://github.com/Venomalia/UniversalDynamicInput^main
outside_info^VERSIONPLACEHOLDER^${GITHUB_WORKSPACE}/buildid
branch^THISBRANCH

View file

@ -1,5 +1,7 @@
#!/bin/bash
# Don't use this script lightly
git submodule deinit --all
rm rd-submodules/retroarch
git rm -rf --cached rd-submodules/retroarch

View file

@ -0,0 +1,5 @@
#!/bin/bash
# This scritp is installing the required dependencies to correctly run the pipeline and buold the flatpak
sudo apt install -y flatpak flatpak-builder p7zip-full xmlstarlet bzip2 curl
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

10
automation_tools/pre_build_automation.sh Normal file → Executable file
View file

@ -15,6 +15,7 @@
rd_manifest=${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml
automation_task_list=${GITHUB_WORKSPACE}/automation_tools/automation_task_list.cfg
current_branch=$(git rev-parse --abbrev-ref HEAD)
echo "Manifest location: $rd_manifest"
echo "Automation task list location: $automation_task_list"
@ -23,10 +24,17 @@ echo "Task list contents:"
cat "$automation_task_list"
echo
# Update all collected information
while IFS="^" read -r action placeholder url branch
do
if [[ ! $action == "#"* ]] && [[ ! -z "$action" ]]; then
if [[ "$action" == "hash" ]]; then
if [[ "$action" == "branch" ]]; then
echo
echo "Placeholder text: $placeholder"
echo "Current branch:" "$current_branch"
echo
/bin/sed -i 's^'"$placeholder"'^'"$current_branch"'^g' $rd_manifest
elif [[ "$action" == "hash" ]]; then
echo
echo "Placeholder text: $placeholder"
echo "URL to hash: $url"

View file

@ -0,0 +1,63 @@
#!/bin/bash
# This script is used to check that the versions are correct and topping the pipeline if something is wrong.
# This is designed to be run on the main pipeline to check that everything is in order before building RetroDECK.
source automation_tools/version_extractor.sh
# Set the file paths
appdata="net.retrodeck.retrodeck.appdata.xml"
manifest="net.retrodeck.retrodeck.yml"
manifest_content=$(cat "$manifest")
compare_versions() {
local manifest_version_cleaned=$(echo "$1" | sed 's/[a-zA-Z]//g')
local appdata_version_cleaned=$(echo "$2" | sed 's/[a-zA-Z]//g')
if [[ "$manifest_version_cleaned" == "$appdata_version_cleaned" ]]; then
return 0 # Versions are equal
fi
local IFS=.
local manifest_parts=($manifest_version_cleaned)
local appdata_parts=($appdata_version_cleaned)
for ((i=0; i<${#manifest_parts[@]}; i++)); do
if ((manifest_parts[i] > appdata_parts[i])); then
return 1 # Manifest version is greater
elif ((manifest_parts[i] < appdata_parts[i])); then
return 2 # Appdata version is greater
fi
done
return 0 # Versions are equal
}
repo_version=$(fetch_repo_version)
echo -e "Online repository:\t$repo_version"
manifest_version=$(fetch_manifest_version)
echo -e "Manifest:\t\t$manifest_version"
appdata_version=$(fetch_appdata_version)
echo -e "Appdata:\t\t$appdata_version"
# Additional checks
if [[ "$manifest_version" == "main" || "$manifest_version" == "THISBRANCH" ]]; then
echo "Manifest version cannot be 'main' or 'THISBRANCH'. Please fix it."
exit 1
fi
if [[ "$appdata_version" != "$manifest_version" ]]; then
echo "Appdata version is not equal to manifest version. Please fix it."
exit 1
fi
compare_versions "$repo_version" "$manifest_version"
result=$?
if [ "$result" -eq 1 ]; then
echo "Repository version is less than manifest version. Please fix it."
exit 1
fi
echo "All checks passed. Well done!"

View file

@ -0,0 +1,28 @@
#!/bin/bash
appdata="net.retrodeck.retrodeck.appdata.xml"
manifest="net.retrodeck.retrodeck.yml"
manifest_content=$(cat "$manifest")
fetch_repo_version(){
# Getting latest RetroDECK release info
LATEST_RELEASE=$(curl -s "https://api.github.com/repos/XargonWan/RetroDECK/releases/latest")
# Extracting tag name from the latest release
repo_version=$(echo "$LATEST_RELEASE" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
# Printing results
echo "$repo_version"
}
fetch_appdata_version(){
# Extract the version from the net.retrodeck.retrodeck.appdata.xml file
appdata_version=$(grep -oPm1 "(?<=<release version=\")[^\"]+" "$appdata")
echo "$appdata_version"
}
fetch_manifest_version(){
# Use awk to extract the value of the first iteration of VERSION variable
manifest_version=$(echo "$manifest_content" | awk '/VERSION=/ && !/#/ { sub(/.*VERSION=/, ""); sub(/#.*/, ""); print; exit }')
# Trim leading and trailing whitespace
manifest_version=$(echo "$manifest_version" | awk '{$1=$1;print}')
echo "$manifest_version"
}

View file

@ -286,6 +286,10 @@ gambatte_gb_link_network_server_ip_9 = "0"
gambatte_gb_palette_pixelshift_1 = "PixelShift 01 - Arctic Green"
gambatte_gb_palette_twb64_1 = "TWB64 001 - Aqours Blue"
gambatte_gb_palette_twb64_2 = "TWB64 101 - 765PRO Pink"
gambatte_gb_input_player1_l = "nul"
gambatte_gb_input_player1_l_btn = "nul"
gambatte_gb_input_player1_r = "nul"
gambatte_gb_input_player1_r_btn = "nul"
gambatte_gbc_color_correction = "GBC only"
gambatte_gbc_color_correction_mode = "accurate"
gambatte_gbc_frontlight_position = "central"

View file

@ -0,0 +1,28 @@
The ~/retrodeck/texture_packs/duckstaiton/ represents the /duckstation/textures/ folder in Duckstation.
Note:
Some texture packs could made for a specific version or region of a game. Make sure you have the right game and textures for it.
Note:
TITLEID is different for every game.
Enable Custom Textures
- Open up Duckstation inside RetroDECK Configurator by pressing Open Emulator - Duckstation.
- Go to Settings -> Advanced -> Tweaks/Hacks
- Enable VRAM Write Texture Replacement and set it to On.
- Preload Texture Replacements and set it to On.
How do I add texture packs?
Requirements: Texture pack files
NOTE: On the Steam Deck this could be easier to do in Desktop Mode.
Texture folder directly
- Extract any texture pack files from compressed .zip or any other format into folders.
- Go into ~/retrodeck/texture_packs/duckstation/. The folders are all named by TITLEID.
- Move textures into the right ~/retrodeck/texture_packs/duckstation/<TITLEID> folder.
Related wiki article can be found here:
https://github.com/XargonWan/RetroDECK/wiki/Duckstation%3A-Texture-Packs
The RetroDECK Team

View file

@ -0,0 +1,32 @@
RetroArch - NES - Mesen
The texture_packs/RetroArch-Mesen/ represents /retroarch/system/HdPacks/ folder.
Note:
Some texture packs could made for a specific version or region of a game. Make sure you have the right game and textures for it.
Enable Texture Packs in the Mesen core for certain games
From the RetroArch Quick Menu
- Go to Core Options -> Enable HD Packs set to On
- Then save the current configuration for that game under Core Options -> Manage Core Options -> Save Game Options
How do I add texture packs that can be used by the Mesen Core?
NOTE: On the Steam Deck this could be easier to do in Desktop Mode.
- All texture packs go into the texture_packs/RetroArch-Mesen/ folder.
- The texture pack have to be extracted from .zip or other compressed format into a folder.
- The name of the folder must be the same name as that of the rom file the texture pack is for.
Example:
You want apply a texture pack to a game called ScaryCastle USA.nes and you have downloaded the ScaryCastle TexturePACK HD.zip.
- Extract the ScaryCastle TexturePACK HD.zip
- Move the extracted ScaryCastle TexturePACK HD folder into texture_packs/RetroArch-Mesen/
- Rename the ScaryCastle TexturePACK HD folder so it has the same name as the rom ScaryCastle USA without the .nes file extension.
- Start up RetroDECK and select the ScaryCastle nes games.
NOTE: On the Steam Deck go into GameMode first, then launch RetroDECK.
Related wiki article can be found here:
https://github.com/XargonWan/RetroDECK/wiki/RetroArch-Mesen%3A-Texture-Packs
The RetroDECK Team

View file

@ -0,0 +1,30 @@
RetroArch - N64 - Mupen64Plus-Next
The directory 'texture_packs/RetroArch-Mupen64Plus/' corresponds to the '/retroarch/system/Mupen64plus/' folder.
Please note that some texture packs may be designed for a specific version or region of the game. Ensure you have the correct ROM and textures for it.
To enable Texture Packs in the Mupen64Plus-Next core for certain games, follow these steps:
1. Open the RetroArch Quick Menu.
2. Navigate to Core Options -> GLideN64.
3. Set 'Use High-Res Textures', 'Cache Textures', 'Use High-Res Full Alpha Channel', and 'Use Hi-Res Storage' to On.
4. Save the current configuration for that game under Core Options -> Manage Core Options -> Save Game Options.
Optionally, you can set 'Use High-Res Texture Cache Compression' to On to compress uncompressed HD Textures into .hts files.
To add texture packs that can be used by the Mupen64Plus-Next Core:
Note: On the Steam Deck, this could be easier to do in Desktop Mode.
1. All texture packs go into the 'texture_packs//RetroArch-Mupen64Plus/hires_texture/' or 'texture_packs/RetroArch-Mupen64Plus/cache/' folder.
2. The texture pack must be extracted from .zip or other compressed format into a folder.
For compressed textures stored in .hts files, place them in the 'texture_packs/RetroArch-Mupen64Plus/cache/' folder.
For uncompressed textures stored in loose folders or files, place them in the 'texture_packs/RetroArch-Mupen64Plus/hires_texture/' folder.
Related wiki article can be found here:
https://github.com/XargonWan/RetroDECK/wiki/RetroArch-Mupen64Plus-Next%3A-Texture-Packs
The RetroDECK Team

View file

@ -0,0 +1,26 @@
PCSX2 - Playstation 2
The directory '~/retrodeck/texture_packs/PCSX2/' corresponds to the '/PCSX2/textures/' folder in PCSX2.
Please note that some texture packs may be designed for a specific version or region of a game. Ensure you have the correct game and textures for it.
Also, keep in mind that 'TITLEID' is different for every game.
To enable Custom Textures, follow these steps:
1. Open up PCSX2 inside RetroDECK Configurator by pressing 'Open Emulator' - 'PCSX2'.
2. Press 'Settings' -> 'Graphics'.
3. Set 'Load Textures' and 'Async Texture Loading' to On.
To add texture packs, you'll need the texture pack files. On the Steam Deck, this could be easier to do in Desktop Mode.
For direct texture folder:
1. Extract any texture pack files from compressed .zip or any other format into folders.
2. Go into '~/retrodeck/texture_packs/PCSX2/'. The folders are all named by 'TITLEID'.
3. Move textures into the correct '~/retrodeck/texture_packs/PCSX2/<TITLEID>' folder.
Related wiki article can be found here:
https://github.com/XargonWan/RetroDECK/wiki/PCSX2%3A-Texture-Packs
The RetroDECK Team

View file

@ -0,0 +1,26 @@
PPSSPP - PSP
The directory '~/retrodeck/texture_packs/ppsspp/' corresponds to the '/PSP/TEXTURES/' folder in PPSSPP.
Please note that some texture packs may be designed for a specific version or region of the game. Ensure you have the correct ROM and textures for it.
Also, keep in mind that 'TITLEID' is different for every game.
To enable Custom Textures, follow these steps:
1. Open up PPSSPP inside RetroDECK Configurator by pressing 'Open Emulator' - 'PPSSPP'.
2. Press 'Settings' -> 'Tools' -> 'Developer Tools'.
3. Set 'Replace Textures' to On.
To add texture packs, you'll need the texture pack files. On the Steam Deck, this could be easier to do in Desktop Mode.
For adding textures:
1. Extract any texture pack files from compressed .zip or any other format into folders.
2. Go into '~/retrodeck/texture_packs/ppsspp/'. The folders are all named by 'TITLEID'.
3. Paste the textures into the correct '~/retrodeck/texture_packs/ppsspp/<TITLEID>' folder.
Related wiki article can be found here:
https://github.com/XargonWan/RetroDECK/wiki/PPSSPP%3A-Texture-Packs
The RetroDECK Team

View file

@ -0,0 +1,19 @@
There are two ways of adding mods into Citra
From Citra
- Extract any mod from compressed .zip or any other format to folders.
- Open up Citra inside RetroDECK Configurator by pressing Open Emulator - Citra.
- Right click on the game you want to add mods into.
- Click on Open Mods Location.
- Paste the mod files inside that directory, each folder is stored by the TITLLEID of the game.
- Quit Citra
From the mod folder directly
- Extract any mod files from compressed .zip or any other format into folders.
- Go into ~/retrodeck/mods/citra/. The folders are all named by TITLEID.
- Past the mods into the right ~/retrodeck/mods/yuzu/<TITLEID> folder.
Related wiki article can be found here:
https://github.com/XargonWan/RetroDECK/wiki/Citra%3A-Mods#citra---3ds
The RetroDECK Team

View file

@ -0,0 +1,19 @@
Prerequisites
- Open up Dolphin inside RetroDECK Configurator by pressing Open Emulator - Dolphin.
- Press Options -> Graphic Settings
- Enable Graphics Mods and set it to On.
Installation
- Extract any mod files from compressed .zip or any other format into folders.
- Go into mods folders, they contain folders that are all named by GAME_ID. ~/retrodeck/mods/dolphin/.
- Move the mods into the right folder: ~/retrodeck/mods/dolphin/<GAME_ID>
Notes:
- The ~/retrodeck/mods/dolphin/ that represents the /load/GraphicMods folder.
- Some texture packs could made for a specific version or region of a game. Make sure you have the right game and textures for it.
- GAME_ID is different for every game.
Related wiki article can be found here:
https://github.com/XargonWan/RetroDECK/wiki/Dolphin-and-Primehack%3A-Mods
The RetroDECK Team

View file

@ -0,0 +1,19 @@
Prerequisites
- Open up Primehack inside RetroDECK Configurator by pressing Open Emulator - Primehack.
- Press Options -> Graphic Settings
- Enable Graphics Mods and set it to On.
Installation
- Extract any mod files from compressed .zip or any other format into folders.
- Go into mods folders, they contain folders that are all named by GAME_ID. ~/retrodeck/mods/primehack/.
- Move the mods into the right folder: ~/retrodeck/mods/primehack/<GAME_ID>
Notes:
- The ~/retrodeck/mods/primehack/ that represents the /load/GraphicMods folder.
- Some texture packs could made for a specific version or region of a game. Make sure you have the right game and textures for it.
- GAME_ID is different for every game.
Related wiki article can be found here:
https://github.com/XargonWan/RetroDECK/wiki/Dolphin-and-Primehack%3A-Mods
The RetroDECK Team

View file

@ -0,0 +1,25 @@
There are two ways of adding mods into Yuzu
From Yuzu directly
- Extract any mod files from compressed .zip or any other format to folders.
- Open up Yuzu inside RetroDECK Configurator by pressing Open Emulator - Yuzu.
- Right click on the game you want to add mods into.
- Click on Open Mod Data Destination.
- Paste the mod folders inside that directory.
- Right clicking on the game and selecting Properties.
- Enable the mods you want to enable by pressing the checkboxes in the Add-Ons tab and press OK.
- Quit Yuzu
From the mods/yuzu folder
- Extract any mod files from compressed .zip or any other format into folders.
- Go into ~/retrodeck/mods/yuzu/ and file the right folder for the game you want to add mods to. The folders are all named by TITLEID.
- Move those folders into ~/retrodeck/mods/yuzu/<TITLEID>
- Open up Yuzu inside RetroDECK Configurator by pressing Open Emulator - Yuzu.
- Right clicking on the game and selecting Properties.
- Enable the mods you want to enable by pressing the checkboxes in the Add-Ons tab and press OK.
- Quit Yuzu
Related wiki article can be found here:
https://github.com/XargonWan/RetroDECK/wiki/Yuzu%3A-Mods
The RetroDECK Team

View file

@ -2,12 +2,13 @@ config_file_format^retroarch
target_file^/var/config/retroarch/config/mGBA/gba.cfg
defaults_file^$emuconfigs/retroarch/retroarch.cfg
change^borders^aspect_ratio_index^23
change^borders^custom_viewport_height^600
change^borders^custom_viewport_width^900
change^borders^custom_viewport_x^190
change^borders^custom_viewport_y^37
change^borders^input_overlay^/var/config/retroarch/overlays/borders/pegasus/gba.cfg
change^borders^input_overlay_aspect_adjust_landscape^0.105000
change^borders^custom_viewport_height^640
change^borders^custom_viewport_width^960
change^borders^custom_viewport_x^160
change^borders^custom_viewport_y^0
change^borders^input_overlay_enable^true
change^borders^input_overlay_scale_landscape^1.140000
change^borders^input_overlay^/var/config/retroarch/overlays/borders/pegasus/gba.cfg
change^borders^input_overlay_aspect_adjust_landscape^0.110000
change^borders^input_overlay_scale_landscape^1.2150000
change^borders^input_overlay_y_offset_landscape^0.020000
enable^nintendo_button_layout^/var/config/retroarch/config/remaps/Gambatte/gbc.rmp

View file

@ -10,5 +10,5 @@ change^borders^input_overlay^/var/config/retroarch/overlays/borders/pegasus/gbc.
change^borders^input_overlay_aspect_adjust_landscape^0.110000
change^borders^input_overlay_enable^true
change^borders^input_overlay_scale_landscape^1.205000
change^borders^input_overlay_y_offset_landscape^0.005000
change^borders^input_overlay_y_offset_landscape^-0.040000
enable^nintendo_button_layout^/var/config/retroarch/config/remaps/Gambatte/gbc.rmp

View file

@ -2,10 +2,12 @@ config_file_format^retroarch
target_file^/var/config/retroarch/config/Genesis Plus GX/gg.cfg
defaults_file^$emuconfigs/retroarch/retroarch.cfg
change^borders^aspect_ratio_index^23
change^borders^custom_viewport_width^800
change^borders^custom_viewport_x^240
change^borders^custom_viewport_y^43
change^borders^custom_viewport_width^960
change^borders^custom_viewport_height^720
change^borders^custom_viewport_x^160
change^borders^custom_viewport_y^24
change^borders^input_overlay^/var/config/retroarch/overlays/borders/pegasus/gg.cfg
change^borders^input_overlay_aspect_adjust_landscape^-0.080000
change^borders^input_overlay_aspect_adjust_landscape^0.110000
change^borders^input_overlay_enable^true
change^borders^input_overlay_scale_landscape^1.345000
change^borders^input_overlay_scale_landscape^1.350000
change^borders^input_overlay_y_offset_landscape^0.020000

View file

@ -2,4 +2,17 @@
# FILE NAME^DESTINATION
# The destination can be an internal variable name like $roms_folder if needed
# The FILE name can have spaces in it, but the DESTINATION cannot, even in variable form
RetroDECK Example Readme.txt^$rdhome
# mods
how-to-install-citra-mods.txt^$mods_folder/Citra
how-to-install-dolphin-mods.txt^$mods_folder/Dolphin
how-to-install-primehack-mods.txt^$mods_folder/Primehack
how-to-install-yuzu-mods.txt^$mods_folder/Yuzu
# textures
how-to-install-Mesen-textures.txt^$texture_packs_folder/RetroArch-Mesen
how-to-install-PPSSPP-textures.txt^$texture_packs_folder/PPSSPP
how-to-install-PCSX2-textures.txt^$texture_packs_folder/PCSX2
how-to-install-Mupen64Plus-textures.txt^$texture_packs_folder/RetroArch-Mupen64Plus/cache
how-to-install-Mupen64Plus-textures.txt^$texture_packs_folder/RetroArch-Mupen64Plus/hires_texture
how-to-install-Duckstation-textures.txt^$texture_packs_folder/Duckstation

View file

@ -13,11 +13,14 @@ Creator of the RetroDECK configurator and various awesome features.
Lazorne
Community management/outreach, testing, documentation, feature suggestions and some design.
dottormac
Beta Tester
LX32
Junior code contributor, Beta Tester
Collaborators
Niroku / Atari
Helps with community management, is also part of Batocera
Leon Styhre
Maker of EmulationStation Desktop Edition
@ -27,7 +30,7 @@ Theme creator for ES-DE and AmberELEC
Additional credits
RavenKilit
Did some code and testning, contributed to AmberELEC
Former Beta Tester and AmberELEC contributor
MorGuux
Made the RetroDECK steamdb graphics for the old logo
@ -38,11 +41,14 @@ Made the new logo and steamdb graphics
teotwaki
Generous cloud hosting sponsor
Niroku / Atari
Helps with community management, is also part of Batocera
Gabeboii
Webmaster
Draco
Server Administration
Former server admiistrator and code consultant
ItzSelenux
Maker of pixelitos
@ -56,7 +62,7 @@ Special Thanks
We want give special thanks to:
Our Patreons that keeps the build servers running and provide feedback.
All related emulation projects.
All related emulation projects, such as Batocera and AmberELEC where we are taking our inspiration.
All people that have put both time and money into emulation projects.
All the users who help others with support, guidance and good spirit.
All the users who help with testing and reporting issues.

View file

@ -80,7 +80,7 @@ cheevos_visibility_account = "true"
cheevos_visibility_mastery = "true"
cheevos_visibility_summary = "1"
cheevos_visibility_unlock = "true"
config_save_on_exit = "false"
config_save_on_exit = "true"
content_database_path = "/app/share/libretro/database/rdb"
content_favorites_directory = "default"
content_favorites_path = "/var/config/retroarch/content_favorites.lpl"

View file

@ -15,16 +15,17 @@
<entry>RetroArch-Linux-x86_64.AppImage</entry>
</rule>
<rule type="staticpath">
<entry>/var/lib/flatpak/exports/bin/org.libretro.RetroArch</entry>
<entry>~/.local/share/flatpak/exports/bin/org.libretro.RetroArch</entry>
<entry>~/Applications/RetroArch-Linux*.AppImage</entry>
<entry>~/.local/share/applications/RetroArch-Linux*.AppImage</entry>
<entry>~/.local/bin/RetroArch-Linux*.AppImage</entry>
<entry>~/bin/RetroArch-Linux*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/org.libretro.RetroArch</entry>
<entry>~/.local/share/flatpak/exports/bin/org.libretro.RetroArch</entry>
</rule>
</emulator>
<core name="RETROARCH">
<rule type="corepath">
<!-- FlatPak RetroDECK -->
<!-- Flatpak RetroDECK -->
<entry>/app/share/libretro/cores</entry>
<!-- Snap package -->
<entry>~/snap/retroarch/current/.config/retroarch/cores</entry>
@ -69,11 +70,12 @@
<entry>net.cebix.basilisk</entry>
</rule>
<rule type="staticpath">
<entry>/var/lib/flatpak/exports/bin/net.cebix.basilisk</entry>
<entry>~/.local/share/flatpak/exports/bin/net.cebix.basilisk</entry>
<entry>~/Applications/BasiliskII*.AppImage</entry>
<entry>~/.local/share/applications/BasiliskII*.AppImage</entry>
<entry>~/.local/bin/BasiliskII*.AppImage</entry>
<entry>~/bin/BasiliskII*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/net.cebix.basilisk</entry>
<entry>~/.local/share/flatpak/exports/bin/net.cebix.basilisk</entry>
</rule>
</emulator>
<emulator name="BLASTEM">
@ -106,9 +108,11 @@
</rule>
<rule type="staticpath">
<entry>~/Applications/Cemu*.AppImage</entry>
<entry>~/.local/share/applications/Cemu*.AppImage</entry>
<entry>~/.local/bin/Cemu*.AppImage</entry>
<entry>~/bin/Cemu*.AppImage</entry>
<entry>~/Applications/Cemu/Cemu</entry>
<entry>~/.local/share/applications/Cemu/Cemu</entry>
<entry>~/.local/bin/Cemu/Cemu</entry>
<entry>~/bin/Cemu/Cemu</entry>
</rule>
@ -122,6 +126,10 @@
<entry>org.citra_emu.citra</entry>
</rule>
<rule type="staticpath">
<entry>~/Applications/citra*.AppImage</entry>
<entry>~/.local/share/applications/citra*.AppImage</entry>
<entry>~/.local/bin/citra*.AppImage</entry>
<entry>~/bin/citra*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/org.citra_emu.citra</entry>
<entry>~/.local/share/flatpak/exports/bin/org.citra_emu.citra</entry>
</rule>
@ -133,6 +141,7 @@
</rule>
<rule type="staticpath">
<entry>~/Applications/cpcemu/cpcemu</entry>
<entry>~/.local/share/applications/cpcemu/cpcemu</entry>
<entry>~/.local/bin/cpcemu/cpcemu</entry>
<entry>~/bin/cpcemu/cpcemu</entry>
</rule>
@ -141,6 +150,7 @@
<!-- Sinclair ZX Spectrum Next emulator #CSpect -->
<rule type="staticpath">
<entry>~/Applications/CSpect/CSpect.exe</entry>
<entry>~/.local/share/applications/CSpect/CSpect.exe</entry>
<entry>~/.local/bin/CSpect/CSpect.exe</entry>
<entry>~/bin/CSpect/CSpect.exe</entry>
</rule>
@ -163,11 +173,12 @@
<entry>org.DolphinEmu.dolphin-emu</entry>
</rule>
<rule type="staticpath">
<entry>/var/lib/flatpak/exports/bin/org.DolphinEmu.dolphin-emu</entry>
<entry>~/.local/share/flatpak/exports/bin/org.DolphinEmu.dolphin-emu</entry>
<entry>~/Applications/Dolphin_Emulator*.AppImage</entry>
<entry>~/.local/share/applications/Dolphin_Emulator*.AppImage</entry>
<entry>~/.local/bin/Dolphin_Emulator*.AppImage</entry>
<entry>~/bin/Dolphin_Emulator*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/org.DolphinEmu.dolphin-emu</entry>
<entry>~/.local/share/flatpak/exports/bin/org.DolphinEmu.dolphin-emu</entry>
</rule>
</emulator>
<emulator name="DOSBOX-STAGING">
@ -200,14 +211,16 @@
<entry>org.duckstation.DuckStation</entry>
</rule>
<rule type="staticpath">
<entry>/var/lib/flatpak/exports/bin/org.duckstation.DuckStation</entry>
<entry>~/.local/share/flatpak/exports/bin/org.duckstation.DuckStation</entry>
<entry>~/Applications/duckstation-nogui*.AppImage</entry>
<entry>~/.local/share/applications/duckstation-nogui*.AppImage</entry>
<entry>~/.local/bin/duckstation-nogui*.AppImage</entry>
<entry>~/bin/duckstation-nogui*.AppImage</entry>
<entry>~/Applications/duckstation-qt*.AppImage</entry>
<entry>~/.local/share/applications/duckstation-qt*.AppImage</entry>
<entry>~/.local/bin/duckstation-qt*.AppImage</entry>
<entry>~/bin/duckstation-qt*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/org.duckstation.DuckStation</entry>
<entry>~/.local/share/flatpak/exports/bin/org.duckstation.DuckStation</entry>
</rule>
</emulator>
<emulator name="EASYRPG">
@ -217,6 +230,7 @@
</rule>
<rule type="staticpath">
<entry>~/Applications/easyrpg/easyrpg-player</entry>
<entry>~/.local/share/applications/easyrpg/easyrpg-player</entry>
<entry>~/.local/bin/easyrpg/easyrpg-player</entry>
<entry>~/bin/easyrpg/easyrpg-player</entry>
</rule>
@ -228,6 +242,7 @@
</rule>
<rule type="staticpath">
<entry>~/Applications/fbneo/fbneo</entry>
<entry>~/.local/share/applications/fbneo/fbneo</entry>
<entry>~/.local/bin/fbneo/fbneo</entry>
<entry>~/bin/fbneo/fbneo</entry>
</rule>
@ -239,11 +254,12 @@
<entry>org.flycast.Flycast</entry>
</rule>
<rule type="staticpath">
<entry>/var/lib/flatpak/exports/bin/org.flycast.Flycast</entry>
<entry>~/.local/share/flatpak/exports/bin/org.flycast.Flycast</entry>
<entry>~/Applications/flycast*.AppImage</entry>
<entry>~/.local/share/applications/flycast*.AppImage</entry>
<entry>~/.local/bin/flycast*.AppImage</entry>
<entry>~/bin/flycast*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/org.flycast.Flycast</entry>
<entry>~/.local/share/flatpak/exports/bin/org.flycast.Flycast</entry>
</rule>
</emulator>
<emulator name="FS-UAE">
@ -275,11 +291,12 @@
<entry>gargoyle</entry>
</rule>
<rule type="staticpath">
<entry>/var/lib/flatpak/exports/bin/io.github.garglk.Gargoyle</entry>
<entry>~/.local/share/flatpak/exports/bin/io.github.garglk.Gargoyle</entry>
<entry>~/Applications/Gargoyle*.AppImage</entry>
<entry>~/.local/share/applications/Gargoyle*.AppImage</entry>
<entry>~/.local/bin/Gargoyle*.AppImage</entry>
<entry>~/bin/Gargoyle*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/io.github.garglk.Gargoyle</entry>
<entry>~/.local/share/flatpak/exports/bin/io.github.garglk.Gargoyle</entry>
</rule>
</emulator>
<emulator name="GEARBOY">
@ -289,6 +306,7 @@
</rule>
<rule type="staticpath">
<entry>~/Applications/gearboy/gearboy</entry>
<entry>~/.local/share/applications/gearboy/gearboy</entry>
<entry>~/.local/bin/gearboy/gearboy</entry>
<entry>~/bin/gearboy/gearboy</entry>
</rule>
@ -297,6 +315,7 @@
<!-- Atari 2600 emulator Gopher2600 -->
<rule type="staticpath">
<entry>~/Applications/gopher2600/gopher2600_linux_amd64</entry>
<entry>~/.local/share/applications/gopher2600/gopher2600_linux_amd64</entry>
<entry>~/.local/bin/gopher2600/gopher2600_linux_amd64</entry>
<entry>~/bin/gopher2600/gopher2600_linux_amd64</entry>
</rule>
@ -318,6 +337,7 @@
</rule>
<rule type="staticpath">
<entry>~/Applications/hypseus-singe/hypseus.bin</entry>
<entry>~/.local/share/applications/hypseus-singe/hypseus.bin</entry>
<entry>~/.local/bin/hypseus-singe/hypseus.bin</entry>
<entry>~/bin/hypseus-singe/hypseus.bin</entry>
</rule>
@ -329,6 +349,7 @@
</rule>
<rule type="staticpath">
<entry>~/Applications/lightspark/lightspark</entry>
<entry>~/.local/share/applications/lightspark/lightspark</entry>
<entry>~/.local/bin/lightspark/lightspark</entry>
<entry>~/bin/lightspark/lightspark</entry>
</rule>
@ -340,6 +361,7 @@
</rule>
<rule type="staticpath">
<entry>~/Applications/linapple/linapple</entry>
<entry>~/.local/share/applications/linapple/linapple</entry>
<entry>~/.local/bin/linapple/linapple</entry>
<entry>~/bin/linapple/linapple</entry>
</rule>
@ -385,11 +407,12 @@
<entry>io.mgba.mGBA</entry>
</rule>
<rule type="staticpath">
<entry>/var/lib/flatpak/exports/bin/io.mgba.mGBA</entry>
<entry>~/.local/share/flatpak/exports/bin/io.mgba.mGBA</entry>
<entry>~/Applications/mGBA*.AppImage</entry>
<entry>~/.local/share/applications/mGBA*.AppImage</entry>
<entry>~/.local/bin/mGBA*.AppImage</entry>
<entry>~/bin/mGBA*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/io.mgba.mGBA</entry>
<entry>~/.local/share/flatpak/exports/bin/io.mgba.mGBA</entry>
</rule>
</emulator>
<emulator name="MUPEN64PLUS">
@ -430,6 +453,7 @@
</rule>
<rule type="staticpath">
<entry>~/Applications/oricutron/Oricutron</entry>
<entry>~/.local/share/applications/oricutron/Oricutron</entry>
<entry>~/.local/bin/oricutron/Oricutron</entry>
<entry>~/bin/oricutron/Oricutron</entry>
</rule>
@ -463,8 +487,8 @@
<entry>pico8</entry>
</rule>
<rule type="staticpath">
<entry>~/retrodeck/bios/pico-8/pico8</entry>
<entry>~/Applications/pico-8/pico8</entry>
<entry>~/.local/share/applications/pico-8/pico8</entry>
<entry>~/.local/bin/pico-8/pico8</entry>
<entry>~/bin/pico-8/pico8</entry>
</rule>
@ -472,11 +496,12 @@
<emulator name="PLAY!">
<!-- Sony PlayStation 2 emulator Play! -->
<rule type="staticpath">
<entry>/var/lib/flatpak/exports/bin/org.purei.Play</entry>
<entry>~/.local/share/flatpak/exports/bin/org.purei.Play</entry>
<entry>~/Applications/Play!*.AppImage</entry>
<entry>~/.local/share/applications/Play!*.AppImage</entry>
<entry>~/.local/bin/Play!*.AppImage</entry>
<entry>~/bin/Play!*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/org.purei.Play</entry>
<entry>~/.local/share/flatpak/exports/bin/org.purei.Play</entry>
</rule>
</emulator>
<emulator name="PPSSPP">
@ -516,6 +541,7 @@
</rule>
<rule type="staticpath">
<entry>~/Applications/punes/punes</entry>
<entry>~/.local/share/applications/punes/punes</entry>
<entry>~/.local/bin/punes/punes</entry>
<entry>~/bin/punes/punes</entry>
</rule>
@ -527,6 +553,7 @@
</rule>
<rule type="staticpath">
<entry>~/Applications/redream/redream</entry>
<entry>~/.local/share/applications/redream/redream</entry>
<entry>~/.local/bin/redream/redream</entry>
<entry>~/bin/redream/redream</entry>
</rule>
@ -538,11 +565,12 @@
<entry>com.github.Rosalie241.RMG</entry>
</rule>
<rule type="staticpath">
<entry>/var/lib/flatpak/exports/bin/com.github.Rosalie241.RMG</entry>
<entry>~/.local/share/flatpak/exports/bin/com.github.Rosalie241.RMG</entry>
<entry>~/Applications/RMG*.AppImage</entry>
<entry>~/.local/share/applications/RMG*.AppImage</entry>
<entry>~/.local/bin/RMG*.AppImage</entry>
<entry>~/bin/RMG*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/com.github.Rosalie241.RMG</entry>
<entry>~/.local/share/flatpak/exports/bin/com.github.Rosalie241.RMG</entry>
</rule>
</emulator>
<emulator name="RPCS3">
@ -553,11 +581,12 @@
<entry>net.rpcs3.RPCS3</entry>
</rule>
<rule type="staticpath">
<entry>/var/lib/flatpak/exports/bin/net.rpcs3.RPCS3</entry>
<entry>~/.local/share/flatpak/exports/bin/net.rpcs3.RPCS3</entry>
<entry>~/Applications/rpcs3*.AppImage</entry>
<entry>~/.local/share/applications/rpcs3*.AppImage</entry>
<entry>~/.local/bin/rpcs3*.AppImage</entry>
<entry>~/bin/rpcs3*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/net.rpcs3.RPCS3</entry>
<entry>~/.local/share/flatpak/exports/bin/net.rpcs3.RPCS3</entry>
</rule>
</emulator>
<emulator name="RUFFLE">
@ -567,6 +596,7 @@
</rule>
<rule type="staticpath">
<entry>~/Applications/ruffle/ruffle</entry>
<entry>~/.local/share/applications/ruffle/ruffle</entry>
<entry>~/.local/bin/ruffle/ruffle</entry>
<entry>~/bin/ruffle/ruffle</entry>
</rule>
@ -582,9 +612,11 @@
<entry>/var/lib/flatpak/exports/bin/org.ryujinx.Ryujinx</entry>
<entry>~/.local/share/flatpak/exports/bin/org.ryujinx.Ryujinx</entry>
<entry>~/Applications/publish/Ryujinx</entry>
<entry>~/.local/share/applications/publish/Ryujinx</entry>
<entry>~/.local/bin/publish/Ryujinx</entry>
<entry>~/bin/publish/Ryujinx</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>
@ -618,6 +650,7 @@
</rule>
<rule type="staticpath">
<entry>~/Applications/sdl2trs/sdl2trs</entry>
<entry>~/.local/share/applications/sdl2trs/sdl2trs</entry>
<entry>~/.local/bin/sdl2trs/sdl2trs</entry>
<entry>~/bin/sdl2trs/sdl2trs</entry>
</rule>
@ -629,6 +662,7 @@
</rule>
<rule type="staticpath">
<entry>~/Applications/SheepShaver*.AppImage</entry>
<entry>~/.local/share/applications/SheepShaver*.AppImage</entry>
<entry>~/.local/bin/SheepShaver*.AppImage</entry>
<entry>~/bin/SheepShaver*.AppImage</entry>
</rule>
@ -640,6 +674,7 @@
</rule>
<rule type="staticpath">
<entry>~/Applications/simcoupe/simcoupe</entry>
<entry>~/.local/share/applications/simcoupe/simcoupe</entry>
<entry>~/.local/bin/simcoupe/simcoupe</entry>
<entry>~/bin/simcoupe/simcoupe</entry>
</rule>
@ -701,6 +736,7 @@
</rule>
<rule type="staticpath">
<entry>~/Applications/Supermodel/supermodel</entry>
<entry>~/.local/share/applications/Supermodel/supermodel</entry>
<entry>~/.local/bin/Supermodel/supermodel</entry>
<entry>~/bin/Supermodel/supermodel</entry>
</rule>
@ -712,6 +748,7 @@
</rule>
<rule type="staticpath">
<entry>~/Applications/dolphin-emu-triforce*.AppImage</entry>
<entry>~/.local/share/applications/dolphin-emu-triforce*.AppImage</entry>
<entry>~/.local/bin/dolphin-emu-triforce*.AppImage</entry>
<entry>~/bin/dolphin-emu-triforce*.AppImage</entry>
</rule>
@ -720,6 +757,7 @@
<!-- Fujitsu FM Towns emulator Tsugaru -->
<rule type="staticpath">
<entry>~/Applications/tsugaru/Tsugaru_CUI</entry>
<entry>~/.local/share/applications/tsugaru/Tsugaru_CUI</entry>
<entry>~/.local/bin/tsugaru/Tsugaru_CUI</entry>
<entry>~/bin/tsugaru/Tsugaru_CUI</entry>
</rule>
@ -761,6 +799,7 @@
</rule>
<rule type="staticpath">
<entry>~/Applications/Vita3K/Vita3K</entry>
<entry>~/.local/share/applications/Vita3K/Vita3K</entry>
<entry>~/.local/bin/Vita3K/Vita3K</entry>
<entry>~/bin/Vita3K/Vita3K</entry>
</rule>
@ -772,11 +811,12 @@
<entry>app.xemu.xemu</entry>
</rule>
<rule type="staticpath">
<entry>/var/lib/flatpak/exports/bin/app.xemu.xemu</entry>
<entry>~/.local/share/flatpak/exports/bin/app.xemu.xemu</entry>
<entry>~/Applications/xemu*.AppImage</entry>
<entry>~/.local/share/applications/xemu*.AppImage</entry>
<entry>~/.local/bin/xemu*.AppImage</entry>
<entry>~/bin/xemu*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/app.xemu.xemu</entry>
<entry>~/.local/share/flatpak/exports/bin/app.xemu.xemu</entry>
</rule>
</emulator>
<emulator name="XROAR">
@ -786,6 +826,7 @@
</rule>
<rule type="staticpath">
<entry>~/Applications/xroar/xroar</entry>
<entry>~/.local/share/applications/xroar/xroar</entry>
<entry>~/.local/bin/xroar/xroar</entry>
<entry>~/bin/xroar/xroar</entry>
</rule>
@ -797,11 +838,24 @@
<entry>org.yuzu_emu.yuzu</entry>
</rule>
<rule type="staticpath">
<entry>/var/lib/flatpak/exports/bin/org.yuzu_emu.yuzu</entry>
<entry>~/.local/share/flatpak/exports/bin/org.yuzu_emu.yuzu</entry>
<entry>~/Applications/yuzu*.AppImage</entry>
<entry>~/.local/share/applications/yuzu*.AppImage</entry>
<entry>~/.local/bin/yuzu*.AppImage</entry>
<entry>~/bin/yuzu*.AppImage</entry>
<entry>/var/lib/flatpak/exports/bin/org.yuzu_emu.yuzu</entry>
<entry>~/.local/share/flatpak/exports/bin/org.yuzu_emu.yuzu</entry>
</rule>
</emulator>
<emulator name="ZESARUX">
<!-- Sinclair ZX Spectrum emulator ZEsarUX -->
<rule type="systempath">
<entry>zesarux</entry>
</rule>
<rule type="staticpath">
<entry>~/Applications/ZEsarUX/zesarux</entry>
<entry>~/.local/share/applications/ZEsarUX/zesarux</entry>
<entry>~/.local/bin/ZEsarUX/zesarux</entry>
<entry>~/bin/ZEsarUX/zesarux</entry>
</rule>
</emulator>
</ruleList>

View file

@ -25,6 +25,7 @@
<bool name="MAMENameStripExtraInfo" value="true" />
<bool name="MediaViewerKeepVideoRunning" value="true" />
<bool name="MediaViewerScreenshotScanlines" value="true" />
<bool name="MediaViewerShowTypes" value="false" />
<bool name="MediaViewerStretchVideos" value="false" />
<bool name="MediaViewerVideoAudio" value="true" />
<bool name="MediaViewerVideoBlur" value="false" />
@ -51,6 +52,7 @@
<bool name="ScrapeCovers" value="true" />
<bool name="ScrapeFanArt" value="false" />
<bool name="ScrapeGameNames" value="true" />
<bool name="ScrapeManuals" value="true" />
<bool name="ScrapeMarquees" value="true" />
<bool name="ScrapeMetadata" value="true" />
<bool name="ScrapePhysicalMedia" value="true" />
@ -73,6 +75,7 @@
<bool name="ScreensaverControls" value="true" />
<bool name="ScreensaverSlideshowCustomImages" value="false" />
<bool name="ScreensaverSlideshowGameInfo" value="true" />
<bool name="ScreensaverSlideshowOnlyFavorites" value="false" />
<bool name="ScreensaverSlideshowRecurse" value="false" />
<bool name="ScreensaverSlideshowScanlines" value="true" />
<bool name="ScreensaverStretchImages" value="false" />
@ -80,6 +83,7 @@
<bool name="ScreensaverVideoAudio" value="true" />
<bool name="ScreensaverVideoBlur" value="false" />
<bool name="ScreensaverVideoGameInfo" value="true" />
<bool name="ScreensaverVideoOnlyFavorites" value="false" />
<bool name="ScreensaverVideoScanlines" value="true" />
<bool name="ShowHelpPrompts" value="true" />
<bool name="ShowHiddenFiles" value="true" />
@ -106,9 +110,8 @@
<int name="SoundVolumeVideos" value="80" />
<string name="ApplicationUpdaterFrequency" value="never" />
<string name="ApplicationUpdaterLastCheck" value="20230331T153206" />
<string name="ApplicationVersion" value="2.0.1" />
<string name="CollectionCustomGrouping" value="unthemed" />
<string name="CollectionSystemsAuto" value="" />
<string name="CollectionSystemsAuto" value="recent" />
<string name="CollectionSystemsCustom" value="" />
<string name="DefaultSortOrder" value="filename, ascending" />
<string name="GamelistViewStyle" value="automatic" />
@ -117,14 +120,20 @@
<string name="LaunchScreenDuration" value="normal" />
<string name="LegacyThemeTransitions" value="builtin-instant" />
<string name="MediaDirectory" value="" />
<string name="MediaViewerHelpPrompts" value="top" />
<string name="MenuColorScheme" value="dark" />
<string name="MenuOpeningEffect" value="scale-up" />
<string name="MiximageBoxSize" value="medium" />
<string name="MiximagePhysicalMediaSize" value="medium" />
<string name="MiximageResolution" value="1280x800" />
<string name="MiximageScreenshotAspectThreshold" value="high" />
<string name="MiximageScreenshotBlankAreasColor" value="black" />
<string name="MiximageScreenshotHorizontalFit" value="crop" />
<string name="MiximageScreenshotScaling" value="sharp" />
<string name="MiximageScreenshotVerticalFit" value="contain" />
<string name="OpenGLVersion" value="" />
<string name="QuickSystemSelect" value="leftrightshoulders" />
<string name="ROMDirectory" value="~/ROMs" />
<string name="ROMDirectory" value="" />
<string name="RandomEntryButton" value="games" />
<string name="SaveGamelistsMode" value="always" />
<string name="Scraper" value="screenscraper" />
@ -135,11 +144,11 @@
<string name="ScreensaverSlideshowImageDir" value="~/.emulationstation/slideshow/custom_images" />
<string name="ScreensaverType" value="video" />
<string name="StartupSystem" value="" />
<string name="ThemeAspectRatio" value="" />
<string name="ThemeColorScheme" value="" />
<string name="ThemeAspectRatio" value="automatic" />
<string name="ThemeColorScheme" value="art-book-next" />
<string name="ThemeSet" value="art-book-next-es-de" />
<string name="ThemeTransitions" value="automatic" />
<string name="ThemeVariant" value="" />
<string name="UIMode" value="full" />
<string name="UIMode_passkey" value="uuddlrlrba" />
<string name="UserThemeDirectory" value="/home/deck/retrodeck/themes" />
<string name="UserThemeDirectory" value="" />

View file

@ -506,6 +506,18 @@
<platform>easyrpg</platform>
<theme>easyrpg</theme>
</system>
<system>
<name>emulators</name>
<fullname>Emulators</fullname>
<path>%ROMPATH%/emulators</path>
<extension>.AppImage .desktop .sh</extension>
<command label="Suspend ES-DE">%ENABLESHORTCUTS% %EMULATOR_OS-SHELL% %ROM%</command>
<command label="Keep ES-DE running">%RUNINBACKGROUND% %ENABLESHORTCUTS% %EMULATOR_OS-SHELL% %ROM%</command>
<command label="AppImage (Suspend ES-DE)">%EMULATOR_OS-SHELL% -c "%ROM%"</command>
<command label="AppImage (Keep ES-DE running)">%RUNINBACKGROUND% %EMULATOR_OS-SHELL% -c "%ROM%"</command>
<platform>pcwindows</platform>
<theme>emulators</theme>
</system>
<system>
<name>famicom</name>
<fullname>Nintendo Family Computer</fullname>
@ -582,6 +594,17 @@
<platform>fmtowns</platform>
<theme>fmtowns</theme>
</system>
-->
<!--
<system>
<name>fpinball</name>
<fullname>Future Pinball</fullname>
<path>%ROMPATH%/fpinball</path>
<extension>.fpt .FPT</extension>
<command label="Future Pinball (Standalone)">PLACEHOLDER %ROM%</command>
<platform>fpinball</platform>
<theme>fpinball</theme>
</system>
-->
<system>
<name>gameandwatch</name>
@ -614,6 +637,7 @@
<command label="Genesis Plus GX Wide">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/genesis_plus_gx_wide_libretro.so %ROM%</command>
<command label="Gearsystem">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/gearsystem_libretro.so %ROM%</command>
<command label="SMS Plus GX">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/smsplus_libretro.so %ROM%</command>
<!-- <command label="PicoDrive">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/picodrive_libretro.so %ROM%</command> -->
<!-- <command label="Mednafen (Standalone)">%EMULATOR_MEDNAFEN% -force_module gg %ROM%</command> -->
<platform>gamegear</platform>
<theme>gamegear</theme>
@ -699,6 +723,17 @@
<platform>genesis</platform>
<theme>genesis</theme>
</system>
<!--
<system>
<name>gmaster</name>
<fullname>Hartung Game Master</fullname>
<path>%ROMPATH%/gmaster</path>
<extension>.bin .BIN .7z .7Z .zip .ZIP</extension>
<command label="MAME (Standalone)">%STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/gmaster gmaster -cart %ROM%</command>
<platform>gmaster</platform>
<theme>gmaster</theme>
</system>
-->
<system>
<name>gx4000</name>
<fullname>Amstrad GX4000</fullname>
@ -750,6 +785,17 @@
<platform>lcdgames, gameandwatch</platform>
<theme>lcdgames</theme>
</system>
<!--
<system>
<name>lowresnx</name>
<fullname>LowRes NX Fantasy Console</fullname>
<path>%ROMPATH%/lowresnx</path>
<extension>.nx .NX</extension>
<command label="LowRes NX">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/lowresnx_libretro.so %ROM%</command>
<platform>lowresnx</platform>
<theme>lowresnx</theme>
</system>
-->
<system>
<name>lutro</name>
<fullname>Lutro Game Engine</fullname>
@ -1242,8 +1288,9 @@
<name>ports</name>
<fullname>Ports</fullname>
<path>%ROMPATH%/ports</path>
<extension>.desktop .sh</extension>
<command label="Various">%ENABLESHORTCUTS% %EMULATOR_OS-SHELL% %ROM%</command>
<extension>.AppImage .desktop .sh</extension>
<command label="Shortcut or script">%ENABLESHORTCUTS% %EMULATOR_OS-SHELL% %ROM%</command>
<command label="AppImage">%EMULATOR_OS-SHELL% -c "%ROM%"</command>
<platform>pc, pcwindows</platform>
<theme>ports</theme>
</system>
@ -1269,7 +1316,8 @@
<platform>ps3</platform>
<theme>ps3</theme>
</system>
<!-- <system>
<!--
<system>
<name>ps4</name>
<fullname>Sony PlayStation 4</fullname>
<path>%ROMPATH%/ps4</path>
@ -1277,7 +1325,8 @@
<command>PLACEHOLDER %ROM%</command>
<platform>ps4</platform>
<theme>ps4</theme>
</system> -->
</system>
-->
<system>
<name>psp</name>
<fullname>Sony PlayStation Portable</fullname>
@ -1402,6 +1451,17 @@
<platform>scummvm</platform>
<theme>scummvm</theme>
</system>
<!--
<system>
<name>scv</name>
<fullname>Epoch Super Cassette Vision</fullname>
<path>%ROMPATH%/scv</path>
<extension>.0 .bin .BIN .7z .7Z .zip .ZIP</extension>
<command label="MAME (Standalone)">%STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/scv scv -cart %ROM%</command>
<platform>scv</platform>
<theme>scv</theme>
</system>
-->
<system>
<name>sega32x</name>
<fullname>Sega Mega Drive 32X</fullname>
@ -1733,6 +1793,17 @@
<platform>virtualboy</platform>
<theme>virtualboy</theme>
</system>
<!--
<system>
<name>vpinball</name>
<fullname>Visual Pinball</fullname>
<path>%ROMPATH%/vpinball</path>
<extension>.vpt .VPT .vpx .VPX</extension>
<command label="Visual Pinball (Standalone)">PLACEHOLDER %ROM%</command>
<platform>vpinball</platform>
<theme>vpinball</theme>
</system>
-->
<!--
<system>
<name>vsmile</name>
@ -1810,6 +1881,7 @@
<path>%ROMPATH%/x68000</path>
<extension>.dim .DIM .img .IMG .d88 .D88 .88d .88D .hdm .HDM .dup .DUP .2hd .2HD .xdf .XDF .hdf .HDF .cmd .CMD .m3u .M3U .7z .7Z .zip .ZIP</extension>
<command label="PX68k">%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/px68k_libretro.so %ROM%</command>
<!-- <command label="MAME (Standalone)">%STARTDIR%=~/.mame %EMULATOR_MAME% -rompath %GAMEDIR%\;%ROMPATH%/x68000 x68000 -flop1 %ROM%</command> -->
<platform>x68000</platform>
<theme>x68000</theme>
</system>
@ -1853,6 +1925,18 @@
<platform>zx81</platform>
<theme>zx81</theme>
</system>
<!--
<system>
<name>zxnext</name>
<fullname>Sinclair ZX Spectrum Next</fullname>
<path>%ROMPATH%/zxnext</path>
<extension>.nex .NEX .sna .SNA</extension>
<command label="#CSpect (Standalone)">%STARTDIR%=%GAMEDIR% MONO_IOMAP=all mono %EMULATOR_CSPECT% -fullscreen -s28 -vsync -60 -analytics -tv -zxnext -mmc=./ %ROM%</command>
<command label="ZEsarUX (Standalone)">%STARTDIR%=%EMUDIR% %EMULATOR_ZESARUX% &ndash;&ndash;machine tbblue &ndash;&ndash;realvideo &ndash;&ndash;enabletimexvideo &ndash;&ndash;tbblue-fast-boot-mode &ndash;&ndash;enable-esxdos-handler &ndash;&ndash;esxdos-root-dir %GAMEDIR% %ROM%</command>
<platform>zxnext</platform>
<theme>zxnext</theme>
</system>
-->
<system>
<name>zxspectrum</name>
<fullname>Sinclair ZX Spectrum</fullname>
@ -1863,13 +1947,4 @@
<platform>zxspectrum</platform>
<theme>zxspectrum</theme>
</system>
<!-- <system>
<name>tools</name>
<fullname>RetroDECK Tools</fullname>
<path>/app/tools</path>
<extension>.sh .SH</extension>
<command>bash %ROM%</command>
<platform>tools</platform>
<theme>tools</theme>
</system> -->
</systemList>
</systemList>

View file

@ -1,3 +0,0 @@
{
"only-arches": ["x86_64"]
}

View file

@ -1,41 +0,0 @@
app-id: net.retrodeck.retrodeck
runtime: org.kde.Platform
runtime-version: 5.15-22.08
sdk: org.kde.Sdk
sdk-extensions:
- org.freedesktop.Sdk.Extension.llvm14 # Needed for rpcs3
base: io.qt.qtwebengine.BaseApp # Needed for Yuzu
base-version: 5.15-22.08 # Needed for Yuzu
command: retrodeck.sh
finish-args:
- --socket=fallback-x11
- --socket=wayland
- --socket=pulseaudio
- --share=ipc
- --share=network
- --device=all
- --filesystem=home # Needed to be able to relocate / remove / create symlink at ~/retrodeck
- --filesystem=/run/media
- --filesystem=/media
- --allow=multiarch
- --talk-name=org.freedesktop.ScreenSaver
- --talk-name=org.freedesktop.PowerManagement.Inhibit
- --talk-name=org.freedesktop.login1.Manager
- --filesystem=xdg-run/app/com.discordapp.Discord:create
# Dolphin
- --allow=bluetooth
# PPSSPP
# It allows an SDL application to specify its window class, which can be useful for window managers and desktop environments to identify and group similar windows
- --env=SDL_VIDEO_X11_WMCLASS=net.retrodeck.retrodeck
- --env=SDL_VIDEO_WAYLAND_WMCLASS=net.retrodeck.retrodeck
modules:
- name: retrodeck
buildsystem: simple
build-commands:
- cp -rn files/* /app
sources:
- type: archive
url: https://artifacts.retrodeck.net/artifacts/RetroDECK-Artifact.tar.gz
sha256: __SHA__

View file

@ -83,7 +83,8 @@ check_for_version_update() {
local latest_cooker_download=$(curl --silent https://api.github.com/repos/XargonWan/$update_repo/releases/latest | grep '"browser_download_url":' | sed -E 's/.*"([^"]+)".*/\1/')
mkdir -p "$rdhome/RetroDECK_Updates"
wget -P "$rdhome/RetroDECK_Updates" $latest_cooker_download
flatpak-spawn --host flatpak install --user --bundle --noninteractive -y "$rdhome/RetroDECK_Updates/RetroDECK.flatpak"
flatpak-spawn --host flatpak remove --noninteractive -y net.retrodeck.retrodeck # Remove current version before installing new one, to avoid duplicates
flatpak-spawn --host flatpak install --user --bundle --noninteractive -y "$rdhome/RetroDECK_Updates/RetroDECK-cooker.flatpak"
rm -rf "$rdhome/RetroDECK_Updates" # Cleanup old bundles to save space
) |
zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \

View file

@ -170,7 +170,7 @@ changelog_dialog() {
local version_changelog=$(xml sel -t -m "//release[@version='$1']/description" -v . -n $rd_appdata | tr -s '\n' | sed 's/^\s*//')
echo -e "In RetroDECK version $1, the following changes were made:\n$version_changelog" > "/var/config/retrodeck/changelog-partial.txt"
$version_changelog >> "/var/config/retrodeck/changelog-partial.txt"
"$version_changelog" >> "/var/config/retrodeck/changelog-partial.txt"
zenity --icon-name=net.retrodeck.retrodeck --text-info --width=1200 --height=720 \
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \

View file

@ -422,6 +422,7 @@ finit() {
(
prepare_emulator "reset" "all"
build_retrodeck_current_presets
deploy_helper_files
# Optional actions based on user choices
if [[ "$finit_options_choices" =~ (rpcs3_firmware|Enable All) ]]; then

View file

@ -244,6 +244,7 @@ post_update() {
fi
update_splashscreens
deploy_helper_files
build_retrodeck_current_presets
) |
zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \

View file

@ -15,14 +15,14 @@ prepare_emulator() {
if [[ "$emulator" == "retrodeck" ]]; then
if [[ "$action" == "reset" ]]; then # Update the paths of all folders in retrodeck.cfg and create them
while read -r config_line; do
local current_setting_name=$(get_setting_name "$config_line" "retrodeck")
if [[ ! $current_setting_name =~ (rdhome|sdcard) ]]; then # Ignore these locations
local current_setting_value=$(get_setting_value "$rd_conf" "$current_setting_name" "retrodeck" "paths")
eval "$current_setting_name=$rdhome/$(basename $current_setting_value)"
mkdir -p "$rdhome/$(basename $current_setting_value)"
fi
done < <(grep -v '^\s*$' $rd_conf | awk '/^\[paths\]/{f=1;next} /^\[/{f=0} f')
while read -r config_line; do
local current_setting_name=$(get_setting_name "$config_line" "retrodeck")
if [[ ! $current_setting_name =~ (rdhome|sdcard) ]]; then # Ignore these locations
local current_setting_value=$(get_setting_value "$rd_conf" "$current_setting_name" "retrodeck" "paths")
eval "$current_setting_name=$rdhome/$(basename $current_setting_value)"
mkdir -p "$rdhome/$(basename $current_setting_value)"
fi
done < <(grep -v '^\s*$' $rd_conf | awk '/^\[paths\]/{f=1;next} /^\[/{f=0} f')
fi
if [[ "$action" == "postmove" ]]; then # Update the paths of any folders that came with the retrodeck folder during a move
while read -r config_line; do
@ -116,6 +116,29 @@ prepare_emulator() {
dir_prep "$texture_packs_folder/RetroArch-Mesen" "/var/config/retroarch/system/HdPacks"
dir_prep "$texture_packs_folder/RetroArch-Mupen64Plus/cache" "/var/config/retroarch/system/Mupen64plus/cache"
dir_prep "$texture_packs_folder/RetroArch-Mupen64Plus/hires_texture" "/var/config/retroarch/system/Mupen64plus/hires_texture"
# Reset default preset settings
set_setting_value "$rd_conf" "retroarch" "$(get_setting_value "$rd_defaults" "retroarch" "retrodeck" "cheevos")" "retrodeck" "cheevos"
set_setting_value "$rd_conf" "retroarch" "$(get_setting_value "$rd_defaults" "retroarch" "retrodeck" "cheevos_hardcore")" "retrodeck" "cheevos_hardcore"
set_setting_value "$rd_conf" "gb" "$(get_setting_value "$rd_defaults" "gb" "retrodeck" "borders")" "retrodeck" "borders"
set_setting_value "$rd_conf" "gba" "$(get_setting_value "$rd_defaults" "gba" "retrodeck" "borders")" "retrodeck" "borders"
set_setting_value "$rd_conf" "gbc" "$(get_setting_value "$rd_defaults" "gbc" "retrodeck" "borders")" "retrodeck" "borders"
set_setting_value "$rd_conf" "genesis" "$(get_setting_value "$rd_defaults" "genesis" "retrodeck" "borders")" "retrodeck" "borders"
set_setting_value "$rd_conf" "gg" "$(get_setting_value "$rd_defaults" "gg" "retrodeck" "borders")" "retrodeck" "borders"
set_setting_value "$rd_conf" "n64" "$(get_setting_value "$rd_defaults" "n64" "retrodeck" "borders")" "retrodeck" "borders"
set_setting_value "$rd_conf" "psx_ra" "$(get_setting_value "$rd_defaults" "psx_ra" "retrodeck" "borders")" "retrodeck" "borders"
set_setting_value "$rd_conf" "snes" "$(get_setting_value "$rd_defaults" "snes" "retrodeck" "borders")" "retrodeck" "borders"
set_setting_value "$rd_conf" "genesis" "$(get_setting_value "$rd_defaults" "genesis" "retrodeck" "widescreen")" "retrodeck" "widescreen"
set_setting_value "$rd_conf" "n64" "$(get_setting_value "$rd_defaults" "n64" "retrodeck" "widescreen")" "retrodeck" "widescreen"
set_setting_value "$rd_conf" "psx_ra" "$(get_setting_value "$rd_defaults" "psx_ra" "retrodeck" "widescreen")" "retrodeck" "widescreen"
set_setting_value "$rd_conf" "snes" "$(get_setting_value "$rd_defaults" "snes" "retrodeck" "widescreen")" "retrodeck" "widescreen"
set_setting_value "$rd_conf" "gb" "$(get_setting_value "$rd_defaults" "gb" "retrodeck" "nintendo_button_layout")" "retrodeck" "nintendo_button_layout"
set_setting_value "$rd_conf" "gba" "$(get_setting_value "$rd_defaults" "gba" "retrodeck" "nintendo_button_layout")" "retrodeck" "nintendo_button_layout"
set_setting_value "$rd_conf" "gbc" "$(get_setting_value "$rd_defaults" "gbc" "retrodeck" "nintendo_button_layout")" "retrodeck" "nintendo_button_layout"
set_setting_value "$rd_conf" "n64" "$(get_setting_value "$rd_defaults" "gb" "retrodeck" "nintendo_button_layout")" "retrodeck" "nintendo_button_layout"
set_setting_value "$rd_conf" "snes" "$(get_setting_value "$rd_defaults" "gba" "retrodeck" "nintendo_button_layout")" "retrodeck" "nintendo_button_layout"
set_setting_value "$rd_conf" "retroarch" "$(get_setting_value "$rd_defaults" "retroarch" "retrodeck" "savestate_auto_load")" "retrodeck" "savestate_auto_load"
set_setting_value "$rd_conf" "retroarch" "$(get_setting_value "$rd_defaults" "retroarch" "retrodeck" "savestate_auto_save")" "retrodeck" "savestate_auto_save"
fi
if [[ "$action" == "postmove" ]]; then # Run only post-move commands
dir_prep "$bios_folder" "/var/config/retroarch/system"
@ -190,6 +213,10 @@ prepare_emulator() {
dir_prep "$logs_folder/citra" "/var/data/citra-emu/log"
dir_prep "$mods_folder/Citra" "/var/data/citra-emu/load/mods"
dir_prep "$texture_packs_folder/Citra" "/var/data/citra-emu/load/textures"
# Reset default preset settings
set_setting_value "$rd_conf" "citra" "$(get_setting_value "$rd_defaults" "citra" "retrodeck" "nintendo_button_layout")" "retrodeck" "nintendo_button_layout"
set_setting_value "$rd_conf" "citra" "$(get_setting_value "$rd_defaults" "citra" "retrodeck" "ask_to_exit")" "retrodeck" "ask_to_exit"
fi
if [[ "$action" == "postmove" ]]; then # Run only post-move commands
dir_prep "$rdhome/bios/citra/sysdata" "/var/data/citra-emu/sysdata"
@ -237,6 +264,9 @@ prepare_emulator() {
dir_prep "$saves_folder/wii/dolphin" "/var/data/dolphin-emu/Wii"
dir_prep "$mods_folder/Dolphin" "/var/data/dolphin-emu/Load/GraphicMods"
dir_prep "$texture_packs_folder/Dolphin" "/var/data/dolphin-emu/Load/Textures"
# Reset default preset settings
set_setting_value "$rd_conf" "dolphin" "$(get_setting_value "$rd_defaults" "dolphin" "retrodeck" "ask_to_exit")" "retrodeck" "ask_to_exit"
fi
if [[ "$action" == "postmove" ]]; then # Run only post-move commands
dir_prep "$saves_folder/gc/dolphin/EU" "/var/data/dolphin-emu/GC/EUR"
@ -283,6 +313,12 @@ prepare_emulator() {
# Shared actions
dir_prep "$states_folder/psx/duckstation" "/var/config/duckstation/savestates" # This is hard-coded in Duckstation, always needed
dir_prep "$texture_packs_folder/Duckstation" "/var/config/duckstation/textures"
# Reset default preset settings
set_setting_value "$rd_conf" "duckstation" "$(get_setting_value "$rd_defaults" "duckstation" "retrodeck" "cheevos")" "retrodeck" "cheevos"
set_setting_value "$rd_conf" "duckstation" "$(get_setting_value "$rd_defaults" "duckstation" "retrodeck" "cheevos_hardcore")" "retrodeck" "cheevos_hardcore"
set_setting_value "$rd_conf" "duckstation" "$(get_setting_value "$rd_defaults" "duckstation" "retrodeck" "savestate_auto_save")" "retrodeck" "savestate_auto_save"
set_setting_value "$rd_conf" "duckstation" "$(get_setting_value "$rd_defaults" "duckstation" "retrodeck" "ask_to_exit")" "retrodeck" "ask_to_exit"
fi
if [[ "$action" == "postmove" ]]; then # Run only post-move commands
set_setting_value "$duckstationconf" "SearchDirectory" "$bios_folder" "duckstation" "BIOS"
@ -364,6 +400,12 @@ prepare_emulator() {
mkdir -pv "$saves_folder/ps2/pcsx2/memcards"
mkdir -pv "$states_folder/ps2/pcsx2"
dir_prep "$texture_packs_folder/PCSX2" "/var/config/PCSX2/textures"
# Reset default preset settings
set_setting_value "$rd_conf" "pcsx2" "$(get_setting_value "$rd_defaults" "pcsx2" "retrodeck" "cheevos")" "retrodeck" "cheevos"
set_setting_value "$rd_conf" "pcsx2" "$(get_setting_value "$rd_defaults" "pcsx2" "retrodeck" "cheevos_hardcore")" "retrodeck" "cheevos_hardcore"
set_setting_value "$rd_conf" "pcsx2" "$(get_setting_value "$rd_defaults" "pcsx2" "retrodeck" "savestate_auto_save")" "retrodeck" "savestate_auto_save"
set_setting_value "$rd_conf" "pcsx2" "$(get_setting_value "$rd_defaults" "pcsx2" "retrodeck" "ask_to_exit")" "retrodeck" "ask_to_exit"
fi
if [[ "$action" == "postmove" ]]; then # Run only post-move commands
set_setting_value "$pcsx2conf" "Bios" "$bios_folder" "pcsx2" "Folders"
@ -442,6 +484,9 @@ prepare_emulator() {
dir_prep "$saves_folder/wii/primehack" "/var/data/primehack/Wii"
dir_prep "$mods_folder/Primehack" "/var/data/primehack/Load/GraphicMods"
dir_prep "$texture_packs_folder/Primehack" "/var/data/primehack/Load/Textures"
# Reset default preset settings
set_setting_value "$rd_conf" "primehack" "$(get_setting_value "$rd_defaults" "primehack" "retrodeck" "ask_to_exit")" "retrodeck" "ask_to_exit"
fi
if [[ "$action" == "postmove" ]]; then # Run only post-move commands
dir_prep "$saves_folder/gc/primehack/EU" "/var/data/primehack/GC/EUR"
@ -601,6 +646,10 @@ prepare_emulator() {
if [ -d $bios_folder/switch ]; then
find $bios_folder/switch -xtype l -exec rm {} \;
fi
# Reset default preset settings
set_setting_value "$rd_conf" "yuzu" "$(get_setting_value "$rd_defaults" "yuzu" "retrodeck" "nintendo_button_layout")" "retrodeck" "nintendo_button_layout"
set_setting_value "$rd_conf" "yuzu" "$(get_setting_value "$rd_defaults" "yuzu" "retrodeck" "ask_to_exit")" "retrodeck" "ask_to_exit"
fi
if [[ "$action" == "postmove" ]]; then # Run only post-move commands
dir_prep "$bios_folder/switch/keys" "/var/data/yuzu/keys"
@ -616,4 +665,9 @@ prepare_emulator() {
set_setting_value "$yuzuconf" "Screenshots\screenshot_path" "$screenshots_folder" "yuzu" "UI"
fi
fi
# Update presets for all emulators after any reset or move
if [[ ! "$emulator" == "retrodeck" ]]; then
build_retrodeck_current_presets
fi
}

View file

@ -65,15 +65,63 @@
<project_license>GPL-3.0</project_license>
<metadata_license>CC0-1.0</metadata_license>
<releases>
<release version="0.7.1b" date="2023-06-16">
<url>https://github.com/XargonWan/RetroDECK/releases/tag/0.7.1b</url>
<release version="0.7.2b" date="2023-08-16">
<url>https://github.com/XargonWan/RetroDECK/releases/tag/0.7.2b</url>
<description>
<p>Bug fixes:</p>
<ul>
<li>PLACEHOLDER</li>
<li>Updated ES-DE to 2.1.1</li>
<li>Redone the patches for ES-DE</li>
<li>Updated theme</li>
<li>Changelog is now scrollable</li>
<li>Added helper files in the mods folders to instruct the users on the procedures to follow</li>
</ul>
</description>
</release>
<release version="0.7.1b" date="2023-08-16">
<url>https://github.com/XargonWan/RetroDECK/releases/tag/0.7.1b</url>
<description>
<p>Information:</p>
<ul>
<li>Steam Deck users update RetroDECK from <i>Discover</i> in Desktop Mode.</li>
<li>Don't forget to reapply the latest controller layout: Go into the <i>Templates</i> tab and reapply the new profile ending with 0.7.1b (there is no need to reinstall the entire layout from the Configurator).</li>
</ul>
<p>Bug fixes and other changes:</p>
<ul>
<li>Fixed an issue to make sure the RD controller layout file at update with each RD update.</li>
<li>Fixed an issue with PPSSPP that made <i>L</i> and <i>R</i> incorrectly bound.</li>
<li>Fixed an issue in the Configurator that prevented the Yuzu preset for swapping A/B X/Y from working.</li>
<li>Fixed a notification issue on the latest SteamOS Beta releases.</li>
<li>Fixed an rsync permissions issue in the RetroDECK Framework.</li>
<li>Updated Yuzu presets to handle new config syntax in the RetroDECK Framework.</li>
<li>Changed auto-update to notification only, until permissions error can be worked out.</li>
<li>Added some new pixelart icons by ItzSelenux (pixelitos-icon-theme)</li>
</ul>
<p>Updates:</p>
<p>All Emulators and ES-DE have been updated</p>
<p>Steam Deck - Global Controller Layout:</p>
<p>We have done some changes based on community feedback</p>
<ul>
<li><i>Select</i> is now a hotkey trigger while pressing it down, <i>L4</i> and <i>R4</i> are still triggers as well.</li>
<li>The RetroArch combo of <i>Select</i> + <i>Start</i> = <i>Quit</i> now works on many SA-Emulators.</li>
<li><i>Open Menu</i> is removed from <i>Select</i>.</li>
<li><i>R5</i> = <i>A</i> button (this allows for great Wii controls on the right touchpad and pressing down the <i>R5</i> for A).</li>
<li><i>L5</i> = <i>B</i> button.</li>
</ul>
<p>Global hotkey changes:</p>
<ul>
<li><i>Open Menu</i> is on <i>Y</i>.</li>
<li><i>Increase Emulation Speed</i> is on <i>Dpad-UP</i>.</li>
<li><i>Decrease Emulation Speed</i> is on <i>Dpad-Down</i>.</li>
<li><i>Fullscreen OFF</i> command is removed (as emulators have migrated to toggle).</li>
</ul>
<p>Known issues:</p>
<ul>
<li>The built-in auto-updater is not working (we are working on it). Discover is ok.</li>
<li>Some emulators don't have hotkey support or have bugs affecting their hotkeys.</li>
</ul>
</description>
</release>
<release version="0.7.0b" date="2023-06-15">
<url>https://github.com/XargonWan/RetroDECK/releases/tag/0.7.0b</url>
<description>

View file

@ -15,7 +15,7 @@ finish-args:
- --share=ipc
- --share=network
- --device=all
- --filesystem=home # Needed to be able to relocate / remove / create symlink at ~/retrodeck
- --filesystem=home
- --filesystem=/run/media
- --filesystem=/media
- --allow=multiarch
@ -66,18 +66,16 @@ modules:
# The version number is hardcoded in /app/retrodeck/version
#
# UPDATE STEPS FOR MAIN:
# [ ] Update the VERSION variable
# [ ] Update the VERSION variable on line containing "VERSION=THISBRANCH"
# [ ] 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=$(git rev-parse --abbrev-ref HEAD)
# on main please update this with the version variable, eg: VERSION='0.7.0b'
VERSION=THISBRANCH
git checkout ${GITHUB_REF_NAME}
mkdir -p ${FLATPAK_DEST}/retrodeck/
@ -91,7 +89,7 @@ modules:
sources:
- type: git
url: https://github.com/XargonWan/RetroDECK.git
branch: cooker-0.7.1b
branch: THISBRANCH
- name: xmlstarlet
config-opts:
@ -1264,7 +1262,6 @@ modules:
- mkdir -p /app/tools
- cp tools/configurator.sh /app/tools/configurator.sh
- chmod +x /app/tools/configurator.sh
#- cp es-configs/tools-gamelist.xml /app/retrodeck/tools-gamelist.xml
- cp tools/retrodeck_function_wrapper.sh /app/tools/retrodeck_function_wrapper.sh
- chmod +x /app/tools/retrodeck_function_wrapper.sh
@ -1276,8 +1273,6 @@ modules:
- cp net.retrodeck.retrodeck.desktop /app/share/applications/net.retrodeck.retrodeck.desktop
- cp net.retrodeck.retrodeck.Configurator.desktop /app/share/applications/net.retrodeck.retrodeck.Configurator.desktop
# TODO: group the configs per-emu and optimize the following cps, like already done with Dolphin. Please not that some files may be renamed, check retrodeck.sh to know how (and fix it after the edit)
# Initializing default emulator configs
- cp -r emu-configs ${FLATPAK_DEST}/retrodeck/emu-configs/
@ -1295,4 +1290,4 @@ modules:
sources:
- type: git
url: https://github.com/XargonWan/RetroDECK.git
branch: cooker-0.7.1b
branch: THISBRANCH

View file

@ -1,22 +1,9 @@
diff -au1r emulationstation-de/es-core/src/Window.cpp emulationstation-de/es-core/src/Window.cpp
--- emulationstation-de/es-core/src/Window.cpp 2023-08-23 13:12:15.625292630 +0200
+++ emulationstation-de/es-core/src/Window.cpp 2023-08-23 14:04:13.393435463 +0200
@@ -140,7 +140,7 @@
mSplashTextScanning = std::unique_ptr<TextCache>(
- mDefaultFonts.at(1)->buildTextCache("Searching for games...", 0.0f, 0.0f, 0x777777FF));
+ mDefaultFonts.at(1)->buildTextCache("Searching for games...", 0.0f, 0.0f, 0xC858E6FF));
mSplashTextPopulating = std::unique_ptr<TextCache>(
- mDefaultFonts.at(1)->buildTextCache("Loading systems...", 0.0f, 0.0f, 0x777777FF));
+ mDefaultFonts.at(1)->buildTextCache("Loading systems...", 0.0f, 0.0f, 0xC858E6FF));
mSplashTextReloading = std::unique_ptr<TextCache>(
- mDefaultFonts.at(1)->buildTextCache("Reloading...", 0.0f, 0.0f, 0x777777FF));
+ mDefaultFonts.at(1)->buildTextCache("Reloading...", 0.0f, 0.0f, 0xC858E6FF));
@@ -165,3 +165,3 @@
progressBarRect.barPosY = mSplashTextPositions.y + (progressBarRect.barHeight * 2.0f);
- progressBarRect.color = 0x777777FF;
--- emulationstation-de/es-core/src/Window.cpp 2023-08-29 14:14:17.208301836 +0200
+++ emulationstation-de/es-core/src/Window.cpp 2023-08-29 14:12:37.307334069 +0200
@@ -181,3 +181,3 @@
progressBarRect.barPosY += borderThickness;
- progressBarRect.color = 0x79010FFF;
+ progressBarRect.color = 0xC858E6FF;
mProgressBarRectangles.emplace_back(progressBarRect);
@@ -978 +978,2 @@
}
+

@ -1 +1 @@
Subproject commit fbfdda61b3da092a71cc53999dd3e7b909f244e2
Subproject commit 0b1cfb79e591e10488a3262d6b38db843c39a409

@ -1 +1 @@
Subproject commit 50314360ded6fa3b9f0b602513b1164b7a6636ed
Subproject commit a2441b964afefd8cd1cebcdf562c7878670daf42