diff --git a/.github/workflows/removed/TEST_release_info.yml b/.github/workflows/removed/TEST_release_info.yml new file mode 100644 index 00000000..ebf21609 --- /dev/null +++ b/.github/workflows/removed/TEST_release_info.yml @@ -0,0 +1,62 @@ +name: TEST_release_info + +on: + push: + branches: + - main + paths: + - .github/workflows/TEST_release_info.yml + pull_request: + branches: + - main + + workflow_dispatch: + + +jobs: + + Building_RetroDECK: + runs-on: ubuntu-latest + steps: + + - 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: Initialize enviornment + run: | + git pull + git submodule init + git submodule update + sudo apt install -y flatpak flatpak-builder p7zip-full xmlstarlet appstream-util + + - name: Validating the appdata + run: appstream-util validate "net.retrodeck.retrodeck.appdata.xml" + continue-on-error: true + + - name: Getting version info + id: version + run: | + appdata="https://raw.githubusercontent.com/XargonWan/RetroDECK/main/net.retrodeck.retrodeck.appdata.xml" + REL_VER=$(curl -s $appdata | xmlstarlet sel -t -v "//release/@version" | head -1) + DES="$(curl -s $appdata | xmlstarlet sel -t -m "//release[1]" -v "description" -n | sed '1,2d;$d;s/^ */- /;/^- $/d')" + echo "REL_VER=$REL_VER" >> $GITHUB_ENV + echo -e "# Release Notes\n" >> "body.md" + echo "$DES" >> "body.md" + + - name: Publish the flatpak in a new release + uses: ncipollo/release-action@v1 + env: + REL_VER: ${{ env.REL_VER }} + with: + tag: ${{ env.REL_VER }} + name: "RetroDECK v${{ env.REL_VER }}" + bodyFile: "body.md" + #artifacts: "RetroDECK.flatpak,RetroDECK-Artifact.tar.gz" + allowUpdates: true + draft: true + token: ${{ secrets.TRIGGER_BUILD_TOKEN }} + repo: RetroDECK + #continue-on-error: true \ No newline at end of file diff --git a/.github/workflows/removed/cooker.yml b/.github/workflows/removed/cooker.yml new file mode 100644 index 00000000..ff8330e3 --- /dev/null +++ b/.github/workflows/removed/cooker.yml @@ -0,0 +1,205 @@ +name: cooker + +on: + # push: + # branches: + # - cooker* + # pull_request: + # branches: + # - cooker* + + workflow_dispatch: + + +jobs: + + Job1_-_Building_P1: + runs-on: ubuntu-latest + steps: + + - name: Get date for artifacts + id: date + run: echo "::set-output name=date::$(date +'%Y%m%d_%H%M%S')" + + - name: Extract branch name + shell: bash + run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" + id: extract_branch + + - name: Generate build ID + id: generating_buildid + run: echo "##[set-output name=build-id;]$(echo "${{ steps.extract_branch.outputs.branch }}-${{ steps.date.outputs.date }}")" + + - uses: actions/checkout@v3 + + - name: Download global cache + uses: dawidd6/action-download-artifact@v2 + with: + workflow: cooker.yml + name: global-cache + search_artifacts: true + skip_unpack: true + continue-on-error: true + + - name: Extract global cache + run: | + tar --skip-old-files -xzvf retrodeck-cooker.tar.gz + rm -f retrodeck-cooker.tar.gz + continue-on-error: true + + - name: DEBUG + run: | + echo "Listing folder $PWD contents" + ls -lna + echo "Checking for version file" + find ~ -iname version + cat $(find ~ -iname version) + + - name: Initialize enviornment + run: | + git pull + git submodule init + git submodule update + sudo add-apt-repository ppa:alexlarsson/flatpak + sudo apt-get update + sudo apt install flatpak flatpak-builder p7zip-full + sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo + sudo flatpak install -y org.kde.Sdk//5.15-21.08 org.kde.Platform//5.15-21.08 io.qt.qtwebengine.BaseApp/x86_64/5.15-21.08 org.freedesktop.Sdk.Extension.llvm13 + + - name: Buld part 1 - Until melonds + run: | + sudo flatpak-builder --build-only --stop-at=melonds --user --force-clean --repo=${GITHUB_WORKSPACE}/local retrodeck-flatpak-cooker net.retrodeck.retrodeck.yml + + - name: Compress cache + run: | + touch retrodeck-cooker.tar.gz + rm -rf .flatpak-builder/build/*-{2,3,4,5,6} + find .flatpak-builder/build -xtype l -exec rm {} \; # removing dead symlinks + tar --ignore-failed-read -czvf retrodeck-cooker.tar.gz retrodeck-flatpak-cooker .flatpak-builder/build + + - name: Upload build specific cache + uses: actions/upload-artifact@v3 + with: + name: "${{ steps.generating_buildid.outputs.build-id }}" + path: retrodeck-cooker.tar.gz + + # this is done to speed up the things now, it may be removed later + - name: Compress global cache + run: | + touch retrodeck-cooker.tar.gz + rm -rf .flatpak-builder/build/*-{2,3,4,5,6} + find .flatpak-builder/build -xtype l -exec rm {} \; # removing dead symlinks + tar --ignore-failed-read -czvf retrodeck-cooker.tar.gz retrodeck-flatpak-cooker .flatpak-builder/build + continue-on-error: true + + - name: Upload global cache + uses: actions/upload-artifact@v3 + with: + name: global-cache + path: retrodeck-cooker.tar.gz RetroDECK.flatpak + continue-on-error: true + + outputs: + buildID: "${{ steps.generating_buildid.outputs.build-id }}" + + Job2_-_Build_P2_and_publish: + runs-on: ubuntu-latest + needs: [Job1_-_Building_P1] + steps: + + - uses: actions/checkout@v3 + + - name: Download build specific cache + uses: actions/download-artifact@v2 + with: + name: ${{ needs.Job1_-_Building_P1.outputs.buildID }} + + - name: Extract cache + run: | + tar --skip-old-files -xzvf retrodeck-cooker.tar.gz + rm -f retrodeck-cooker.tar.gz + + - name: DEBUG + run: | + echo "Listing folder $PWD contents" + ls -lna + echo "Checking for version file" + find ~ -iname version + cat $(find ~ -iname version) + + - name: Initialize enviornment + run: | + git pull + git submodule init + git submodule update + sudo add-apt-repository ppa:alexlarsson/flatpak + sudo apt-get update + sudo apt install flatpak flatpak-builder p7zip-full + sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo + sudo flatpak install -y org.kde.Sdk//5.15-21.08 org.kde.Platform//5.15-21.08 io.qt.qtwebengine.BaseApp/x86_64/5.15-21.08 org.freedesktop.Sdk.Extension.llvm13 + + - name: Create Bundle + run: | + sudo flatpak-builder --user --force-clean --repo=${GITHUB_WORKSPACE}/local retrodeck-flatpak-cooker net.retrodeck.retrodeck.yml + sudo flatpak build-bundle $GITHUB_WORKSPACE/local RetroDECK.flatpak net.retrodeck.retrodeck + + - name: Get date for artifacts + id: date + run: echo "::set-output name=date::$(date +'%Y%m%d_%H%M')" + + - name: Extract branch name + shell: bash + run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" + id: extract_branch + + - name: Read version from version file + id: version + run: echo "##[set-output name=version;]$(cat $(find . -name version))" + + - name: DEBUG - Print version name + shell: bash + run: | + echo "DEBUG: printing version from version file" + echo "${{ steps.version.outputs.version }}" + + - name: Publish the flatpak in a new cooker release + uses: ncipollo/release-action@v1 + with: + #tag: "${{ steps.version.outputs.version }}" + tag: "${{ steps.extract_branch.outputs.branch }}-${{ steps.date.outputs.date }}" + body: | + # Release Notes (Cooker) + This is a cooker snapshot based on the commit: ${{ github.event.repository.full_name }}@${{github.sha}}. + + 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" + allowUpdates: true + prerelease: true + draft: false + token: ${{ secrets.TRIGGER_BUILD_TOKEN }} + repo: RetroDECK-cooker + continue-on-error: true + + - name: Compress global cache + run: | + touch retrodeck-cooker.tar.gz + rm -rf .flatpak-builder/build/*-{2,3,4,5,6} + find .flatpak-builder/build -xtype l -exec rm {} \; # removing dead symlinks + tar --ignore-failed-read -czvf retrodeck-cooker.tar.gz retrodeck-flatpak-cooker .flatpak-builder/build + continue-on-error: true + + - name: Upload global cache + uses: actions/upload-artifact@v3 + with: + name: global-cache + path: retrodeck-cooker.tar.gz RetroDECK.flatpak + continue-on-error: true + + - name: Upload RetroDECK.flatpak + uses: actions/upload-artifact@v3 + with: + name: retrodeck-flatpak + path: RetroDECK.flatpak + continue-on-error: true diff --git a/.github/workflows/removed/flathub_push_cooker.yml b/.github/workflows/removed/flathub_push_cooker.yml new file mode 100644 index 00000000..65a4d349 --- /dev/null +++ b/.github/workflows/removed/flathub_push_cooker.yml @@ -0,0 +1,88 @@ + +name: PUSH-cooker-flathub + +on: + workflow_dispatch: + +jobs: + + Pushing_cooker_into_flathub: + runs-on: ubuntu-latest + steps: + - name: Pushing + shell: bash + run: | + + # EDITABLES: + rd_branch=${GITHUB_REF_NAME} + echo $rd_branch + gits_folder="${GITHUB_WORKSPACE}/gits" # without last / + + mkdir -vp $gits_folder + cd $gits_folder + if [ -d flathub ]; then + rm -rf flathub + fi + git clone --recursive https://github.com/flathub/net.retrodeck.retrodeck.git flathub + cd $gits_folder + git clone --recursive https://github.com/XargonWan/RetroDECK RetroDECK + cd $gits_folder/RetroDECK + + # NON-EDITABLES + #relname="$rd_branch-"$(date +%d%m%y.%H%M) + relname="cooker-"$(git rev-parse --short HEAD) + + git checkout $rd_branch + git submodule init + git submodule update + # NOTE: the only linked submodules are: rd-submodules/retroarch + # these must be included in the exclusion list as they must be redownloaded + #sync -rav --progress --exclude={'res/screenshots/','shared-modules/','rd-submodules/retroarch','.git/','docs','retrodeck-flatpak/','retrodeck-flatpak-cooker/','.flatpak-builder/'} ~/RetroDECK/ ~/flathub/ + + cd $gits_folder/flathub + + git checkout -b $relname + + git rm -rf * + git clean -fxd # restroing git index + + # 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 + + # Getting latest release name + # version=$(\ + # curl -sL \ + # -H "Accept: application/vnd.github+json" \ + # -H "Authorization: Bearer ${{ secrets.TRIGGER_BUILD_TOKEN }}" \ + # https://api.github.com/repos/XargonWan/RetroDECK-cooker/releases \ + # | jq .[0].tag_name \ + # | tr -d \" \ + # ) + + sha=$(curl -sL https://artifacts.retrodeck.net/artifacts/RetroDECK-Artifact.sha) + + sed -i "s#__SHA__#$sha#g" net.retrodeck.retrodeck.yml + + echo -e "Resulting manifest:\n" + cat net.retrodeck.retrodeck.yml + + git config --global user.name "${{ secrets.GITNAME }}" + git config --global user.email "${{ secrets.GITMAIL }}" + + git add * + git commit -m "Updated flathub/net.retrodeck.retrodeck from RetroDECK/$rd_branch" + + git remote -v + git push --force https://${{ secrets.TRIGGER_BUILD_TOKEN }}@github.com/flathub/net.retrodeck.retrodeck.git $relname diff --git a/.github/workflows/removed/main.yml b/.github/workflows/removed/main.yml new file mode 100644 index 00000000..0404e018 --- /dev/null +++ b/.github/workflows/removed/main.yml @@ -0,0 +1,188 @@ +name: main + +on: + # Triggers the workflow on push or pull request events but only for the main branch + # push: + # branches: + # - main + # pull_request: + # branches: + # - main + + workflow_dispatch: + + +jobs: + + Job1_-_Building_P1: + runs-on: ubuntu-latest + steps: + + - name: Get date for artifacts + id: date + run: echo "::set-output name=date::$(date +'%Y%m%d_%H%M%S')" + + - name: Extract branch name + shell: bash + run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" + id: extract_branch + + - name: Generate build ID + id: generating_buildid + run: echo "##[set-output name=build-id;]$(echo "${{ steps.extract_branch.outputs.branch }}-${{ steps.date.outputs.date }}")" + + - uses: actions/checkout@v3 + + - name: Download global cache + uses: dawidd6/action-download-artifact@v2 + with: + workflow: main.yml + name: global-cache + search_artifacts: true + skip_unpack: true + continue-on-error: true + + - name: Extract global cache + run: | + tar --skip-old-files -xzvf retrodeck-main.tar.gz + rm -f retrodeck-main.tar.gz + continue-on-error: true + + - name: DEBUG + run: | + echo "Listing folder $PWD contents" + ls -lna + echo "Checking for version file" + find ~ -iname version + cat $(find ~ -iname version) + + - name: Initialize enviornment + run: | + git pull + git submodule init + git submodule update + sudo add-apt-repository ppa:alexlarsson/flatpak + sudo apt-get update + sudo apt install flatpak flatpak-builder p7zip-full + sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo + sudo flatpak install -y org.kde.Sdk//5.15-21.08 org.kde.Platform//5.15-21.08 io.qt.qtwebengine.BaseApp/x86_64/5.15-21.08 org.freedesktop.Sdk.Extension.llvm13 + + - name: Buld part 1 - Until melonds + run: | + sudo flatpak-builder --build-only --stop-at=melonds --user --force-clean --repo=${GITHUB_WORKSPACE}/local retrodeck-flatpak-main net.retrodeck.retrodeck.yml + + - name: Compress cache + run: | + touch retrodeck-main.tar.gz + rm -rf .flatpak-builder/build/*-{2,3,4,5,6} + find .flatpak-builder/build -xtype l -exec rm {} \; # removing dead symlinks + tar --ignore-failed-read -czvf retrodeck-main.tar.gz retrodeck-flatpak-main .flatpak-builder/build + + - name: Upload build specific cache + uses: actions/upload-artifact@v3 + with: + name: "${{ steps.generating_buildid.outputs.build-id }}" + path: retrodeck-main.tar.gz + + # this is done to speed up the things now, it may be removed later + - name: Compress global cache + run: | + touch retrodeck-main.tar.gz + rm -rf .flatpak-builder/build/*-{2,3,4,5,6} + find .flatpak-builder/build -xtype l -exec rm {} \; # removing dead symlinks + tar --ignore-failed-read -czvf retrodeck-main.tar.gz retrodeck-flatpak-main .flatpak-builder/build + continue-on-error: true + + - name: Upload global cache + uses: actions/upload-artifact@v3 + with: + name: global-cache + path: retrodeck-main.tar.gz RetroDECK.flatpak + continue-on-error: true + + outputs: + buildID: "${{ steps.generating_buildid.outputs.build-id }}" + + Job2_-_Build_P2_and_publish: + runs-on: ubuntu-latest + needs: [Job1_-_Building_P1] + steps: + + - uses: actions/checkout@v3 + + - name: Download build specific cache + uses: actions/download-artifact@v2 + with: + name: ${{ needs.Job1_-_Building_P1.outputs.buildID }} + + - name: Extract cache + run: | + tar --skip-old-files -xzvf retrodeck-main.tar.gz + rm -f retrodeck-main.tar.gz + + - name: DEBUG + run: | + echo "Listing folder $PWD contents" + ls -lna + echo "Checking for version file" + find ~ -iname version + cat $(find ~ -iname version) + + - name: Initialize enviornment + run: | + git pull + git submodule init + git submodule update + sudo add-apt-repository ppa:alexlarsson/flatpak + sudo apt-get update + sudo apt install flatpak flatpak-builder p7zip-full + sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo + sudo flatpak install -y org.kde.Sdk//5.15-21.08 org.kde.Platform//5.15-21.08 io.qt.qtwebengine.BaseApp/x86_64/5.15-21.08 org.freedesktop.Sdk.Extension.llvm13 + + - name: Create Bundle + run: | + sudo flatpak-builder --user --force-clean --repo=${GITHUB_WORKSPACE}/local retrodeck-flatpak-main net.retrodeck.retrodeck.yml + sudo flatpak build-bundle $GITHUB_WORKSPACE/local RetroDECK.flatpak net.retrodeck.retrodeck + + - name: Read version from version file + id: version + run: echo "##[set-output name=version;]$(cat $(find . -name version))" + + - name: Publish the flatpak in a new main release + uses: ncipollo/release-action@v1 + with: + #tag: "${{ steps.version.outputs.version }}" + #tag: "${{ steps.extract_branch.outputs.branch }}-${{ steps.date.outputs.date }}" + tag: "0.4.0b" + body: | + # Release Notes (main) + + artifacts: "RetroDECK.flatpak" + allowUpdates: true + prerelease: true + draft: true + token: ${{ secrets.TRIGGER_BUILD_TOKEN }} + repo: RetroDECK-main + continue-on-error: true + + - name: Compress global cache + run: | + touch retrodeck-main.tar.gz + rm -rf .flatpak-builder/build/*-{2,3,4,5,6} + find .flatpak-builder/build -xtype l -exec rm {} \; # removing dead symlinks + tar --ignore-failed-read -czvf retrodeck-main.tar.gz retrodeck-flatpak-main .flatpak-builder/build + continue-on-error: true + + - name: Upload global cache + uses: actions/upload-artifact@v3 + with: + name: global-cache + path: retrodeck-main.tar.gz RetroDECK.flatpak + continue-on-error: true + + - name: Upload RetroDECK.flatpak + uses: actions/upload-artifact@v3 + with: + name: retrodeck-flatpak + path: RetroDECK.flatpak + continue-on-error: true \ No newline at end of file diff --git a/.github/workflows/removed/remove-artifacts.yml b/.github/workflows/removed/remove-artifacts.yml new file mode 100644 index 00000000..84c41e8e --- /dev/null +++ b/.github/workflows/removed/remove-artifacts.yml @@ -0,0 +1,22 @@ +name: Remove-artifacts + +on: + #schedule: + # Every day at 1am + # - cron: '0 1 * * *' + + workflow_dispatch: + +jobs: + remove-old-artifacts: + runs-on: ubuntu-latest + timeout-minutes: 10 + + steps: + - name: Remove old artifacts + uses: c-hive/gha-remove-artifacts@v1 + with: + age: '2 seconds' # ' ', e.g. 5 days, 2 years, 90 seconds, parsed by Moment.js + # Optional inputs + # skip-tags: true + # skip-recent: 5 diff --git a/.github/workflows/removed/update-readthedocs.yml b/.github/workflows/removed/update-readthedocs.yml new file mode 100644 index 00000000..f32127e4 --- /dev/null +++ b/.github/workflows/removed/update-readthedocs.yml @@ -0,0 +1,34 @@ +name: Update-ReadTheDocs + +on: + gollum + # push: + # branches: + # - main + # paths: + # - 'wiki-rtd' + # pull_request: + # branches: + # - main + # paths: + # - 'wiki-rtd' + # workflow_dispatch: + + +jobs: + + Job1_-_Building_P1: + runs-on: ubuntu-latest + steps: + + - uses: actions/checkout@v3 + + - name: Update ReadTheDocs wiki-rtd + id: wiki-rtd-update + run: | + git checkout https://github.com/XargonWan/RetroDECK.wiki-rtd.git tmp/wiki-rtd + cp -rf tmp/wiki-rtd/* wiki-rtd + rm wiki-rtd/index.md + mv wiki-rtd/Home.md wiki-rtd/index.md + git commit -m "Updating wiki-rtd" + git push \ No newline at end of file diff --git a/.gitignore b/.gitignore index 2ce58802..d1256aed 100644 --- a/.gitignore +++ b/.gitignore @@ -15,4 +15,5 @@ retrodeck-flatpak-cooker/ retrodeck-flatpak/ backup .old -.godot \ No newline at end of file +tmp +.godot diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 00000000..5bf1fa68 --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,31 @@ +# Read the Docs configuration file +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +# Required +version: 2 + +# Set the OS, Python version and other tools you might need +build: + os: ubuntu-22.04 + tools: + python: "3.11" + # You can also specify other tool versions: + # nodejs: "19" + # rust: "1.64" + # golang: "1.19" + +# Build documentation in the "docs/" directory with Sphinx +sphinx: + configuration: wiki-rtd/conf.py + +# Optionally build your docs in additional formats such as PDF and ePub +formats: + - pdf + - epub + +# Optional but recommended, declare the Python requirements required +# to build your documentation +# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html +python: + install: + - requirements: wiki-rtd/requirements.txt \ No newline at end of file diff --git a/README.md b/README.md index fd858140..d3db6cd5 100644 --- a/README.md +++ b/README.md @@ -24,31 +24,35 @@ RetroDECK is a [EmulationStation Desktop Edition](https://es-de.org) powered app You can also check out our: [Flathub Page](https://flathub.org/apps/net.retrodeck.retrodeck)
-### RetroDECK supports the following devices: -**Steam Deck** -
-
-**Linux Desktop** (after the BETA period) -
-
-**Other SteamOS devices** (after the BETA period) -
-
-**Note:**
-You can get it to run on other Linux devices or Linux Desktop today, it is not just as seamless as we want it to be and does not live up to our higher standards.
-You will need to manually configure the input to match your device and might need to tweak more settings if you try it on a none Steam Deck device. +## What devices/systems does RetroDECK support: + +### Steam Deck + +Supported from the start and RetroDECK is tailored to the Steam Deck during the beta period. The goal is that all the configurations are ready out-of-the-box and optimized towards the Steam Deck. + +### Linux Desktop +Technically it is working, but the user experience might not be that great it could contain desktop specific bugs and other issues. +You will also need to manually configure the input to match your desktop and might need to tweak more settings. If you want to try it make sure that your distribution has flatpak support (else you will need to install it).
+We will start to have a bigger desktop focus after the beta period is over. + +### Other SteamOS or Linux handheld gaming devices with flatpak support +We do plan to support other SteamOS based devices in the future. But during the BETA we are focusing on the Steam Deck.
+You can get it to run on other Linux based devices it is not just as seamless as we want it to be and does not live up to our higher standards.
+You will need to manually configure the input to match your device and might need to tweak more settings if you try it on a none Steam Deck device. There might also be some hardware specific bugs. -### RetroDECK is tailored to the Steam Deck during the BETA period. -The goal is that all the configurations are ready out-of-the-box and optimized towards the Steam Deck. Just put your `ROMS` & `BIOS` in the corresponding folders and start playing. +## Do you have any plans for other systems? +RetroDECK does not have plans to support Windows, macOS, Android, or iOS.
For similar functionality on Windows you could explore [Retrobat](https://www.retrobat.org/) as an alternative. -### How do I install RetroDECK? +## How do I install RetroDECK? Read and follow the guide here: [Installation instructions](https://github.com/XargonWan/RetroDECK/wiki/How-to:-Getting-started) on the Wiki ## The RetroDECK community: + [Website](https://retrodeck.net)
[Wiki](https://github.com/XargonWan/RetroDECK/wiki)
[Discord](https://discord.gg/Dz3szYsP8g)
+[Lemmy](https://lemmy.zip/c/retrodeck)
[Subreddit](https://www.reddit.com/r/retrodeck) @@ -59,17 +63,6 @@ Please read the [Wiki](https://github.com/XargonWan/RetroDECK/wiki) for even mor ## Do I have to partition or format my disk/sdcard to install it? No, partitioning or formatting is not needed at all. RetroDECK (differently from AmberELEC, Batocera and others) comes as a flatpak. Just install it as any other application and launch it from your desktop and/or Steam library. -## Do you support Windows? -No, RetroDECK doesn't support Windows, but the project is fully open source so you can port it if you wish. -As an alternative you could try [Retrobat](https://www.retrobat.org/) that offers similar functionality. - -## Do you support the Linux Desktop? -We do plan to support Linux Desktop in the future. But during the BETA we are focusing on the Steam Deck. Technically it is working, but the user experience might not be that great (it could contain desktop specific bugs and other issues). If you want to try it make sure that your distribution has native flatpak support else, you might need to install it. - -## Do you support other SteamOS based devices? -We do plan to support other SteamOS based devices in the future. But during the BETA we are focusing on the Steam Deck. -You can still run it but you might need to do some configurations by yourself. - ## Can I contribute to the project? Yes! Everybody is welcome to contribute in any way possible if it is personal time or funds, just check out our [Discord](https://discord.gg/Dz3szYsP8g)! - Do you know how to code and want to contribute? Please join the development team! diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml index 50c4a3e7..7cba7a83 100644 --- a/net.retrodeck.retrodeck.appdata.xml +++ b/net.retrodeck.retrodeck.appdata.xml @@ -65,7 +65,16 @@ GPL-3.0 CC0-1.0 - + + https://github.com/XargonWan/RetroDECK/releases/tag/0.8.0b + +

News:

+
    +
  • Welcome to cooker 0.8.0b!
  • +
+
+
+ https://github.com/XargonWan/RetroDECK/releases/tag/0.7.2b

Updates:

diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 050fde53..d56ae26d 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -76,8 +76,8 @@ modules: # The version number is hardcoded in /app/retrodeck/version # # UPDATE STEPS FOR MAIN: - # [ ] Update the VERSION variable on line containing "VERSION=THISBRANCH" - # [ ] Update the appdata.xml with the version number and notes + # [X] Update the VERSION variable on line containing "VERSION=THISBRANCH" + # [X] Update the appdata.xml with the version number and notes # - name: version-initialization buildsystem: simple diff --git a/rd-submodules/retroarch b/rd-submodules/retroarch index 0b1cfb79..9dc43930 160000 --- a/rd-submodules/retroarch +++ b/rd-submodules/retroarch @@ -1 +1 @@ -Subproject commit 0b1cfb79e591e10488a3262d6b38db843c39a409 +Subproject commit 9dc439300e92338d5b2bc3fc680eedd4fe1d3b0c diff --git a/rd-submodules/ryujinx b/rd-submodules/ryujinx index 1ba91da2..ff79306a 160000 --- a/rd-submodules/ryujinx +++ b/rd-submodules/ryujinx @@ -1 +1 @@ -Subproject commit 1ba91da28905571210bd76352160cd831d25f59b +Subproject commit ff79306a50b484ce992d02a23e091d79fcde4cac diff --git a/rd-submodules/shared-modules b/rd-submodules/shared-modules index a2441b96..76809270 160000 --- a/rd-submodules/shared-modules +++ b/rd-submodules/shared-modules @@ -1 +1 @@ -Subproject commit a2441b964afefd8cd1cebcdf562c7878670daf42 +Subproject commit 76809270588f87c6c14df96fef2dde9a7bac84f4 diff --git a/wiki-rtd/Archive.md b/wiki-rtd/Archive.md new file mode 100644 index 00000000..6d06b613 --- /dev/null +++ b/wiki-rtd/Archive.md @@ -0,0 +1,171 @@ +# Archive +The Archive have some legacy information from the wiki, for those that would want to read it or run some older version of RetroDECK. + +# Legacy included Themes + + +## Alekfull NX (Light) + +| System View | Gamelist View | +|----|----| +| ![rd-theme-AlekfullNXLight-SystemView](https://user-images.githubusercontent.com/1454947/193457765-e56875cd-a34d-4675-8267-56d04d4d1c32.jpeg) | ![rd-theme-AlekfullNXLight-GamelistView](https://user-images.githubusercontent.com/1454947/193457762-4d997ca3-d77c-4993-81bb-0c1a78f240a1.jpeg) | + +**Description:**
+Alekfull NX was inspired by the straightforward and intuitive interface of the Nintendo Switch and offers a similar experience but with a light retro twist. + +Source: [Alekfull NX (Light)](https://github.com/anthonycaccese/alekfull-nx-retropie/tree/retro-deck-esde-1.x-light)
+Ported and remixed by: [anthonycaccese](https://github.com/anthonycaccese)
+Ported from: [Alekfull-NX for Batocera](https://github.com/fagnerpc/Alekfull-NX)
+Original creator: [fagnerpc](https://github.com/fagnerpc) + +## Retrofix Revisited + +| System View | Gamelist View | +|----|----| +| ![rd-theme-RetrofixRevisited-SystemView](https://user-images.githubusercontent.com/1454947/193457596-05dc4316-9f2a-41ae-aa27-9609c680ec5a.jpeg) | ![rd-theme-RetrofixRevisited-GamelistView](https://user-images.githubusercontent.com/1454947/193457594-b803546b-36eb-4e71-9eca-bfee1d81ba36.jpeg) | + +**Description:**
+Retrofix Revisited is a theme where the goal is to showcase that the art of video games can be more interesting than the games themselves. + +Source: [Retrofix Revisited](https://github.com/anthonycaccese/retrofix-revisited-retropie)
+Ported and remixed by: [anthonycaccese](https://github.com/anthonycaccese)
+Ported from: [ES Theme Retrofix for Batocera](https://github.com/20GotoTen/es-theme-retrofix)
+Original creator: [20GotoTen](https://github.com/20GotoTen)
+ + +## Slate-DE + +| System View | Gamelist View | +|----|----| +| ![rd-SlateDE-SystemView](https://user-images.githubusercontent.com/1454947/193464197-14cb8c12-77ea-4b8b-965f-fa51a5d004b9.jpeg) | ![rd-SlateDE-GamelistView](https://user-images.githubusercontent.com/1454947/193464213-b73f18a3-840d-4cab-bac2-268bc51fbc03.jpeg) | + +**Description:**
+Slate-DE is based on the community created theme Recalbox-Multi for Recalbox. + +Source: [slate-DE](https://gitlab.com/es-de/emulationstation-de/-/tree/master/themes/slate-DE)
+Created by: [LeonSE from ES-DE](https://gitlab.com/es-de)
+Inspired by: [Recalbox-Multi](https://gitlab.com/recalbox/recalbox-themes/-/tree/master/themes/recalbox-multi) + +## Modern-DE + +| System View | Gamelist View | +|----|----| +| ![rd-ModernDE-SystemView](https://user-images.githubusercontent.com/1454947/193464329-938c5b68-6ae9-4ab6-8ac7-e7312e9698c5.jpeg) | ![rd-ModernDE-GamelistView](https://user-images.githubusercontent.com/1454947/193464333-890444ed-dd85-4322-8056-c3be8df6cad2.jpeg) | + +**Description:**
+Modern-DE is based on ES-Theme-Switch for RetroPie, a lightweight Switch inspired theme. + +Source: [Modern-DE](https://gitlab.com/es-de/emulationstation-de/-/tree/master/themes/modern-DE)
+Created by: [LeonSE from ES-DE](https://gitlab.com/es-de)
+Inspired by: [ES-Theme-Switch](https://github.com/lilbud/es-theme-switch) + + +## NSO Menu Interpreted + +| System View | Gamelist View | +|----|----| +| ![rd-NSO-SystemView](https://user-images.githubusercontent.com/1454947/222733121-975db30a-098c-4f77-aebd-f252ebe8c4cc.png) | ![rd-NSO-GamelistView](https://user-images.githubusercontent.com/1454947/222733148-42d38a12-34d1-4063-8ecc-13d16c1e44d3.png) | + +**Description:**
+NSO Menu Interpreted is a theme that takes inspiration from the menu design of Nintendo Switch Online. + +Source: [NSO-Menu-Interpreted](https://github.com/anthonycaccese/nso-menu-interpreted-es-de)
+Created by: [anthonycaccese](https://github.com/anthonycaccese) & [rogs123](https://github.com/rogs123) + +# Legacy Steam Deck Inputs Pre: 0.7b +These are legacy inputs from the old RetroDECK TEST Official Layout profile for the Steam Deck + +| Command | Button / Combination | +| :--- | :---: | +| RetroArch Menu | `L3+R3` or `SELECT+Y` | +| Quit Game | `START + SELECT` | +| Pause Emulation | `Select + B` | +| Take Screenshot | `Select + A` | +| Select Save State Slot +| `Select + D-Pad UP` | +| Select Save State Slot -| `Select + D-Pad Down` | +| Load State | `Select + L1` | +| Save State | `Select + R1` | +| Rewind Emulation* | `Select + L2` | +| Fast forward Emulation* | `Select + R2` | + +`*` Fast forwarding and rewind must be enabled inside RetroDeck firstly inside the Tools menu. + +## MelonDS + +| Command | Button / Combination | +| :--- | :---: | +| Fast forward Emulation* | `R2 or R4` | +| Swap screen layout | `L3 or R5` | +| Pause/Resume | `R3 or L4` | + + +## CITRA (SA) + +| Command | Button / Combination | +| :--- | :---: | +| Load State | `L4` | +| Save State | `R4` | +| Citra Main Menu | `R5` | +| Swap Screens | `L5` | + +**NOTE:** in order to quit CITRA just exit from the menu. + +## YUZU + +| Command | Button / Combination | +| :--- | :---: | +| Pause/Resume | `R4 + A` | +| Load Amiibo | `R4 + X` | +| Docked/Undocked Mode | `R4 + Y` | +| Yuzu Main Menu | `R4 + B` | +| Exit Yuzu | `R4 + Select` | +| Take Screenshot | `R4` | +| Home | `L4` | + + +## Ryujinx +Please note! +Unfortunately Ryujinx doesn't support the full hotkey customization yet. These are the default hotkeys as of now: + +| Command | Button / Combination | +| :--- | :---: | +| Vsync Toggle | `F1` | +| Sound Mute/Unmute | `F2` | +| Show UI | `F4` | +| Pause/Resume | `F5` | +| Screenshot | `F8` | +| Fulscreen Toggle | `F11` or `Alt+Enter` | + + +## DOLPHIN (SA) + +| Command | Button / Combination | +| :--- | :---: | +| Take Screenshot | `Select + A` | +| Load State | `Select + L2` | +| Save State | `Select + R2` | +| Fastforward | `Select + R4` | +| Slowdown | `Select + L4` | +| Exit Dolphin | `Select + Start` | + + +## PPSSPPSDL (SA) + +| Command | Button / Combination | +| :--- | :---: | +| Fastforward | `R2` | +| Rewind | `L2` | +| Pause/Resume | `R4` | +| Take Screenshot | `L4` | +| Load State | `L5` | +| Save State | `R5` | + + +## Duckstation (SA) + +| Command | Button / Combination | +| :--- | :---: | +| Fastforward | `R4` | +| Rewind | `L4` | +| Load State | `L5` | +| Save State | `R5` | \ No newline at end of file diff --git a/wiki-rtd/Citra:-Mods.md b/wiki-rtd/Citra:-Mods.md new file mode 100644 index 00000000..2a12e987 --- /dev/null +++ b/wiki-rtd/Citra:-Mods.md @@ -0,0 +1,31 @@ +# Citra - 3DS +The `~/retrodeck/mods/citra/` represents the `/load/mods/` folder in Citra. + +**Note:**
+`TITLEID` is different for every game. + + +## How do I add mods? + +**Requirements:** Mod files
+ +**NOTE:** On the Steam Deck this could be easier to do in `Desktop Mode`. + + +There are two ways of adding mods into Citra + + + +### From Citra +1. Extract any mod from compressed `.zip` or any other format to folders. +2. Open up Citra inside `RetroDECK Configurator` by pressing `Open Emulator` - `Citra`. +3. Right click on the game you want to add mods into. +4. Click on `Open Mods Location`. +5. Paste the mod files inside that directory, each folder is stored by the `TITLLEID` of the game. +6. Quit Citra + +### From the mod folder directly + +1. Extract any mod files from compressed `.zip` or any other format into folders. +2. Go into `~/retrodeck/mods/citra/`. The folders are all named by `TITLEID`. +3. Past the mods into the right `~/retrodeck/mods/yuzu/` folder. \ No newline at end of file diff --git a/wiki-rtd/Citra:-Texture-Packs.md b/wiki-rtd/Citra:-Texture-Packs.md new file mode 100644 index 00000000..08f44dfa --- /dev/null +++ b/wiki-rtd/Citra:-Texture-Packs.md @@ -0,0 +1,43 @@ +# Citra - 3DS +The `~/retrodeck/texture_packs/citra/` represents the `/load/textures` folder in Citra. + +**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 Citra inside `RetroDECK Configurator` by pressing `Open Emulator` - `Citra`. +* Press `Emulation` -> `Configure` -> `Graphics` -> `Use Custom Textures` 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`. + + +There are two ways of adding texture packs into Citra + + +### From Citra +1. Extract any texture files from compressed `.zip` or any other format to folders. +2. Open up Citra inside `RetroDECK Configurator` by pressing `Open Emulator` - `Citra`. +3. Right click on the game you want to add textures into. +4. Click on `Open Custom Textures Location`. +5. Paste the texture folders inside that directory, each folder is stored by the `TITLLEID` of the game. +6. Quit Citra + +### From the texture folder directly + +1. Extract any texture pack files from compressed `.zip` or any other format into folders. +2. Go into `~/retrodeck/texture_packs/citra/`. The folders are all named by `TITLEID`. +3. Move textures into the right `~/retrodeck/texture_packs/citra/` folder. + +Example: + +* You have a `.zip` file for a game that contains the `/load/textures/0000001000` folders. +* All you need to do is take the TITLEID folder: `0000001000` and put it into `~/retrodeck/texture_packs/citra/` +* So the end result looks like: `~/retrodeck/texture_packs/citra/0000001000` \ No newline at end of file diff --git a/wiki-rtd/Development:-General-notes.md b/wiki-rtd/Development:-General-notes.md new file mode 100644 index 00000000..9568d331 --- /dev/null +++ b/wiki-rtd/Development:-General-notes.md @@ -0,0 +1,116 @@ +# Cooker +Cooker, differently from the main (stable) branch, is what it's boiling in the pot now: the bleeding edge of the software development. +Every time a commit or a PR is done, a GitHub action automatically compiles the snapshot with the latest changes and publish them on the [cooker repository](https://github.com/XargonWan/RetroDECK-cooker). +This can be publicly tested and if it's stable will be merged in the main branch creating a new release. + +Useless to say that this channel is not suggested for the end user but it's developer / alpha tester oriented. +Expect major bugs and data loss: be warned. + +# Build instructions + +If you want to build the RetroDECK flatpak on your machine for developing or just testing purposes: +``` +cd ~ +git clone --recursive https://github.com/XargonWan/RetroDECK.git +cd RetroDECK +git submodule init +git submodule update +``` + +install `flatpak flatpak-builder p7zip-full` with your distro's package manager, then: + +``` +flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo +flatpak install --user -y org.kde.Sdk//5.15-21.08 org.kde.Platform//5.15-21.08 io.qt.qtwebengine.BaseApp/x86_64/5.15-21.08 org.freedesktop.Sdk.Extension.llvm13 org.freedesktop.Platform.ffmpeg-full/x86_64/21.08 +``` + +To build the stable release: +``` +flatpak-builder --user --install --install-deps-from=flathub --install-deps-from=flathub-beta --force-clean --repo=local ~/RetroDECK/retrodeck-main ~/RetroDECK/net.retrodeck.retrodeck.yml +flatpak build-bundle local ~/RetroDECK.flatpak net.retrodeck.retrodeck +``` + +Or alternatively, to build the cooker (experimental) release: +``` +git checkout cooker +flatpak-builder --user --install --force-clean --repo=local ~/RetroDECK/retrodeck-cooker ~/RetroDECK/net.retrodeck.retrodeck.yml +flatpak build-bundle local ~/RetroDECK.flatpak net.retrodeck.retrodeck +``` + +# Debug Mode +It's possible to enter in a sort of debug mode, it's actually the flatpak shell. + +Enter in the flatpak shell: +``` +flatpak run --command=bash net.retrodeck.retrodeck +``` + +Launch ES-DE in debug mode: +``` +emulationstation --debug --home /var/config/emulationstation +``` + +Launch an emulator in debug mode: +``` +ls /app/bin +``` +To get the list of the available binaries to launch, then just write the command, such as `yuzu` or `retroarch` + +This is useful when for example a game is not starting and you want the output printed in the terminal. + +# Manual installation instructions +This method is usually for the beta/cooker testers: +- Download the RetroDECK.flatpak from the [release page](https://github.com/XargonWan/RetroDECK/releases) or from the [cooker release page](https://github.com/XargonWan/RetroDECK-cooker/releases) (be sure to download the correct version, check the date as they're not ordered unfortunately). +- `cd` where the downloded file is located +- `flatpak install RetroDECK.flatpak` or whatever the filename is + +If this doesn´t work: +- cd into your download location +- `flatpak install RetroDECK.flatpak` +- Run it from the start menu or, alternatively, from the terminal by typing `flatpak run net.retrodeck.retrodeck` +- Then the first setup will guide you in the first steps, **please read all the messages carefully** as the rom directory must not be edited in EmulationStation + +## Updating instructions +- uninstall the previous version with `flatpak uninstall net.retrodeck.retrodeck` +- follow installation instructions +- [OPTIONAL] In case of issues it's suggested to remove `~/.var/app/net.retrodeck.retrodeck` and run `flatpak run net.retrodeck.retrodeck --reset`, but this will reset the application configs, please backup your data. +NOTE: this will not be needed after v`0.4.0b`. + +# Managing RetroDECK flatpak file + +Install RetroDECK from flatpak file: +``` +flatpak install RetroDECK.flatpak +``` + +Run RetroDECK: +``` +flatpak run net.retrodeck.retrodeck +``` + +Uninstall RetroDECK: +``` +flatpak uninstall net.retrodeck.retrodeck +``` + +# CLI - (Command Line interface) +There are some functions that can be called via CLI, for a comprehensive list type: +`flatpak run net.retrodeck.retrodeck --help` or `flatpak run net.retrodeck.retrodeck -h` + +Some useful ones: +Resets the whole RetroDECK at factory defaults: +```bash +flatpak run net.retrodeck.retrodeck --reset +``` +Resets RetroArch configs at factory defaults: +```bash +flatpak run net.retrodeck.retrodeck --reset-ra +``` +Resets all the standalone emulators configs at factory defaults: +```bash +flatpak run net.retrodeck.retrodeck --reset-sa +``` + +# Making your own ES-DE theme +Please check the following link link over ES-DE (this is still in development)
+[Theme Development ](https://gitlab.com/es-de/emulationstation-de/-/blob/master/THEMES-DEV.md) diff --git a/wiki-rtd/Dolphin-and-Primehack:-Mods.md b/wiki-rtd/Dolphin-and-Primehack:-Mods.md new file mode 100644 index 00000000..24f34554 --- /dev/null +++ b/wiki-rtd/Dolphin-and-Primehack:-Mods.md @@ -0,0 +1,36 @@ +# Dolphin / Primehack - GC & Wii +Primehack is based on Dolphin so the method is the same. + +The `~/retrodeck/mods/dolphin/` & `~/retrodeck/mods/primehack/` that represents the `/load/GraphicMods` 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. + +**Note:**
+`GAME_ID` is different for every game. + +## Enable Custom Textures +* Open up Dolphin or Primehack inside `RetroDECK Configurator` by pressing `Open Emulator` - `Dolphin` or `Primehack`. +* Press `Options` -> `Graphic Settings` + +`Enable Graphics Mods` and set it to `On`.
+ +## How do I add mods? + +**Requirements:** Mod files
+ +**NOTE:** On the Steam Deck this could be easier to do in `Desktop Mode`. + + +### Directly into the mods folder + +1. Extract any mod files from compressed `.zip` or any other format into folders. + +2. Go into mods folders, they contain folders that are all named by `GAME_ID`.
+**Dolphin:**`~/retrodeck/mods/dolphin/`
+**Primehack:**`~/retrodeck/mods/primehack/`. + +3. Move the mods into the right folder:
+**Dolphin:** `~/retrodeck/mods/dolphin/`
+**Primehack:** `~/retrodeck/mods/primehack/`
diff --git a/wiki-rtd/Dolphin-and-Primehack:-Texture-Packs.md b/wiki-rtd/Dolphin-and-Primehack:-Texture-Packs.md new file mode 100644 index 00000000..ebf940fb --- /dev/null +++ b/wiki-rtd/Dolphin-and-Primehack:-Texture-Packs.md @@ -0,0 +1,39 @@ +# Dolphin / Primehack - GC & Wii +Primehack is based on Dolphin so the method is the same. + +The `~/retrodeck/texture_packs/dolphin/` & `~/retrodeck/texture_packs/primehack/` represents the `/load/Textures` 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. + +**Note:**
+`GAME_ID` is different for every game. + +## Enable Custom Textures +* Open up Dolphin or Primehack inside `RetroDECK Configurator` by pressing `Open Emulator` - `Dolphin` or `Primehack`. +* Press `Options` -> `Graphic Settings` + +`Load Custom Textures` and set it to `On`.
+ +`Prefetch Custom Textures` 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`. + + +### Directly in the folder + +1. Extract any texture pack files from compressed `.zip` or any other format into folders. + +2. Go into texture pack folders, they contain folders that are all named by `GAME_ID`.
+**Dolphin:**`~/retrodeck/texture_packs/dolphin/`
+**Primehack:**`~/retrodeck/texture_packs/primehack/`. + +3. Move the textures into the right folder:
+**Dolphin:** `~/retrodeck/texture_packs/dolphin/`
+**Primehack:** `~/retrodeck/texture_packs/primehack/`
diff --git a/wiki-rtd/Duckstation:-Texture-Packs.md b/wiki-rtd/Duckstation:-Texture-Packs.md new file mode 100644 index 00000000..86be8d82 --- /dev/null +++ b/wiki-rtd/Duckstation:-Texture-Packs.md @@ -0,0 +1,30 @@ +# Duckstation - PSX +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 + +1. Extract any texture pack files from compressed `.zip` or any other format into folders. +2. Go into `~/retrodeck/texture_packs/duckstation/`. The folders are all named by `TITLEID`. +3. Move textures into the right `~/retrodeck/texture_packs/duckstation/` folder. \ No newline at end of file diff --git a/wiki-rtd/EmulationStation-DE:-Themes.md b/wiki-rtd/EmulationStation-DE:-Themes.md new file mode 100644 index 00000000..7fee150a --- /dev/null +++ b/wiki-rtd/EmulationStation-DE:-Themes.md @@ -0,0 +1,38 @@ +# Themes general information + +## How to switch between themes? +Go into `Main Menu` - `UI Settings` - `Theme Set` to select the theme you want to use. + +## ES-DE Theme List +Look over at the [Theme List](https://gitlab.com/es-de/themes/themes-list) and find themes you like. + +## How do I add additional themes? + +RetroDECK uses [ES-DE](https://www.es-de.org) for its interface so any theme that is compatible with ES-DE can also be used with RetroDECK + +### From the Theme Downloader + +Go into `Main Menu` - `UI Settings` - `Theme Downloader` from there you can download a wide array of themes. + +### From the Internet +If you find a theme you would like to use that is not in the `Theme Downloader` please download it and place it in `~/retrodeck/themes` (make sure the theme has its own folder in that directory). + +## FAQs: Frequently asked questions on Themes + +["Why does the theme I am using not work?" or "Why does the layout look broken?" (black screen with blue text)](https://github.com/XargonWan/RetroDECK/wiki/FAQs:-Frequently-asked-questions#why-does-the-theme-i-am-using-not-work-or-why-does-the-layout-look-broken-black-screen-with-blue-text) + +[Why does the theme layout look squished?](https://github.com/XargonWan/RetroDECK/wiki/FAQs:-Frequently-asked-questions#why-does-the-theme-layout-look-squished) + +# RetroDECK: Included Theme + +## Art Book Next + +| System View | Gamelist View | +|----|----| +| ![rd-theme-ArtBookNext-SystemView](https://user-images.githubusercontent.com/1454947/193457029-9a7a1207-fe05-4cd1-8b18-eb4112e903e9.jpeg)| ![rd-theme-ArtBookNext-GamelistView](https://user-images.githubusercontent.com/1454947/193457123-505ccd23-6477-43d8-baaa-1360ed3c250e.jpeg) | + +**Description:**
+Art Book Next is a theme that tries to emulate the feeling of flipping trough your game library as if they where pages of a coffee table book. + +Source: [Art Book Next on Github](https://github.com/anthonycaccese/art-book-next-retropie)
+Created by: [anthonycaccese](https://github.com/anthonycaccese) diff --git a/wiki-rtd/EmulationStation-DE:-User-Guide.md b/wiki-rtd/EmulationStation-DE:-User-Guide.md new file mode 100644 index 00000000..44a58f6d --- /dev/null +++ b/wiki-rtd/EmulationStation-DE:-User-Guide.md @@ -0,0 +1,97 @@ +# The User Guide + +RetroDECK uses EmulationStation Desktop Edition (ES-DE) as its bundled interface. + +The official EmulationStation Desktop Edition user guide is over at their gitlab.
+[EmulationStation Desktop Edition user guide](https://gitlab.com/es-de/emulationstation-de/-/blob/master/USERGUIDE.md) + +Note that the guide is written in a general way for the application and not how RetroDECK handles certain configurations. Also note that RetroDECK is currently not shipped with all the emulators ES-DE supports in the user guide. + +_EmulationStation Desktop Edition (ES-DE) and it's guide is written by [Leon Styhre](https://gitlab.com/leonstyhre)
+ Published under the MIT-Licence._ + +# Recommended sections in the user guide: + + +## General Interface + +### General UI Settings +Various settings that affect the user interface.
+[UI Settings](https://gitlab.com/es-de/emulationstation-de/-/blob/master/USERGUIDE.md#ui-settings) + +### Other UI settings +These are mostly technical settings.
+[Other UI settings](https://gitlab.com/es-de/emulationstation-de/-/blob/master/USERGUIDE.md#other-settings) + +### General navigation +These are the buttons mappings automatically applied by ES-DE.
+[General navigation](https://gitlab.com/es-de/emulationstation-de/-/blob/master/USERGUIDE.md#general-navigation) +If you are using the Steam Deck look at RetroDECKs hotkeys: +[Steam Deck: Hotkeys ](https://github.com/XargonWan/RetroDECK/wiki/Steam-Deck:-Hotkeys) + +### Sound Settings +Various sound settings.
+[Sound settings](https://gitlab.com/es-de/emulationstation-de/-/blob/master/USERGUIDE.md#sound-settings) + +## Game settings and filters + +### Game options menu +Various navigation for the game options menu.
+[Game options menu](https://gitlab.com/es-de/emulationstation-de/-/blob/master/USERGUIDE.md#game-options-menu) + +### Game collections +ES-DE provides two types of collections, Automatic collections and Custom collections, the latter being defined by the user. Collections are as the name implies only collections of games already present in your actual game systems, so they're basically grouping of games into convenient views.
+[Game collections](https://gitlab.com/es-de/emulationstation-de/-/blob/master/USERGUIDE.md#game-collections) + +### Set alternative emulator. +ES-DE allows you to change emulators for systems that has many different emulators.
+[Set alternative emulator](https://gitlab.com/es-de/emulationstation-de/-/blob/master/USERGUIDE.md#other-settings-1) + +## Scraping and editing roms: metadata, images etc... + +### Scraper +Contains the various options for the scraper, which is used to download metadata, images and videos for your games.
+[Scraper guide](https://gitlab.com/es-de/emulationstation-de/-/blob/master/USERGUIDE.md#scraping) + +### Scraper account settings +Setup of ScreenScraper account.
+[Scraper account settings](https://gitlab.com/es-de/emulationstation-de/-/blob/master/USERGUIDE.md#account-settings) + +### Content Settings +Describes the content types to include in the scraping.
+[Content settings](https://gitlab.com/es-de/emulationstation-de/-/blob/master/USERGUIDE.md#content-settings) + +### How to: Manually copy custom media files (images, videos etc..) +How to add custom media files to the ES-DE interface. For example you want other images then those on screenscraper or the game you add don't exists.
+[How to: Manually copy custom media files](https://gitlab.com/es-de/emulationstation-de/-/blob/master/USERGUIDE.md#manually-copying-game-media-files) + +### Miximage settings +These are the settings for the miximage generator, which can either be run from the scraper (single-game scraper or multi-scraper) or from the offline generator. The miximage combines the screenshot, marquee, box/cover and physical media images to make a composite picture that is displayed in the gamelist view. There are various settings for the generator.
+ +[Miximage settings](https://gitlab.com/es-de/emulationstation-de/-/blob/master/USERGUIDE.md#miximage-settings) + +### Metadata editor +In the metadata editor, you can modify the metadata, scrape for game info and media files, clear the entry which will delete all metadata and game media files, or delete the entire game which also removes its file on the filesystem.
+[Metadata editor](https://gitlab.com/es-de/emulationstation-de/-/blob/master/USERGUIDE.md#metadata-editor) + +### Various other scraping settings.
+[Other scraper settings](https://gitlab.com/es-de/emulationstation-de/-/blob/master/USERGUIDE.md#other-settings) + + +## Media, video, themes and slideshow settings + +### Video screensaver settings +Options specific to the video screensaver.
+[Video screensaver settings](https://gitlab.com/es-de/emulationstation-de/-/blob/master/USERGUIDE.md#video-screensaver-settings) + +### Media viewer settings +Settings for the media viewer that is accessible from the gamelist views.
+[Media viewer settings](https://gitlab.com/es-de/emulationstation-de/-/blob/master/USERGUIDE.md#media-viewer-settings) + +### Slideshow screensaver settings +Options specific to the slideshow screensaver.
+[Slideshow screensaver settings](https://gitlab.com/es-de/emulationstation-de/-/blob/master/USERGUIDE.md#slideshow-screensaver-settings) + +### Theme settings +Tells you how to use themes.
+[Theme settings](https://gitlab.com/es-de/emulationstation-de/-/blob/master/USERGUIDE.md#themes) diff --git a/wiki-rtd/Emulators:-BIOS-and-Firmware.md b/wiki-rtd/Emulators:-BIOS-and-Firmware.md new file mode 100644 index 00000000..a219ffe4 --- /dev/null +++ b/wiki-rtd/Emulators:-BIOS-and-Firmware.md @@ -0,0 +1,132 @@ +A BIOS or firmware is like the brain of a computer or electronic device. It helps the device start up and makes sure all its parts work together smoothly. In emulation, having the correct BIOS/firmware is important because it allows the software to pretend to be the real device and work properly. +That's why some emulators require BIOS and Firmware files to work correctly or at all. +Generally the bios files should be put in `~/retrodeck/bios`. + +## RetroArch (Libretro) +Some cores may need some BIOS files to work or run correctly. +Here are the most common systems, if you find more we can add them to this wiki. +However the extended information can be found on the [official libretro documentation](https://docs.libretro.com/guides/bios/), just search for your core. +More info by clicking on the system name down here. + +[Sony Playstation](https://docs.libretro.com/library/beetle_psx/#bios) +``` +scph5500.bin PS1 JP BIOS - Required for JP games 8dd7d5296a650fac7319bce665a6a53c +scph5501.bin PS1 US BIOS - Required for US games 490f666e1afb15b7362b406ed1cea246 +scph5502.bin PS1 EU BIOS - Required for EU games 32736f17079d0b2b7024407c39bd3050 +``` + +[SegaCD](https://docs.libretro.com/library/genesis_plus_gx/#bios) +``` +bios_CD_E.bin | MegaCD EU BIOS - Required for MegaCD EU games | e66fa1dc5820d254611fdcdba0662372 +bios_CD_U.bin | SegaCD US BIOS - Required for SegaCD US games | 854b9150240a198070150e4566ae1290 +bios_CD_J.bin | MegaCD JP BIOS - Required for MegaCD JP games | 278a9397d192149e84e820ac621a8edd +``` + +[Sega Saturn](https://docs.libretro.com/library/beetle_saturn/#bios) +``` +sega_101.bin | Saturn JP BIOS - Required for JP games | 85ec9ca47d8f6807718151cbcca8b964 +mpr-17933.bin | Saturn US.mdEU BIOS - Required for US/EU games | 3240872c70984b6cbfda1586cab68dbe +mpr-18811-mx.ic1 | The King of Fighters '95 ROM Cartridge - Required for this game | 255113ba943c92a54facd25a10fd780c +mpr-19367-mx.ic1 | Ultraman: Hikari no Kyojin Densetsu ROM Cartridge - Required for this game | 1cd19988d1d72a3e7caa0b73234c96b4 + +``` +*only required for a specific game + +[PPSSPP](https://docs.libretro.com/library/ppsspp/)
+Starting everything should be included.
+But if you want the original PSP fonts you can place them in `system/PPSSPP/flash0/font` + + +[MSX / SVI / ColecoVision / SG-1000](https://docs.libretro.com/library/bluemsx/#bios)
+Content of [blueMSXv282full.zip](http://bluemsx.msxblue.com/download.html).
+Not the zip itself, its contents must be extracted in `~/retrodeck/bios` folder, more info [here](https://docs.libretro.com/library/bluemsx/#bios). +Starting from v0.5.0b this is automatically provided. + +## Yuzu +Yuzu needs the key files `prod.keys`, `title.keys` and the firmware files in the following directories: + +**Yuzu keys:** `~/retrodeck/bios/switch/keys` + +**Yuzu firmware:** `~/retrodeck/bios/switch/registered` + +The directory tree should look like this example: +``` +~/retrodeck/bios/switch +├── keys +│   ├── prod.keys +│   └── title.keys +└── registered + ├── 02259fd41066eddbc64e0fdd217d9d2f.nca + ├── 02582a2cd46cc226ce72c8a52504cd97.nca + ├── 02b1dd519a6df4de1b11871851d328a1.nca + ├── other 217 files... + └── fd0d23003ea5602c24ac4e41101c16fd.nca +``` + +You can find a complete guide in the [Yuzu official wiki](https://yuzu-emu.org/help/quickstart/#downloading-and-installing-yuzu) on how to extract the BIOS from your Switch. + +## XEMU (Xbox) + +These files must be placed with the correct name in the given folders: +``` +~/retrodeck/bios/mcpx_1.0.bin' +~/retrodeck/bios/Complex.bin' +~/retrodeck/saves/xbox-eeprom.bin' +[OPTIONAL] ~/retrodeck/bios/xbox_hdd.qcow2' +``` +The hard disk is optional as RetroDECK already provides a pre-built 8G Xbox HDD image, free of any copyrighted content, and only containing a dummy dashboard. +So if you want to the complete experience you have to provide your own. + +Usually those files are dumped/found as: +``` +mcpx_1.0.bin +Complex.bin -> Complex_4627v1.03.bin or Complex_4627.bin +xbox-eeprom.bin -> eeprom.bin +xbox_hdd.qcow2 -> xbox_harddisk-D4920.qcow2 +``` +So don't forget to rename them for the RetroDECK standards. + +## PICO-8 + +Pico-8 it's not freeware hence it cannot be included with RetroDECK, however it's supported by using these steps: + +1. Download PICO-8 for `Linux 64-bit` from the [official website](https://www.lexaloffle.com/games.php?page=updates) or where you bought it. +2. Extract the zipfile somewhere on your desktop +3. Copy the content of the extracted pico-8 folder into `~/retrodeck/bios/pico-8/` + +## MelonDS (Standalone), (NDS) + +MelonDS by default needs those files:
+- `~/retrodeck/bios/bios9.bin`
+- `~/retrodeck/bios/bios7.bin`
+- `~/retrodeck/bios/firmware.bin` + +However there is a setting to disable the need of these files by going to: `Tools` -> `Start MelonDS` -> `Yes` -> `Config` -> `Emu settings` -> `DS-mode` and removing the check on `Use external BIOS/firmware files`. +Please be advised that this operation may prevent the games from running correctly. + +## PCSX2 (PS2) + +There a multitude of PS2 bios for a complete list with the hashes check
+[Gametechwiki](https://emulation.gametechwiki.com/index.php/File_hashes#Known_BIOS_Hashes) + +The PS2 bios could be named in the following ways +
+By bios version: `ps2-0200a-20040614.bin` +
+By system name:`SCPH-70012.bin` + +Put the bios inside the bios folder: `~/retrodeck/bios/SCPH-70012.bin` + +Here is a list of common used bios with `bios versions/system names/hashes`. + +``` +ps2-0200a-20040614 - SCPH-70001/SCPH-70011/SCPH-70012 - d333558cc14561c1fdc334c75d5f37b7 -PS2 US BIOS +ps2-0200e-20040614 - SCPH-70002/SCPH-70003/SCPH-70004/SCPH-70008 - dc752f160044f2ed5fc1f4964db2a095 - PS2 EU BIOS +ps2-0200j-20040614 - SCPH-70000 - 0eee5d1c779aa50e94edd168b4ebf42e - PS2 JP BIOS +``` + +## RPCS3 (PS3) +- Download the [latest PlayStation 3 firmware](https://www.playstation.com/en-us/support/hardware/ps3/system-software/). +- `Tools` -> `RetroDECK Configurator` -> `Change settings` -> `RPCS3` -> `File` -> `Install Firmware`. + +For more information on how to load the games check the [official quickstart guide](https://rpcs3.net/quickstart). \ No newline at end of file diff --git a/wiki-rtd/Emulators:-Diffrent-controller-layouts.md b/wiki-rtd/Emulators:-Diffrent-controller-layouts.md new file mode 100644 index 00000000..6bce1f64 --- /dev/null +++ b/wiki-rtd/Emulators:-Diffrent-controller-layouts.md @@ -0,0 +1,60 @@ +# Different controller layouts in games + +## Configurator Switch Y-X and A-B +You can enable a mode that switches the Y-X and A-B buttons for supported Emulators inside the `RetroDECK Configurator`. + +## XBOX layout +Many devices like the `Steam Deck` uses the XBOX layout + +**XBOX button layout:**
+ +| Button Placement | Button | +| :--- | :---: | +| Top | `Y` | +| Left | `X` | +| Right | `B` | +| Bottom | `A` | + + +**Example:**
+So if you are emulating a Xbox game that calls for the button `B` to be pressed it corresponds to the right button. + +### Nintendo Layout + +**Nintendo - button layout:**
+ +| Button Placement | Button | +| :--- | :---: | +| Top | `X` | +| Left | `Y` | +| Right | `A` | +| Bottom | `B` | + + +**Example:**
+So if you are emulating a Nintendo game that calls for the button `A` to be pressed it corresponds to the right button. + + + +## Sony PlayStation Layout +The Sony PlayStation uses it's icon glyphs to represent it's buttons. + +**Sony PlayStation - button layout:**
+| Button Placement | Button | +| :--- | :---: | +| Top | `Triangle` | +| Left | `Square` | +| Right | `Circle` | +| Bottom | `X` | + +**Example:** + +So if you are emulating a PlayStation game that calls for the button `Square` to be pressed it corresponds to the right button. + +**Regional differences:** + +Depending on the region of your Playstation game, the buttons `Circle` and `X` switches the meaning for confirm and cancel (they are still at the same physical location). But it is good to keep in mind if you are used to exiting out of menus with a certain button and wondering why it works in some games while others not. + +**Example:** + +In the EU/US `X` is confirm while in Japan `X` is cancel. \ No newline at end of file diff --git a/wiki-rtd/Emulators:-Supported-folders-and-files.md b/wiki-rtd/Emulators:-Supported-folders-and-files.md new file mode 100644 index 00000000..0ec89eee --- /dev/null +++ b/wiki-rtd/Emulators:-Supported-folders-and-files.md @@ -0,0 +1,734 @@ +# General information + +**Disclaimer: This list is a work in progress and might contain errors** + +What follows is a list of each systems supported file extensions and the path to the folder where to put the roms. + +**NOTE: Steam Deck**
+For the Steam Deck the `roms` folder location depends on where you choose to install the roms folder during the RetroDECK installation process.
+It's either on the internal storage: `~/retrodeck/roms` or the SDCard: `/retrodeck/roms`
+ + +[What does ~ mean?](https://github.com/XargonWan/RetroDECK/wiki/FAQs:-Frequently-asked-questions#i-see--refereed-in-documentation-and-examples-what-does-it-mean) + +# 3DO +- **Roms path:**
~/retrodeck/roms/3do +- **Supported file extensions:**
.iso .ISO .bin .BIN .chd .CHD .cue .CUE .7z .7Z .zip .ZIP + + +# AdvanceMAME +- **Roms path:**
~/retrodeck/roms/mame-advmame +- **Supported file extensions:**
.chd .cue .CUE .CHD .cmd .CMD .fba .FBA .iso .ISO .7z .7Z .zip .ZIP + + +# Adventure Game Studio Game Engine +- **Roms path:**
~/retrodeck/roms/ags +- **Supported file extensions:**
.7z .7Z .zip .ZIP + +# Amstrad + + +## Amstrad CPC +- **Roms path:**
~/retrodeck/roms/amstradcpc +- **Supported file extensions:**
.cdt .CDT .cpr .CPR .dsk .DSK .kcr .KCR .m3u .M3U .sna .SNA .tap .TAR .voc .VOC .7z .7Z .zip .ZIP + + +## Amstrad GX4000 +- **Roms path:**
~/retrodeck/roms/gx4000 +- **Supported file extensions:**
.7z .7Z .zip .ZIP + + +# Android (Google) +- **Roms path:**
~/retrodeck/roms/android +- **Supported file extensions:**
.7z .7Z .zip .ZIP + +# Apple + +## Apple II +- **Roms path:**
~/retrodeck/roms/apple2 +- **Supported file extensions:**
.nib .NIB .do .DO .po .PO .dsk .DSK .7z .7Z .zip .ZIP + + +## Apple IIGS +- **Roms path:**
~/retrodeck/roms/apple2gs +- **Supported file extensions:**
.nib .NIB .do .DO .po .PO .dsk .DSK .7z .7Z .zip .ZIP + + +# Arcade +- **Roms path:**
~/retrodeck/roms/arcade +- **Supported file extensions:**
.cmd .CMD .7z .7Z .zip .ZIP + +# Atari + +## Atari 2600 +- **Roms path:**
~/retrodeck/roms/atari2600 +- **Supported file extensions:**
.a26 .A26 .bin .BIN .7z .7Z .zip .ZIP + + +## Atari 5200 +- **Roms path:**
~/retrodeck/roms/atari5200 +- **Supported file extensions:**
.xfd .XFD .atr .ATR .atx .ATX .cdm .CDM .cas .CAS .bin .BIN .a52 .A52 .xex .XEX .7z .7Z .zip .ZIP + + +## Atari 7800 ProSystem +- **Roms path:**
~/retrodeck/roms/atari7800 +- **Supported file extensions:**
.a78 .A78 .bin .BIN .7z .7Z .zip .ZIP + + +## Atari 800 +- **Roms path:**
~/retrodeck/roms/atari800 +- **Supported file extensions:**
.xfd .XFD .atr .ATR .atx .ATX .cdm .CDM .cas .CAS .bin .BIN .a52 .A52 .xex .XEX .rom .ROM .7z .7Z .zip .ZIP + + +## Atari Jaguar +- **Roms path:**
~/retrodeck/roms/atarijaguar +- **Supported file extensions:**
.j64 .J64 .jag .JAG .rom .ROM .abs .ABS .cof .COF .bin .BIN .prg .PRG .7z .7Z .zip .ZIP + + +## Atari Jaguar CD +- **Roms path:**
~/retrodeck/roms/atarijaguarcd +- **Supported file extensions:**
.j64 .J64 .jag .JAG .rom .ROM .abs .ABS .cof .COF .bin .BIN .prg .PRG .7z .7Z .zip .ZIP + + +## Atari Lynx +- **Roms path:**
~/retrodeck/roms/atarilynx +- **Supported file extensions:**
.lnx .LNX .o .O .7z .7Z .zip .ZIP + + +## Atari ST +- **Roms path:**
~/retrodeck/roms/atarist +- **Supported file extensions:**
.st .ST .msa .MSA .stx .STX .dim .DIM .ipf .IPF .m3u .M3U .7z .7Z .zip .ZIP + + +## Atari XE +- **Roms path:**
~/retrodeck/roms/atarixe +- **Supported file extensions:**
.xfd .XFD .atr .ATR .atx .ATX .cdm .CDM .cas .CAS .bin .BIN .a52 .A52 .xex .XEX .7z .7Z .zip .ZIP + + +# Atomiswave +- **Roms path:**
~/retrodeck/roms/atomiswave +- **Supported file extensions:**
.cdi .CDI .iso .ISO .elf .ELF .bin .BIN .cue .CUE .gdi .GDI .lst .LST .dat .DAT .m3u .M3U .7z .7Z .zip .ZIP + + +# Bandai + + +## Bandai SuFami Turbo +- **Roms path:**
~/retrodeck/roms/sufami +- **Supported file extensions:**
.bml .BML .bs .BS .fig .FIG .sfc .SFC .smc .SMC .st .ST .7z .7Z .zip .ZIP + + +## Bandai WonderSwan +- **Roms path:**
~/retrodeck/roms/wonderswan +- **Supported file extensions:**
.ws .WS .pc2 .PC2 .7z .7Z .zip .ZIP + + +## Bandai WonderSwan Color +- **Roms path:**
~/retrodeck/roms/wonderswancolor +- **Supported file extensions:**
.ws .WS .wsc .WSC .pc2 .PC2 .7z .7Z .zip .ZIP + + +# Bally Astrocade +- **Roms path:**
~/retrodeck/roms/astrocde +- **Supported file extensions:**
.7z .7Z .zip .ZIP + + +# BBC Micro +- **Roms path:**
~/retrodeck/roms/bbcmicro +- **Supported file extensions:**
.7z .7Z .zip .ZIP + + +# Commodore + + +## Commodore Amiga +- **Roms path:**
~/retrodeck/roms/amiga +- **Supported file extensions:**
.adf .ADF .adz .ADZ .dms .DMS .fdi .FDI .ipf .IPF .hdf .HDF .hdz .HDZ .lha .LHA .cue .CUE .ccd .CCD .nrg .NRG .mds .MDS .iso .ISO .uae .UAE .m3u .M3U .7z .7Z .zip .ZIP + +## Commodore Amiga 600 +- **Roms path:**
~/retrodeck/roms/amiga600 +- **Supported file extensions:**
.adf .ADF .adz .ADZ .dms .DMS .fdi .FDI .ipf .IPF .hdf .HDF .hdz .HDZ .lha .LHA .cue .CUE .ccd .CCD .nrg .NRG .mds .MDS .iso .ISO .uae .UAE .m3u .M3U .7z .7Z .zip .ZIP + + +## Commodore Amiga 1200 +- **Roms path:**
~/retrodeck/roms/amiga1200 +- **Supported file extensions:**
.adf .ADF .adz .ADZ .dms .DMS .fdi .FDI .ipf .IPF .hdf .HDF .hdz .HDZ .lha .LHA .cue .CUE .ccd .CCD .nrg .NRG .mds .MDS .iso .ISO .uae .UAE .m3u .M3U .7z .7Z .zip .ZIP + + +## Commodore Amiga CD32 +- **Roms path:**
~/retrodeck/roms/amigacd32 +- **Supported file extensions:**
.adf .ADF .adz .ADZ .dms .DMS .fdi .FDI .ipf .IPF .hdf .HDF .hdz .HDZ .lha .LHA .cue .CUE .ccd .CCD .nrg .NRG .mds .MDS .iso .ISO .uae .UAE .m3u .M3U .7z .7Z .zip .ZIP + + +## Commodore 64 +- **Roms path:**
~/retrodeck/roms/c64 +- **Supported file extensions:**
.bin .BIN .cmd .CMD .crt .CRT .d2m .D2M .d4m .D4M .d64 .D64 .d6z .D6Z .d71 .D71 .d7z .D7Z .d80 .D80 .d81 .D81 .d82 .D82 .d8z .D8Z .g41 .G41 .g4z .G4Z .g64 .G64 .g6z .G6Z .gz .GZ .lnx .LNX .m3u .M3U .nbz .NBZ .nib .NIB .p00 .P00 .prg .PRG .t64 .T64 .tap .TAP .vfl .VFL .vsf .VSF .x64 .X64 .x6z .X6Z .7z .7Z .zip .ZIP + + +## Commodore CDTV +- **Roms path:**
~/retrodeck/roms/cdtv +- **Supported file extensions:**
.cue .CUE .ccd .CCD .nrg .NRG .mds .MDS .iso .ISO .m3u .M3U .7z .7Z .zip .ZIP + + +## Commodore VIC-20 +- **Roms path:**
~/retrodeck/roms/vic20 +- **Supported file extensions:**
.bin .BIN .cmd .CMD .crt .CRT .d2m .D2M .d4m .D4M .d64 .D64 .d6z .D6Z .d71 .D71 .d7z .D7Z .d80 .D80 .d81 .D81 .d82 .D82 .d8z .D8Z .g41 .G41 .g4z .G4Z .g64 .G64 .g6z .G6Z .gz .GZ .lnx .LNX .m3u .M3U .nbz .NBZ .nib .NIB .p00 .P00 .prg .PRG .t64 .T64 .tap .TAP .vfl .VFL .vsf .VSF .x64 .X64 .x6z .X6Z .7z .7Z .zip .ZIP + + +# Cave Story (NXEngine) +- **Roms path:**
~/retrodeck/roms/cavestory +- **Supported file extensions:**
.exe .EXE .7z .7Z .zip .ZIP + + +# ChaiLove Game Engine +- **Roms path:**
~/retrodeck/roms/chailove +- **Supported file extensions:**
.chai .CHAI .chailove .CHAILOVE .7z .7Z .zip .ZIP + + +# ColecoVision +- **Roms path:**
~/retrodeck/roms/coleco +- **Supported file extensions:**
.bin .BIN .cas .CAS .col .COL .cv .CV .dsk .DSK .m3u .M3U .mx1 .MX1 .mx2 .MX2 .ri .RI .rom .ROM .sc .SC .sg .SG .7z .7Z .zip .ZIP + + +# Capcom Play System +- **Roms path:**
~/retrodeck/roms/cps +- **Supported file extensions:**
.7z .7Z .zip .ZIP + + +# Daphne Arcade LaserDisc Emulator +- **Roms path:**
~/retrodeck/roms/daphne +- **Supported file extensions:**
.daphne .singe + + +# Doom +- **Roms path:**
~/retrodeck/roms/doom +- **Supported file extensions:**
.wad .WAD .iwad .IWAD .pwad .PWAD + + +# DOS (PC) +- **Roms path:**
~/retrodeck/roms/dos +- **Supported file extensions:**
.bat .BAT .com .COM .conf .CONF .cue .CUE .dosz .DOSZ .exe .EXE .iso .ISO .7z .7Z + + +# Dragon 32 +- **Roms path:**
~/retrodeck/roms/dragon32 +- **Supported file extensions:**
.7z .7Z .zip .ZIP + + +# Fairchild Channel F +- **Roms path:**
~/retrodeck/roms/channelf +- **Supported file extensions:**
.bin .BIN .chf .CHF .7z .7Z .zip .ZIP + + +# FinalBurn + +## FinalBurn Alpha +- **Roms path:**
~/retrodeck/roms/fba +- **Supported file extensions:**
.iso .ISO .7z .7Z .zip .ZIP + + +## FinalBurn Neo +- **Roms path:**
~/retrodeck/roms/fbneo +- **Supported file extensions:**
.ccd .CCD .cue .CUE .7z .7Z .zip .ZIP + + +# Intellivision - Mattel Electronics +- **Roms path:**
~/retrodeck/roms/intellivision +- **Supported file extensions:**
.int .INT .bin .BIN .rom .ROM .7z .7Z .zip .ZIP + + +# Infocom Z-machine +- **Roms path:**
~/retrodeck/roms/zmachine +- **Supported file extensions:**
.7z .7Z .zip .ZIP + + +# Java 2 Micro Edition (J2ME) +- **Roms path:**
~/retrodeck/roms/j2me +- **Supported file extensions:**
.jar .JAR .7z .7Z .zip .ZIP + + +# Lutro Game Engine +- **Roms path:**
~/retrodeck/roms/lutro +- **Supported file extensions:**
.lua .LUA .lutro .LUTRO .7z .7Z .zip .ZIP + + +# Multiple Arcade Machine Emulator (MAME) +- **Roms path:**
~/retrodeck/roms/mame +- **Supported file extensions:**
.cmd .CMD .7z .7Z .zip .ZIP + + +# MAME4ALL +- **Roms path:**
~/retrodeck/roms/mame-mame4all +- **Supported file extensions:**
.chd .cue .CUE .CHD .cmd .CMD .fba .FBA .iso .ISO .7z .7Z .zip .ZIP + + +# Multi Emulator Super System (MESS) +- **Roms path:**
~/retrodeck/roms/mess +- **Supported file extensions:**
.chd .CHD .7z .7Z .zip .ZIP + + +# Moonlight Game Streaming +- **Roms path:**
~/retrodeck/roms/moonlight +- **Supported file extensions:**
.moonlight .MOONLIGHT .7z .7Z .zip .ZIP + + +# MSX + +## MSX +- **Roms path:**
~/retrodeck/roms/msx +- **Supported file extensions:**
.rom .ROM .ri .RI .mx1 .MX1 .mx2 .MX2 .col .COL .dsk .DSK .cas .CAS .sg .SG .sc .SC .m3u .M3U .7z .7Z .zip .ZIP + + +## MSX1 +- **Roms path:**
~/retrodeck/roms/msx1 +- **Supported file extensions:**
.rom .ROM .ri .RI .mx1 .MX1 .mx2 .MX2 .col .COL .dsk .DSK .cas .CAS .sg .SG .sc .SC .m3u .M3U .7z .7Z .zip .ZIP + + +## MSX2 +- **Roms path:**
~/retrodeck/roms/msx2 +- **Supported file extensions:**
.rom .ROM .ri .RI .mx1 .MX1 .mx2 .MX2 .col .COL .dsk .DSK .cas .CAS .sg .SG .sc .SC .m3u .M3U .7z .7Z .zip .ZIP + + +## MSX Turbo R +- **Roms path:**
~/retrodeck/roms/msxturbor +- **Supported file extensions:**
.rom .ROM .ri .RI .mx1 .MX1 .mx2 .MX2 .col .COL .dsk .DSK .cas .CAS .sg .SG .sc .SC .m3u .M3U .7z .7Z .zip .ZIP + +# Microsoft Xbox + +## Microsoft Xbox +- **Roms path:**
~/retrodeck/roms/xbox +- **Supported file extensions:**
.iso .ISO + + +## Microsoft Xbox 360 +- **Roms path:**
~/retrodeck/roms/xbox360 +- **Supported file extensions:**
.iso .ISO .xex .XEX + + +# Othello Multivision +- **Roms path:**
~/retrodeck/roms/multivision +- **Supported file extensions:**
.bin .BIN .gg .GG .rom .ROM .sg .SG .sms .SMS .7z .7Z .zip .ZIP + + +# Nintendo + + +## Nintendo 64 +- **Roms path:**
~/retrodeck/roms/n64 +- **Supported file extensions:**
.n64 .N64 .v64 .V64 .z64 .Z64 .bin .BIN .u1 .U1 .7z .7Z .zip .ZIP + + +## Nintendo 64DD +- **Roms path:**
~/retrodeck/roms/64dd +- **Supported file extensions:**
.n64 .N64 .v64 .V64 .z64 .Z64 .bin .BIN .u1 .U1 .7z .7Z .zip .ZIP + + +## Nintendo 3DS +- **Roms path:**
~/retrodeck/roms/n3ds +- **Supported file extensions:**
.3ds .3DS .3dsx .3DSX .app .APP .axf .AXF .cci .CCI .cxi .CXI .elf .ELF .7z .7Z .zip .ZIP + + +## Nintendo DS +- **Roms path:**
~/retrodeck/roms/nds +- **Supported file extensions:**
.bin .BIN .nds .NDS .7z .7Z .zip .ZIP + + +## Nintendo Entertainment System (NES) +- **Roms path:**
~/retrodeck/roms/nes +- **Supported file extensions:**
.nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP + + +## Nintendo Family Computer (Famicom) +- **Roms path:**
~/retrodeck/roms/famicom +- **Supported file extensions:**
.nes .NES .unf .UNF .unif .UNIF .7z .7Z .zip .ZIP + + +## Nintendo Famicom Disk System +- **Roms path:**
~/retrodeck/roms/fds +- **Supported file extensions:**
.nes .NES .fds .FDS .unf .UNF .UNIF .UNIF .7z .7Z .zip .ZIP + + +## Nintendo Game and Watch +- **Roms path:**
~/retrodeck/roms/gameandwatch +- **Supported file extensions:**
.mgw .MGW .7z .7Z .zip .ZIP + + +## Nintendo Game Boy +- **Roms path:**
~/retrodeck/roms/gb +- **Supported file extensions:**
.bs .BS .cgb .CGB .dmg .DMG .gb .GB .gbc .GBC .sgb .SGB .sfc .SFC .smc .SMC .7z .7Z .zip .ZIP + + +## Nintendo Game Boy Advance +- **Roms path:**
~/retrodeck/roms/gba +- **Supported file extensions:**
.agb .AGB .bin .BIN .cgb .CGB .dmg .DMG .gb .GB .gba .GBA .gbc .GBC .sgb .SGB .7z .7Z .zip .ZIP + + +## Nintendo Game Boy Color +- **Roms path:**
~/retrodeck/roms/gbc +- **Supported file extensions:**
.bs .BS .cgb .CGB .dmg .DMG .gb .GB .gbc .GBC .sgb .SGB .sfc .SFC .smc .SMC .7z .7Z .zip .ZIP + + +## Nintendo GameCube +- **Roms path:**
~/retrodeck/roms/gc +- **Supported file extensions:**
.gcm .GCM .iso .ISO .wbfs .WBFS .wia .WIA .ciso .CISO .gcz .GCZ .elf .ELF .dol .DOL .dff .DFF .rvz .RVZ .tgc .TGC .wad .WAD .m3u .M3U .7z .7Z .zip .ZIP + + +## Nintendo SFC (Super Famicom) +- **Roms path:**
~/retrodeck/roms/sfc +- **Supported file extensions:**
.bin .BIN .bml .BML .bs .BS .bsx .BSX .dx2 .DX2 .fig .FIG .gd3 .GD3 .gd7 .GD7 .mgd .MGD .sfc .SFC .smc .SMC .st .ST .swc .SWC .7z .7Z .zip .ZIP + + +## Nintendo Virtual Boy +- **Roms path:**
~/retrodeck/roms/virtualboy +- **Supported file extensions:**
.vb .VB .vboy .VBOY .bin .BIN .7z .7Z .zip .ZIP + + +## Nintendo SNES (Super Nintendo) +- **Roms path:**
~/retrodeck/roms/snes +- **Supported file extensions:**
.bin .BIN .bml .BML .bs .BS .bsx .BSX .dx2 .DX2 .fig .FIG .gd3 .GD3 .gd7 .GD7 .mgd .MGD .sfc .SFC .smc .SMC .st .ST .swc .SWC .7z .7Z .zip .ZIP + + +## Nintendo Switch +- **Roms path:**
~/retrodeck/roms/switch +- **Supported file extensions:**
.nca .NCA .nro .NRO .nso .NSO .nsp .NSP .xci .XCI .7z .7Z .zip .ZIP + + +## Nintendo Satellaview +- **Roms path:**
~/retrodeck/roms/satellaview +- **Supported file extensions:**
.bml .BML .bs .BS .fig .FIG .sfc .SFC .smc .SMC .swc .SWC .st .ST .7z .7Z .zip .ZIP + + +## Nintendo Pokémon Mini +- **Roms path:**
~/retrodeck/roms/pokemini +- **Supported file extensions:**
.min .MIN .7z .7Z .zip .ZIP + + +## Nintendo Wii +- **Roms path:**
~/retrodeck/roms/wii +- **Supported file extensions:**
.gcm .GCM .iso .ISO .wbfs .WBFS .wia .WIA .ciso .CISO .gcz .GCZ .elf .ELF .dol .DOL .dff .DFF .rvz .RVZ .tgc .TGC .wad .WAD .m3u .M3U .7z .7Z .zip .ZIP + + +## Nintendo Wii U +- **Roms path:**
~/retrodeck/roms/wiiu +- **Supported file extensions:**
.7z .7Z .zip .ZIP + +# SNK + +## SNK Neo Geo +- **Roms path:**
~/retrodeck/roms/neogeo +- **Supported file extensions:**
.chd .CHD .cue .CUE .iso .ISO .7z .7Z .zip .ZIP + + +## SNK Neo Geo CD +- **Roms path:**
~/retrodeck/roms/neogeocd +- **Supported file extensions:**
.chd .CHD .cue .CUE .7z .7Z .zip .ZIP + + +## SNK Neo Geo CD +- **Roms path:**
~/retrodeck/roms/neogeocdjp +- **Supported file extensions:**
.chd .CHD .cue .CUE .7z .7Z .zip .ZIP + + +## SNK Neo Geo Pocket +- **Roms path:**
~/retrodeck/roms/ngp +- **Supported file extensions:**
.ngp .NGP .ngc .NGC .ngpc .NGPC .npc .NPC .7z .7Z .zip .ZIP + + +## SNK Neo Geo Pocket Color +- **Roms path:**
~/retrodeck/roms/ngpc +- **Supported file extensions:**
.ngp .NGP .ngc .NGC .ngpc .NGPC .npc .NPC .7z .7Z .zip .ZIP + + +# Magnavox Odyssey2 +- **Roms path:**
~/retrodeck/roms/odyssey2 +- **Supported file extensions:**
.bin .BIN .7z .7Z .zip .ZIP + + +# OpenBOR Game Engine +- **Roms path:**
~/retrodeck/roms/openbor +- **Supported file extensions:**
.AppImage + +# Tandy + +## Tandy Color Computer +- **Roms path:**
~/retrodeck/roms/coco +- **Supported file extensions:**
.7z .7Z .zip .ZIP + + +## Tandy TRS-80 +- **Roms path:**
~/retrodeck/roms/trs-80 +- **Supported file extensions:**
.7z .7Z .zip .ZIP + + + +# Tangerine Computer Systems Oric +- **Roms path:**
~/retrodeck/roms/oric +- **Supported file extensions:**
.dsk .DSK .ort .ORT .tap .TAP .wav .WAV + + +# Palm OS +- **Roms path:**
~/retrodeck/roms/palm +- **Supported file extensions:**
.prc .PRC .pqa .PQA .img .IMG .7z .7Z .zip .ZIP + +# NEC + +## NEC PC-8800 Series +- **Roms path:**
~/retrodeck/roms/pc88 +- **Supported file extensions:**
.d88 .D88 .u88 .U88 .m3u .M3U .7z .7Z .zip .ZIP + + +## NEC PC-9800 Series +- **Roms path:**
~/retrodeck/roms/pc98 +- **Supported file extensions:**
.2hd .2HD .88d .88D .98d .98D .d88 .D88 .d98 .D98 .cmd .CMD .dup .DUP .fdd .FDD .fdi .FDI .hdd .HDD .hdi .HDI .hdm .HDM .hdn .HDN .nhd .NHD .tfd .TFD .thd .THD . xdf .XDF .7z .7Z .zip .ZIP + + +## NEC PC Engine +- **Roms path:**
~/retrodeck/roms/pcengine +- **Supported file extensions:**
.ccd .CCD .chd .CHD .cue .CUE .img .IMG .iso .ISO .m3u .M3U .pce .PCE .sgx .SGX .toc .TOC .7z .7Z .zip .ZIP + + +## NEC PC Engine CD +- **Roms path:**
~/retrodeck/roms/pcenginecd +- **Supported file extensions:**
.ccd .CCD .chd .CHD .cue .CUE .img .IMG .iso .ISO .m3u .M3U .pce .PCE .sgx .SGX .toc .TOC .7z .7Z .zip .ZIP + + +## NEC SuperGrafx +- **Roms path:**
~/retrodeck/roms/supergrafx +- **Supported file extensions:**
.pce .PCE .sgx .SGX .cue .CUE .ccd .CCD .chd .CHD .7z .7Z .zip .ZIP + + +## NEC TurboGrafx-16 +- **Roms path:**
~/retrodeck/roms/tg16 +- **Supported file extensions:**
.ccd .CCD .chd .CHD .cue .CUE .img .IMG .iso .ISO .m3u .M3U .pce .PCE .sgx .SGX .toc .TOC .7z .7Z .zip .ZIP + + +## NEC TurboGrafx-CD +- **Roms path:**
~/retrodeck/roms/tg-cd +- **Supported file extensions:**
.ccd .CCD .chd .CHD .cue .CUE .img .IMG .iso .ISO .m3u .M3U .pce .PCE .sgx .SGX .toc .TOC .7z .7Z .zip .ZIP + + +## NEC PC-FX +- **Roms path:**
~/retrodeck/roms/pcfx +- **Supported file extensions:**
.cue CUE .ccd .CCD .toc .TOC .chd .CHD .7z .7Z .zip .ZIP + + +# Philips + +## Philips CD-i +- **Roms path:**
~/retrodeck/roms/cdimono1 +- **Supported file extensions:**
.chd .CHD .cue .CUE .iso .ISO + +## Philips Videopac G7000 +- **Roms path:**
~/retrodeck/roms/videopac +- **Supported file extensions:**
.bin .BIN .7z .7Z .zip .ZIP + + +# PICO-8 +- **Roms path:**
~/retrodeck/roms/pico8 +- **Supported file extensions:**
.p8 .P8 .png .PNG + + +# Ports +- **Roms path:**
~/retrodeck/roms/ports +- **Supported file extensions:**
.sh + + +# Sony Playstation + + +## Sony PlayStation (PSX) +- **Roms path:**
~/retrodeck/roms/psx +- **Supported file extensions:**
.bin .BIN .cbn .CBN .ccd .CCD .chd .CHD .cue .CUE .ecm .ECM .exe .EXE .img .IMG .iso .ISO .m3u .M3U .mdf .MDF .mds .MDS .pbp .PBP .psexe .PSEXE .psf .PSF .toc .TOC .z .Z .znx .ZNX .7z .7Z .zip .ZIP + + +## Sony PlayStation 2 +- **Roms path:**
~/retrodeck/roms/ps2 +- **Supported file extensions:**
.bin .BIN .chd .CHD .ciso .CISO .cso .CSO .dump .DUMP .elf .ELF .gz .GZ .m3u .M3U .mdf .MDF .img .IMG .iso .ISO .isz .ISZ .ngr .NRG + + +## Sony PlayStation 3 +- **Roms path:**
~/retrodeck/roms/ps3 +- **Supported file extensions:**
.ps3 .PS3 .ps3dir .PS3DIR + + +## Sony PlayStation Portable (PSP) +- **Roms path:**
~/retrodeck/roms/psp +- **Supported file extensions:**
.elf .ELF .iso .ISO .cso .CSO .prx .PRX .pbp .PBP .7z .7Z .zip .ZIP + + +## Sony PlayStation Vita +- **Roms path:**
~/retrodeck/roms/psvita +- **Supported file extensions:**
.7z .7Z .zip .ZIP + + +# SAM Coupé +- **Roms path:**
~/retrodeck/roms/samcoupe +- **Supported file extensions:**
.dsk .DSK .mgt .MGT .sbt .SBT .sad .SAD .7z .7Z .zip .ZIP + + +# ScummVM Game Engine +- **Roms path:**
~/retrodeck/roms/scummvm +- **Supported file extensions:**
.scummvm .SCUMMVM .svm .SVM + +# Sega + +## Sega Game Gear +- **Roms path:**
~/retrodeck/roms/gamegear +- **Supported file extensions:**
.68k .68K .bin .BIN .bms .BMS .chd .CHD .col .COL .cue .CUE .gen .GEN .gg .GG .iso .ISO .m3u .M3U .md .MD .mdx .MDX .rom .ROM .sg .SG .sgd .SGD .smd .SMD .sms .SMS .7z .7Z .zip .ZIP + + +## Sega Dreamcast +- **Roms path:**
~/retrodeck/roms/dreamcast +- **Supported file extensions:**
.chd .CHD .cdi .CDI .iso .ISO .elf .ELF .cue .CUE .gdi .GDI .lst .LST .dat .DAT .m3u .M3U .7z .7Z .zip .ZIP + + +## Sega Genesis (Mega Drive) +- **Roms path:**
~/retrodeck/roms/genesis +- **Supported file extensions:**
.68k .68K .bin .BIN .bms .BMS .chd .CHD .cue .CUE .gen .GEN .gg .GG .iso .ISO .m3u .M3U .md .MD .mdx .MDX .sg .SG .sgd .SGD .smd .SMD .sms .SMS .7z .7Z .zip .ZIP + + +## Sega Master System +- **Roms path:**
~/retrodeck/roms/mastersystem +- **Supported file extensions:**
.68k .68K .bin .BIN .bms .BMS .chd .CHD .col .COL .cue .CUE .gen .GEN .gg .GG .iso .ISO .m3u .M3U .md .MD .mdx .MDX .rom .ROM .sg .SG .sgd .SGD .smd .SMD .sms .SMS .7z .7Z .zip .ZIP + + +## Sega Mega-CD +- **Roms path:**
~/retrodeck/roms/megacd +- **Supported file extensions:**
.68k .68K .bin .BIN .bms .BMS .chd .CHD .cue .CUE .gen .GEN .gg .GG .iso .ISO .m3u .M3U .md .MD .mdx .MDX .sg .SG .sgd .SGD .smd .SMD .sms .SMS .7z .7Z .zip .ZIP + + +## Sega Mega Drive +- **Roms path:**
~/retrodeck/roms/megadrive +- **Supported file extensions:**
.68k .68K .bin .BIN .bms .BMS .chd .CHD .cue .CUE .gen .GEN .gg .GG .iso .ISO .m3u .M3U .md .MD .mdx .MDX .sg .SG .sgd .SGD .smd .SMD .sms .SMS .7z .7Z .zip .ZIP + + +## Sega Model 2 +- **Roms path:**
~/retrodeck/roms/model2 +- **Supported file extensions:**
.7z .7Z .zip .ZIP + + +## Sega Model 3 +- **Roms path:**
~/retrodeck/roms/model3 +- **Supported file extensions:**
.7z .7Z .zip .ZIP + + + +## Sega NAOMI +- **Roms path:**
~/retrodeck/roms/naomi +- **Supported file extensions:**
.cdi .CDI .iso .ISO .elf .ELF .bin .BIN .cue .CUE .gdi .GDI .lst .LST .dat .DAT .m3u .M3U .7z .7Z .zip .ZIP + + +## Sega NAOMI GD-ROM +- **Roms path:**
~/retrodeck/roms/naomigd +- **Supported file extensions:**
.cdi .CDI .iso .ISO .elf .ELF .bin .BIN .cue .CUE .gdi .GDI .lst .LST .dat .DAT .m3u .M3U .7z .7Z .zip .ZIP + + +## Sega Saturn +- **Roms path:**
~/retrodeck/roms/saturn +- **Supported file extensions:**
.bin .BIN .ccd .CCD .chd .CHD .cue .CUE .iso .ISO .mds .MDS .toc .TOC .m3u .M3U .7z .7Z .zip .ZIP + + +## Sega Mega Drive 32X +- **Roms path:**
~/retrodeck/roms/sega32x +- **Supported file extensions:**
.bin .BIN .gen .GEN .smd .SMD .md .MD .32x .32X .cue .CUE .iso .ISO .sms .SMS .68k .68K .7z .7Z .zip .ZIP + + +## Sega Super 32X +- **Roms path:**
~/retrodeck/roms/sega32xjp +- **Supported file extensions:**
.bin .BIN .gen .GEN .smd .SMD .md .MD .32x .32X .cue .CUE .iso .ISO .sms .SMS .68k .68K .7z .7Z .zip .ZIP + + +## Sega Genesis 32X +- **Roms path:**
~/retrodeck/roms/sega32xna +- **Supported file extensions:**
.bin .BIN .gen .GEN .smd .SMD .md .MD .32x .32X .cue .CUE .iso .ISO .sms .SMS .68k .68K .7z .7Z .zip .ZIP + + +## Sega SG-1000 +- **Roms path:**
~/retrodeck/roms/sg-1000 +- **Supported file extensions:**
.68k .68K .bin .BIN .bms .BMS .chd .CHD .cue .CUE .gen .GEN .gg .GG .iso .ISO .m3u .M3U .md .MD .mdx .MDX .ri .RI .rom .ROM .sg .SG .sgd .SGD .smd .SMD .sms .SMS .7z .7Z .zip .ZIP + + +## Sega CD +- **Roms path:**
~/retrodeck/roms/segacd +- **Supported file extensions:**
.68k .68K .bin .BIN .bms .BMS .chd .CHD .cue .CUE .gen .GEN .gg .GG .iso .ISO .m3u .M3U .md .MD .mdx .MDX .sg .SG .sgd .SGD .smd .SMD .sms .SMS .7z .7Z .zip .ZIP + + +# Sharp + +## Sharp X1 +- **Roms path:**
~/retrodeck/roms/x1 +- **Supported file extensions:**
.dx1 .DX1 .2d .2D .2hd .2HD .tfd .TFD .d88 .D88 .88d .88D .hdm .HDM .xdf .XDF .dup .DUP .tap .TAP .cmd .CMD .7z .7Z .zip .ZIP + + +## Sharp X68000 +- **Roms path:**
~/retrodeck/roms/x68000 +- **Supported file extensions:**
.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 + + +# Sinclair + +## Sinclair ZX81 +- **Roms path:**
~/retrodeck/roms/zx81 +- **Supported file extensions:**
.tzx .TZX .p .P .7z .7Z .zip .ZIP + + +## Sinclair ZX Spectrum +- **Roms path:**
~/retrodeck/roms/zxspectrum +- **Supported file extensions:**
.tzx .TZX .tap .TAP .z80 .Z80 .rzx .RZX .scl .SCL .trd .TRD .sh .SH .sna .SNA .szx .SZX .udi .UDI .mgt .MGT .img .IMG .dsk .DSK .gz .GZ .7z .7Z .zip .ZIP + + +# Solarus Game Engine +- **Roms path:**
~/retrodeck/roms/solarus +- **Supported file extensions:**
.7z .7Z .zip .ZIP + + +# Spectravideo +- **Roms path:**
~/retrodeck/roms/spectravideo +- **Supported file extensions:**
.rom .ROM .ri .RI .mx1 .MX1 .mx2 .MX2 .col .COL .dsk .DSK .cas .CAS .sg .SG .sc .SC .m3u .M3U .7z .7Z .zip .ZIP + + +# Stratagus Game Engine +- **Roms path:**
~/retrodeck/roms/stratagus +- **Supported file extensions:**
.7z .7Z .zip .ZIP + + +# Symbian +- **Roms path:**
~/retrodeck/roms/symbian +- **Supported file extensions:**
.7z .7Z .zip .ZIP + + +# Tano Dragon +- **Roms path:**
~/retrodeck/roms/tanodragon +- **Supported file extensions:**
.7z .7Z .zip .ZIP + + +# Texas Instruments TI-99 +- **Roms path:**
~/retrodeck/roms/ti99 +- **Supported file extensions:**
.rpk .RPK .7z .7Z .zip .ZIP + + + +# TIC-80 Game Engine +- **Roms path:**
~/retrodeck/roms/tic80 +- **Supported file extensions:**
.7z .7Z .zip .ZIP + +# Thomson + +## Thomson TO8 +- **Roms path:**
~/retrodeck/roms/to8 +- **Supported file extensions:**
.fd .FD .sap .SAP .k7 .K7 .m7 .M7 .m5 .M5 .rom .ROM .7z .7Z .zip .ZIP + + +## Thomson MO/TO Series +- **Roms path:**
~/retrodeck/roms/moto +- **Supported file extensions:**
.fd .FD .sap .SAP .k7 .K7 .m7 .M7 .m5 .M5 .rom .ROM .7z .7Z .zip .ZIP + + +# Uzebox +- **Roms path:**
~/retrodeck/roms/uzebox +- **Supported file extensions:**
.uze .UZE .7z .7Z .zip .ZIP + + +# Vectrex +- **Roms path:**
~/retrodeck/roms/vectrex +- **Supported file extensions:**
.bin .BIN .vec .VEC .gam .GAM .vc .VC .7z .7Z .zip .ZIP diff --git a/wiki-rtd/Emulators:-What's-included?.md b/wiki-rtd/Emulators:-What's-included?.md new file mode 100644 index 00000000..c8bb4b49 --- /dev/null +++ b/wiki-rtd/Emulators:-What's-included?.md @@ -0,0 +1,23 @@ +# General information +The goal is to add more emulators and functions over course of the development cycle. + +What follows is a list of all the emulators currently included in RetroDECK: + +# RetroArch +RetroDECK ships will all cores under the stable branch of RetroArch. + +# Standalone Emulators +The following standalone emulators are included + +## Yuzu (Switch) +## Citra (3DS) +## PCSX2 (PS2) +## Cemu (WiiU) +As of 0.7b +## Dolphin (GameCube/Wii) +## Primehack (Metroid Prime - Dolphin Fork) +As of 0.6b +## Xemu (XBOX) +## MelondDS (DS) +## RPCS3 (PS3) +## PPSSPP (PSP) \ No newline at end of file diff --git a/wiki-rtd/FAQs:-Frequently-asked-questions.md b/wiki-rtd/FAQs:-Frequently-asked-questions.md new file mode 100644 index 00000000..845435c1 --- /dev/null +++ b/wiki-rtd/FAQs:-Frequently-asked-questions.md @@ -0,0 +1,503 @@ +# General questions: + +## What is the scope of this project? +
Click here to see the answer + +Read the "Whats the long term vision and goals" on the Home page of this wiki. + +
+ +## Do you include any games, firmware or BIOS? +
Click here to see the answer +No, this can never be done for legal reasons. + +
+ +### Can you at least point me towards where I can get them? +
Click here to see the answer +Again...no, this can never be done for legal reasons. + +
+ +## Why are games call ROMs? +
Click here to see the answer + +ROM stands for "Read Only Memory" and was a common method to store games.
+The games where later dumped from their ROM chips into digitalized files that can be played with an emulator.
+Read more on [wikipedia](https://en.wikipedia.org/wiki/Read-only_memory) + +
+ +## What is sudo? +
Click here to see the answer +The command stands for "superuser do" and in the windows world it is called "run as administrator". +Su in "sudo" refers to the "superuser" or in the windows called the "administrator". + +
+ +## Retrodeck is a flatpak, what is it? + +
Click here to see the answer + +A flatpak is generated from a manifest, our manifest is this: https://github.com/XargonWan/RetroDECK/blob/main/net.retrodeck.retrodeck.yml +There is a software named flatpak-builder that is reading that manifest and downloads and builds everything that is needed.
+ +This is creating the RetroDECK.flatpak file that can be distributed as a file or be included in the official Flathub repository accessible from Discovery.
+ +[Flaptak](https://docs.flatpak.org/en/latest/introduction.html) is like a sandbox, with its own read only filesystem that is different from your computer's filesystem, that's why flatpak is safer than installing something directly in your filesystem, moreover it persists after any SteamOS update. + +
+ +## What is RetroDECK cooker? +
Click here to see the answer + + Cooker is a bleeding edge snapshot of the current commits, the action of uploading code to GitHub is called commit.
+As you can understand, the code may not be always reviewed and so the cooker it's unstable by its nature, it's just suggested to testers or developer to try bleeding edge function or to contribute.
+ +More info on the pinned post in #💙-i-want-to-help on our [Discord Server](discord.gg/Dz3szYsP8g). +I don't support the cooker user side. + +
+ +### Why the name cooker? 🍲 +
Click here to see the answer + +That's what cooking in the pot at this moment and not yet ready to be served (released).
This name was also used by Linux Mandrake and Mandriva for the bleeding edge channel. + +
+ +# Updates, feature requests and more devices/OS questions: + +## Will you support the general Linux desktop and not only the Steam Deck? +
Click here to see the answer + +Technically it is working, but the user experience might not be that great it could contain desktop specific bugs and other issues. +You will also need to manually configure the input to match your desktop and might need to tweak more settings. If you want to try it make sure that your distribution has native flatpak support else, you might need to install it. +We will start to tackle desktop bugs and have a bigger desktop focus after the beta period is over. + +
+ +## Will you support other SteamOS or Linux handheld gaming devices with flatpak support? +
Click here to see the answer + + +We do plan to support other SteamOS based devices in the future. But during the BETA we are focusing on the Steam Deck. +You can get it to run on other Linux based devices it is not just as seamless as we want it to be and does not live up to our higher standards. +You will need to manually configure the input to match your device and might need to tweak more settings if you try it on a none Steam Deck device. There might also be some hardware specific bugs. +
+ + +## Will you support Windows or Windows based devices like the ROG Ally? +
Click here to see the answer +No, RetroDECK doesn't support Windows, but the project is fully open source so you can port it if you wish. +As an alternative you could try https://www.retrobat.ovh/ that offers similar functionality. +
+ +## Will you support MacOS? +
Click here to see the answer +Not supported and not planned. +
+ +## Will you support Android/IOS? +
Click here to see the answer +Not supported and not planned. +
+ + +## Will you implement X/Y/Z emulator? +
Click here to see the answer + +Our goal is to implement and configure a selection of the best emulators for each system. If your favorite system is not integrated you can request its integration by opening an issue on this github page. + +
+ +## Will you implement none emulator software inside of RetroDECK like Batocera? +
Click here to see the answer + +Nothing in the short term but maybe in the future. It also need to fit inside the scope of project for example: GZDoom would be ok. But another project like a multimedia center solution like Kodi would not fit. + +
+ +## When does the next version of RetroDECK come out? +
Click here to see the answer +> When it's ready. + +
+ +### When does the version after the upcoming version come out? +
Click here to see the answer + +After the upcoming version.
+ +### When does the version 1.0 of RetroDECK come out? +
Click here to see the answer + +Some time in the future. + +
+ +# Documentation questions + +## I see ~ refereed in documentation and examples, what does it mean? +
Click here to see the answer + +The tilde character ~ is the a short way of saying the logged in users home directory in the UNIX world.
+ +So for example the Steam Deck
+ +`~ = /home/deck`
+ +Read more on [Wikipedia](https://en.wikipedia.org/wiki/Home_directory)
+ +## I see SA refereed in documentation about emulators what does it mean? +
Click here to see the answer + +SA means Standalone and the emulator is not inside RetroArch/LibRetro but a separate program launched within RetroDECK.
+ +## I see CLI refereed in documentation what does it mean? +
Click here to see the answer +CLI stands for command-line interface and is often refereed commands you can run in the the Linux Terminal
+ + + +# Other Emulation Solutions questions: + +## Are you related to EmuDeck? +
Click here to see the answer + +No, the two projects are not related. + +
+ +### So what's the difference between RetroDECK and EmuDeck? +
Click here to see the answer + +Apart of that from the user point of view EmuDeck and RetroDECK may sound similar but technically they're completely different. + +EmuDeck is a shell script that you run in the Steam Decks desktop mode that downloads and configures all the separate emulators & plugins for you from various sources using a built in electron based gui. + +RetroDECK is an all-in-one application contained in a sandboxed environment called "flatpak", that is downloaded from Discover (Flathub). This is Valves and other Linux desktops recommended way of distributing applications on the Steam Deck and Linux desktop in a safe way. It grantees for example even if Valve makes major changes to the file system in a SteamOS update, RetroDECK and it’s configurations will not be touched and will be safe. + +RetroDECK only writes in these two folders: `~/retrodeck` for roms/configurations/bios etc.. And an hidden flatpak folder located in `~/.var/net.retrodeck.retrodeck`. + +As everything is contained within those two folders it will not have conflict if you decide to install an emulator from another source like Yuzu or RetroArch with your RetroDECK setup. Even if you uninstall RetroDECK all your roms/bios/saves/etc.. are safe until you remove the `~/retrodeck` folder. So if you for some reason don't like the application after playing for a while you can easily move out your important files after an uninstall (or you can just reinstall RetroDECK again and start where you left off). + +This approach of everything is in a all-in-one package will also allow RetroDECK to do tighter integrations with each bundled emulator in the future and expose all those settings when you are inside RetroDECK, so you do not need to go into Steam Decks desktop mode to do changes and tweaks. All things should be, in the long term, inside the application itself and you can already see a part of that inside the RetroDECK Configurator in the Tools menu. + +
+ +### Can I install RetroDECK if I have EmuDeck already? +
Click here to see the answer + +Yes, as RetroDECK is completely standalone. + +
+ +## Are you related anyway to Batocera? +
Click here to see the answer +No, but RetroDECK had some dialog before the project started with some of the Batocera crew if there where any plans to start a Batocera non-OS application (there where no plans at that moment and their focus is to make the best retro gaming operative system). RetroDECK and Batocera also have good dialog together with representatives of each projects inside the internal development channels. + +
+ + +## Batocera or EmuDeck or RetroDECK I still don't get it? +
Click here to see the answer + +- Batocera is a retro emulation operative system that you need to boot into separately (like from an SDCard) or replace your current OS.
For the Steam Deck you lose access to the SteamOS features and your emulation gaming is separate from your SteamOS gamemode gaming. That said; Batocera has many years of development time, is a great mature OS with a lot of features. + +- EmuDeck is a shell script that you download and run. The script downloads & configures all the separate emulators & plugins for you from various sources for various operative systems. + +- RetroDECK is an all-in-one application that already provides everything you need without to many extra steps for the user.It is on flathub and thus allows the users to update the application via standard safe operative system update methods. +You can see RetroDECK as the in between of EmuDeck and Batocera. We hope that one day we can offer a complete Batocera-like experience right inside your operative system. + +
+ +## What is your relationship with EmulationStation Desktop Edition (ES-DE)?
+
Click here to see the answer + +ES-DE and RetroDECK are separate projects, but we collaborate to give the best possible user experience.
+We have a unique partnership where inside the ES-DE code is a section just for RetroDECK specific features.
+[Read more on ES-DE FAQs](https://gitlab.com/es-de/emulationstation-de/-/blob/master/FAQ.md#what-is-the-relationship-between-es-de-and-retrodeck) + +
+ +# RetroDECK usage questions: + +## Can I launch RetroDECK from inside of the Steam Decks gamemode? +
Click here to see the answer +Yes, RetroDECK currently only supports Steam Deck's gamemode as it relies on Steam Controller configs.
+To add it into Steam please check the second step of [[Steam Deck: Installation and updates]]. + +
+ + +## Do I have to partition or format my disk/sdcard to install RetroDECK? + +
Click here to see the answer + +No, partitioning or formatting is not needed at all. RetroDECK (differently from AmberELEC, Batocera and others) comes as a flatpak. Just install it as any other application and launch it from your desktop and/or Steam library. +
+ + +## Can I move the ROMs folder to another place? +
Click here to see the answer + +Yes, you can do so inside the configurator and the `Move RetroDECK` option. + +
+ +## Is there a way to reset RetroDECK? +
Click here to see the answer + +Yes, you can reset various parts of the software using the RetroDECK configurator under the option reset
+ +Or you can use CLI arguments in the terminal. + +Resets the whole RetroDECK at factory defaults: +```bash +flatpak run net.retrodeck.retrodeck --reset-all +``` +Resets RetroArch configs at factory defaults: +```bash +flatpak run net.retrodeck.retrodeck --reset-ra +``` +Resets all the standalone emulators configs at factory defaults: +```bash +flatpak run net.retrodeck.retrodeck --reset-sa +``` +
+ + +## How do I uninstall RetroDECK? +
Click here to see the answer + +**On the Steam Deck:**
+ +Put the Steam Deck into Desktop Mode `Steam button` > `Power` > `Switch to Desktop`
+ +* Go into Discover +* Press the `Installed` tab and find RetroDECK +* Press the `Uninstall` button +* Manually backup then remove the ~\RetroDECK folder. Warning! Make a backup your data roms/bios/saves etc if you want to save them else they will be gone. + +
+ + +## Does uninstalling RetroDECK remove my roms, bios and saves? +
Click here to see the answer +No, as long as you don't manually don't delete the ~\RetroDECK folder and it's content your data is safe. You could uninstall RetroDECK and install it again and keep going. + +
+ + +## Where can I find the logfiles? +
Click here to see the answer +> In `~/retrodeck/logs/retrodeck.log` + +
+ +## Can I add a single game to my Steam Library or with Steam Rom Manager? +
Click here to see the answer + +Not yet but might be in the future, it is technical possible but quite complicated and needs to be done via launch script. We hope we can simplify this in the future via an API call or inside the Configurator. + +Example of a launch script to launch to launch a Wii game called Baloon World: + +`flatpak run --command=dolphin-emu-wrapper net.retrodeck.retrodeck -e "/run/media/mmcblk0p1/retrodeck/roms/wii/Baloon World.rvz" -b ` + +
+ +## If I installed RetroDECK from outside of discover, do I need to uninstall the application to update? +
Click here to see the answer +If you previously installed from outside of Discover, you can find the instructions here to + +[install from discover](https://github.com/XargonWan/RetroDECK/wiki/Steam-Deck:-Installation-and-updates) + +or here + +[to install .flatpak file](https://github.com/XargonWan/RetroDECK/wiki/Developer-notes#managing-retrodeck-flatpak-file).
+ +## After installing RetroDECK manually, Discover is not opening or giving me some errors? +
Click here to see the answer + +This bug is appearing only when installing RetroDECK manually and not from Discover. The discover release is suggested for all the users. +However you can run this to fix it: `flatpak remote-delete retrodeck-origin` + +
+ + +# General emulation & games questions: + +## What emulators and software is included in RetroDECK? +
Click here to see the answer + +You can check this wiki what emulators are currently bundled. We plan to have support for most of the emulators ES-DE support in the long term. + +
+ +## How can I set another default emulator? + +
Click here to see the answer + +The ES-DE interface allows you to change emulators for systems that has many different emulators. In the main menu go to `Other Settings` - `Alternative Emulators` to set other defaults. +
+ + +## Game X/Y/Z is not working or showing black screen +
Click here to see the answer + +Some emulators needs BIOS and/or firmware files, first you can check if you got the [needed ones](https://github.com/XargonWan/RetroDECK/wiki/BIOS-&-Firmware).
+ +Then you can check if your got a bad dump by comparing your hash with the ones of the official lists on the internet, such as [no-intro](https://datomatic.no-intro.org/index.php?page=search&s=64) or even [RetroAchievements](https://retroachievements.org) if your game is supported.
+Moreover please mind that some emulator require very specific roms, please [read here](https://github.com/XargonWan/RetroDECK/wiki/How-to:-Manage-your-games#special-roms-formats). +If it still not working you are welcome to ask for support on our [Discord Server](discord.gg/Dz3szYsP8g). + +
+ +## PS2 games are not working or buggy in the RetroArch Core. +
Click here to see the answer + +It's a known issue with if you are using the libretro core but you can use the the standalone pcsx2 emulator to solve this issue.
+Be sure to check that the bios files are in the correct folder. Read more on the [Emulators: BIOS and Firmware](https://github.com/XargonWan/RetroDECK/wiki/Emulators%3A-BIOS-and-Firmware)# page on this wiki. + +
+ +## I configured RetroArch but the configuration was not saved. +
Click here to see the answer + +Configuring RetroArch can be dangerous for an inexperienced user, so RetroDECK is set to don't save the RetroArch configuration upon exiting.
+The configuration must be saved willingly by going to: `Main Menu` -> `Configuration File` -> `Save Current Configuration`.
+If you find some better configurations however, you may contribute by sharing it on the #💙-i-want-to-help channel on our [Discord Server](discord.gg/Dz3szYsP8g) that may be included in the next version. + +
+ +## Will you support Lightguns (Sinden, Gun4IR, Samco etc...)? +
Click here to see the answer + +The long term answer is yes, but there are several issues that need to be addressed from various dependencies that are beyond the scope of what RetroDECK can do by it self. We are talking to several projects and hope to have those issues addressed in the future. Right now the best way to use lightgun hardware is to use Batocera as they have developed native support in their OS. + +
+ +# Steam Deck emulation questions: + +## XBOX games are slow on the Steam Deck +
Click here to see the answer + +Unfortunately on thanks to missing optimizations focusing on the Steam Deck and the hardware is limited in scope makes performance not great. Like most emulators they will get improvements over time and we will follow the XBOX emulators progress with great interest. + +
+ +## The games are stuck at 30FPS on the Steam Deck! +
Click here to see the answer + +Press the [...] button on the Steam Deck, go into the Power menu and see if the Framerate Limit is set to 30FPS and set it to 60FPS or off. + +
+ +## Fast forwarding is slow on the Steam Deck! +
Click here to see the answer + +Same as above: Check the Power menu Framerate Limit. + +
+ + +# Theme questions: + +## How can I add more themes? +
Click here to see the answer +In the future we wish to include a themes browser and downloader, but for the moment you can put your own themes here:
+~/retrodeck/themes + +
+ +## How do you switch between themes inside of RetroDECK? +
Click here to see the answer + +**On the Steam Deck:**
+you can switch between them by pressing the `☰` button to open the menu and then navigate to `UI Settings > Theme Set` to select the theme you want to use. + +
+ +## "Why does the theme I am using not work?" or "Why does the layout look broken?" (black screen with blue text)? +
Click here to see the answer + +* Please make sure you are specifically using a theme that is compatible with [ES-DE](https://www.es-de.org).
+ +* If you are trying to use a theme that was built for Batocera it will likely not be compatible.
+ +* ES-DE uses a unique theme engine so themes are not directly portable from Batocera.
+ +* Please see ES-DE's [User Guide](https://gitlab.com/es-de/emulationstation-de/-/blob/master/USERGUIDE.md#themes) for more details. + +
+ + +## Why does the theme layout look squished? +
Click here to see the answer + +* The Steam Deck has a screen aspect ratio of `16:10` and most themes that you will find are built for an aspect ratio of `16:9`. Depending on the theme's design this may cause the layout to appear squished when using it on the Steam Deck's display.
+ +* All of the included themes are built for 16:10 aspect ratio so you should not see this issue with any of them; however if you are downloading a theme from another source there is a chance this can occur for you.
+ +* There are 2 ways to fix this if it does occur: (1) see if a specific version was built for `16:10` aspect ratio and use that instead or (2) edit the theme to make it compatible with that aspect ratio. + +
+ +# Scraping questions + +## Can I manually add custom game images/videos/media for games that I can not scrape? +
Click here to see the answer +Yes, check the file structure over at Emulationstation DE's user guide on gitlab.
+ +## [Manually copying game media files](https://gitlab.com/es-de/emulationstation-de/-/blob/master/USERGUIDE.md#manually-copying-game-media-files) + +
+ +## Where is my scraped data? +
Click here to see the answer +In `~/retrodeck/downloaded_media` + +
+ + +## I got some weird error message about quota after scraping! +
Click here to see the answer + +The error message mentions something about quota. You have a quota limit on how much you can scrape each day from [Screenscraper.fr ](https://www.screenscraper.fr/) where each item you scrape counts as 1 quota of the daily total.
+You can pay them to get a bit more daily quota and show your support or just wait 24 hours.
+
+ +## I got some weird error message about about server or service! +
Click here to see the answer + +The website is down, check [Screenscraper.fr](https://www.screenscraper.fr/) when they get back up. + +
+ +## The scraping is too slow! +
Click here to see the answer + +[Screenscraper.fr](https://www.screenscraper.fr/) offers different types of donations that can increase your speed with extra threads. + +
+ +## My systems storage ran out after scraping! +
Click here to see the answer + +Images and videos takes a lot of space, you can clean some out under `~/retrodeck/downloaded_media` + +
+ +### But I still want them! +
Click here to see the answer + +Delete something else or buy more storage. +
+ +## Can I move the downloaded_media folder? +
Click here to see the answer + +You can move it with the the move RetroDECK option inside the configurator. + +
diff --git a/wiki-rtd/How-can-I-help-with-testing?.md b/wiki-rtd/How-can-I-help-with-testing?.md new file mode 100644 index 00000000..5127d9e5 --- /dev/null +++ b/wiki-rtd/How-can-I-help-with-testing?.md @@ -0,0 +1,73 @@ +# About testing + +There are two ways help us to test features in RetroDECK.
+The first one is our bleeding edge `RetroDECK Cooker` channel.
+The second one is the `Experimental Features` inside the stable version inside the `Developer Options Menu`. + +## 🛑 Warning! Backup before testing! 🛑 +These builds and features can make you loose all data including `ROMS`, `BIOS` and `Scraped Data` etc..
+We **recommend** that you don't run any experimental features or cooker builds on your main gaming machine. + +## 🛑 Warning! Expect bugs and issues! 🛑 +These builds and experimental features can contain several bugs and be unstable. + +## How do I take a backup? + +Backup your `/retrodeck/` and it's content and `/.var/app/net.retrodeck.retrodeck/`. +You could copy the entire folders to a secure location or for a quick test you could just rename both of the folders into something else. +Then RetroDECK will think it's a fresh install. + +Example of renaming:
+`OLDnet.retrodeck.retrodeck/`
+`OLDretrodeck/` + +## Can I help you with testing? +Yes, do the backups above and tell in Discord channel `i-want-to-help` that you are interested in testing out `RetroDECK Cooker` builds or want to give feedback on `Experimental Features`. +You will get some instructions from one of the mods and be promoted to a `BetaTester` role. + +# What is RetroDECK Cooker? +[RetroDECK Cooker](https://github.com/XargonWan/RetroDECK-cooker) are the bleeding edge development builds of [RetroDECK](https://github.com/XargonWan/RetroDECK). These builds are only for development and testing purposes. + +## How do I install cooker builds +You can download the latest `.flatpak` releases from the above link and install them via CLI or from the desktop. + +**NOTE:** +* You need to have set up a sudo password if you want to test on a Steam Deck. +* If you have `RetroDECK` the stable release on your system `RetroDECK-Cooker` will be installed separately since it is a different branch. We do not recommend running cooker on a system where you have a running `RetroDECK` stable. + +### Desktop: + +You should just be able to double click on the .`flatpak` file and what ever application manager/installer (like Discover) you have installed should be able to install it. If that does not work use the CLI method. + +### CLI: + +Run the following command from where you have downloaded the `.flatpak` file.
+`flatpak install RetroDECK.flatpak` + + +## How do I uninstall RetroDECK Cooker? + +### Desktop: +Just go into your application manager/installer (like Discover), find RetroDECK and press uninstall. + + +### CLI: + +Run the following command:
+`flatpak remove RetroDECK` + + +### Why does the cooker release have strange names? +The names are randomly generated to make it easy to see what build you are running. + +# What are RetroDECK experimental features? +Experimental features are a showcase of what proof-of-concepts we are trying out or working on that you can try out even on stable releases and we would like feedback on them. All these features are just conceptual and we hope them release ready in an later major update or scrap them if the don't work out. +Standard backup procedures apply as written above. + +## How do I enable them? + +From CLI run: + +`flatpak run net.retrodeck.retrodeck uuddlrlrstart` + +The `Developer Options Menu` should show up inside the Configurator. diff --git a/wiki-rtd/How-to:-Getting-started.md b/wiki-rtd/How-to:-Getting-started.md new file mode 100644 index 00000000..53d8a527 --- /dev/null +++ b/wiki-rtd/How-to:-Getting-started.md @@ -0,0 +1,104 @@ +# Getting started + +This is a guide on how to get started with RetroDECK + +# Step 0: Prerequisites + +## What do I need? +You need to meet the following prerequisites before you start following this guide: + +* You need to have a device to install RetroDECK on (we currently only support the Steam Deck). +* Read up on the FAQs pages:
+[Do you include any games, firmware or BIOS?](https://github.com/XargonWan/RetroDECK/wiki/FAQs:-Frequently-asked-questions#do-you-include-any-games-firmware-or-bios)
+[Where can I get them?](https://github.com/XargonWan/RetroDECK/wiki/FAQs:-Frequently-asked-questions#can-you-at-least-point-me-towards-where-i-can-get-them)
+[What does ~ mean?](https://github.com/XargonWan/RetroDECK/wiki/FAQs:-Frequently-asked-questions#i-see--refereed-in-documentation-and-examples-what-does-it-mean) +* Have related BIOS & Firmware ready +* Have backup rom files of the games you want to play ready + +# Step 1: Installation & Configuration +Only install RetroDECK from the official channels via flathub! + +## Steam Deck - Installation
+Read and follow the: + +* [Installation guide for the Steam Deck](https://github.com/XargonWan/RetroDECK/wiki/Steam-Deck:-Installation-and-updates)
+ +## Linux Desktop - Installation
+ +(more information later) + + +## Other SteamOS devices - Installation
+ +(more information later) + +# Step 2: BIOS & Firmware + +**NOTE:** On the Steam Deck this step needs to be done in Desktop Mode + +## Information +Read up on [BIOS & Firmware](https://github.com/XargonWan/RetroDECK/wiki/BIOS-and-Firmware) + +* The BIOS & Firmware files go into the `~/retrodeck/bios/` directory
+ + +**Example:**
+You have a BIOS for the PSX called `exampleBIOSPSX.bin`, you just put that file into the `~/retrodeck/bios/` folder. + +# Step 3: ROMs + +**NOTE:** On the Steam Deck this step needs to be done in Desktop Mode + +## On ROMs + +Rom files needs to be put in their corresponding system directory inside the `roms` folder.
+Note that the `roms` folder location can be different depending on where you choose to put it during the installation process. The following options are available during the installation: + +### **Choice: Internal**
+If during the installation of RetroDECK you choose the Internal option for the roms folder:
+The roms folder is:`~/retrodeck/roms/` + +### **Choice: SDCard**
+If during the installation of RetroDECK you choose the SDCard option for the roms folder:
+The roms folder is: `/retrodeck/roms/`
+ +(Please note that the `` is an example and not called so inside your Linux/SteamOS system but rather your unique per SDCard ID number).
+ + +## Let's get started on ROMs: + +Read up on [Emulators: Folders & File extensions](https://github.com/XargonWan/RetroDECK/wiki/Emulators:-Folders-&-File-extensions) to see what folder each system has. +* Put the corresponding roms inside the corresponding system folder + +**Example:**
+You have an example NES game called `ExampleNESGame.nes`
+You have to put that game into the `/retrodeck/roms/nes` folder. + +# Step 4: Playing the ROMs + +## Steam Deck - Gamemode +Return to gamemode on the Steam Deck and start up RetroDECK. Now the systems you put rom files for should be shown and be able to be played. + +**Example:**
+The NES column should now be shown with our `ExampleNESGame.nes` from `Step 3` + +# Step 5: Making the games "pretty" with videos, images and art. + +Do the following: +1. Make an account on https://www.screenscraper.fr/ +2. Read up on scraping on the [ES-DE Guide](https://github.com/XargonWan/RetroDECK/wiki/EmulationStation-DE:-User-Guide#scraping-and-editing-roms-metadata-images-etc) +3. Login to your screenscraper account inside RetroDECK and start scraping. +4. Look at your nice pretty games. + +Also read: +* [I got some weird error message about quota after scraping in a foreign language from screenscraper.fr](https://github.com/XargonWan/RetroDECK/wiki/FAQs:-Frequently-asked-questions#i-got-some-weird-error-message-about-quota-after-scraping-in-a-foreign-language-from-screenscraperfr) +* [My system storage ran out after scraping!](https://github.com/XargonWan/RetroDECK/wiki/FAQs:-Frequently-asked-questions#my-system-storage-ran-out-after-scraping) + +# Step 6: Themes +RetroDECK comes with several themes built in for the ES-DE interface. + +## How to switch between themes? +* On the Steam Deck: you can switch between them by pressing the `☰` button to open the menu and then navigate to `UI Settings > Theme Set` to select the theme you want to use. + +## How to add more themes? +[More information on themes and how to add more](https://github.com/XargonWan/RetroDECK/wiki/EmulationStation-DE:-Themes) diff --git a/wiki-rtd/How-to:-Manage-your-games.md b/wiki-rtd/How-to:-Manage-your-games.md new file mode 100644 index 00000000..cbf01c24 --- /dev/null +++ b/wiki-rtd/How-to:-Manage-your-games.md @@ -0,0 +1,84 @@ +# Supported extensions +In order to check which file extensions are supported check the page [Emulators: Folders & File extensions](https://github.com/XargonWan/RetroDECK/wiki/Emulators:-Folders-&-File-extensions) + +## Special ROMs formats +Some emulators are working only with specific rips, here is what I gather. + +**XEMU**: you must use iso files called xiso (the extensions are usually `.xiso.iso` or `.iso` only)
+ +**NDS**: needs a decrypted dump
+ +**3DS**: needs a decrypted dump
+ +**PS3**: are folders that need to be with the `.ps3` file extension in the end.
+Example: `Gran Turismo 5.ps3` + +# RetroAchievements +Until we don't implement a proper menu, the RetroAchievements must be enabled from RetroArch:
+`Tools` -> `Start RetroArch` -> `Settings` -> `Achievements`
+Here you have to insert your username and password that you used to register to [RetroAchievements](https://retroachievements.org), then [save your RetroArch config](https://github.com/XargonWan/RetroDECK/wiki/FAQs---Frequently-asked-questions#i-configured-retroarch-but-the-configuration-was-not-saved).

+**NOTE:** not all the games are supported; your game [hash](https://docs.retroachievements.org/FAQ/#what-is-an-ra-hash) must be checked on [RetroAchievements website](https://retroachievements.org). + +# Multidisk/file games: Directory interpreted as files +You can put all the game files inside a sub-folder in order to keep you game list clean, these folder will be seen as the game itself from RetroDECK and not as an actual folder, more info [here](https://gitlab.com/es-de/emulationstation-de/-/blob/master/USERGUIDE.md#directories-interpreted-as-files) on the official ES-DE Documentation. The folder needs to have the corresponding .m3u file and the folder needs to be renamed to the exact filename of the .m3u + +Example on how a structure could be: +``` +─── Dragon Fantasy VII.m3u + ├── Dragon Fantasy VII - Disk1.chd + ├── Dragon Fantasy VII - Disk2.chd + ├── Dragon Fantasy VII - Disk3.chd + └── Dragon Fantasy VII.m3u +``` +In this case the folder will be viewed as a single game and it will launch `Dragon Fantasy VII.m3u` so you can easly swap the disks from RetroArch menu. + +## How do I create a Multidisk Directory? + +Let's use the Dragon Fantasy VII example as written above. + +### Step 1: Make a .m3u sub-folder +Make a new sub-folder inside the PSX roms directory where you move and store the Dragon Fantasy VII files with a .m3u file extension in the end. +The name of the folder will be Dragon Fantasy VII.m3u and the full file path will be: + +`~/retrodeck/roms/psx/Dragon Fantasy VII.m3u` + + +### Step 2: Make a .m3u file inside the folder.m3u +Following the example above, make an empty file inside the Dragon Fantasy VII.m3u folder called the exact same thing as the folder name in this case: `Dragon Fantasy VII.m3u`. Now the full file path to the newly created .m3u file should be like this: + +`~/retrodeck/roms/psx/Dragon Fantasy VII.m3u/Dragon Fantasy VII.m3u` + +### Step 3: Populate the .m3u file + +Open the `Dragon Fantasy VII.m3u` file with an text editor and write the filenames of all files contained in the folder, one per line. +When you are done, the structure of the file should look something like this: + +`Dragon Fantasy VII - Disk1.chd`
+`Dragon Fantasy VII - Disk2.chd`
+`Dragon Fantasy VII - Disk3.chd` + +Note this also works with other files types like `.bin` `.iso` `.cue` `.bin` etc.. You just need to make sure that all the files in the folders are written inside the .m3u file. + +### Step 4: Launch RetroDECK +The ES-DE interface that RetroDECK uses should now pick up on the game as one file and you can change disks inside RetroArch. + +# Emulators compatibility lists +Here is a collection of games that were tested on Steam Deck, not on RetroDECK specifically. +If you find some inconsistences please report them on our `#support` channel on Discord. +* [Xemu](https://xemu.app/#compatibility) +* [Citra](https://citra-emu.org/game/) +* [Dolphin](https://dolphin-emu.org/compat/?nocr=true) +* [Yuzu](https://yuzu-emu.org/game/) +* [PCSX2](https://pcsx2.net/compat/) +* [RPCS3](https://docs.google.com/spreadsheets/d/1EzTcNoKiBaMS4orZrGEOKwMpFOZEFKVSOZjLRJqzEkA/) + +# Scraping + +[Check out FAQ on Scraping on the wiki](https://github.com/XargonWan/RetroDECK/wiki/FAQs%3A-Frequently-asked-questions#scraping-questions) + +## Quick tips +* Register an account on https://www.screenscraper.fr/ (support them on Patreon for faster downloads, more scrapes per day and priority scraping). +* Login to your Screenscraper.fr account inside of the ES-DE interface in RetroDECK +* Choose what content you want to scrape (remember that each content you choose could take up several mb of data per game). +* Do an initial scrape of all the games you want to scrape. +* If some games are missed do a more narrow scraping by enabling `Scraper -> Other Settings -> Interactive Mode -> On`& Scraper -> `Other Settings -> Auto-Accept Single Game Matches -> On` and choose to scrape by games missing metadata. This will allow you to select each game from a list and also tweak the searches of the missing games. In some cases you need to remove certain aspects of the name like if a rom comes both with a Japanese name and English name, you could try to remove one of the names to find a better result. diff --git a/wiki-rtd/Known-Issues.md b/wiki-rtd/Known-Issues.md new file mode 100644 index 00000000..d0076c7a --- /dev/null +++ b/wiki-rtd/Known-Issues.md @@ -0,0 +1,17 @@ +# Not yet officially implemented in RetroDECK +Some of these features can be configured by the users manually but work is being done to implement across the board over time. + +**Missing features:** + +* Cloud saves +* Netplay +* External controller support * +* External display resolution support +* Not all Emulators supported by ES-DE are included as of this moment (more will be added all the time). +* A configurator that is controller usable +* Better art + +( * External controller support "semi works" in some emulators if you have docked the Steam Deck and pair a Bluetooth controller inside the Steam Gamemode GUI. Not all hotkey combinations will work how ever!) + +# Issues, bugs and suggestions +For a list of reported issues please check here on github: [RetroDECK issues](https://github.com/XargonWan/RetroDECK/issues) \ No newline at end of file diff --git a/wiki-rtd/Licences.md b/wiki-rtd/Licences.md new file mode 100644 index 00000000..64910a3b --- /dev/null +++ b/wiki-rtd/Licences.md @@ -0,0 +1,93 @@ +# RetroDECK + +https://github.com/XargonWan/RetroDECK/blob/main/LICENSE + +# Features, front-end and assets + +## ES-DE + +https://gitlab.com/es-de/emulationstation-de/-/blob/master/LICENSE + +https://gitlab.com/es-de/emulationstation-de/-/tree/master/licenses + +## Pixelitos + +https://github.com/ItzSelenux/pixelitos-icon-theme/blob/main/LICENSE + +## Kenny.nl +CC0 & CC1 (Various assets)
+https://www.kenney.nl/assets + +# Emulators & Software + +## RetroArch & LibreRetro + +https://docs.libretro.com/development/licenses/ + +## Duckstation + +https://github.com/stenzek/duckstation/blob/master/LICENSE + +## RPCS3 + +https://github.com/RPCS3/rpcs3/blob/master/LICENSE + +## Dolphin & Primehack + +https://github.com/dolphin-emu/dolphin/blob/master/LICENSE + +https://github.com/Kekun/primehack/blob/master/LICENSE + +## MAME +https://github.com/mamedev/mame/blob/master/COPYING + +## Yuzu + +https://github.com/yuzu-emu/yuzu/blob/master/LICENSE.txt + + +## Ryujinx + +https://github.com/Ryujinx/Ryujinx/blob/master/LICENSE.txt + + +## Citra + +https://github.com/citra-emu/citra/blob/master/license.txt + +## Xenia + +https://github.com/xenia-project/xenia/blob/master/LICENSE + +## Cemu + +https://github.com/cemu-project/Cemu/blob/main/LICENSE.txt + +## Xemu + +https://github.com/xemu-project/xemu + +## PPSSPP + +https://github.com/hrydgard/ppsspp/blob/master/LICENSE.TXT + +## MelonDS + +https://github.com/melonDS-emu/melonDS/blob/master/LICENSE + +## PCXS2 +https://github.com/PCSX2/pcsx2/blob/master/COPYING.GPLv3 + +## Vita3K +https://github.com/Vita3K/Vita3K/blob/master/COPYING.txt + +## ZDoom / GZDoom + +https://github.com/ZDoom/gzdoom/blob/master/LICENSE + +## ScummVM +https://github.com/scummvm/scummvm/blob/master/COPYING + +## Capsimg +https://github.com/rsn8887/capsimg/blob/master/LICENCE.txt + diff --git a/wiki-rtd/Linux-Desktop:-Software-recommendations.md b/wiki-rtd/Linux-Desktop:-Software-recommendations.md new file mode 100644 index 00000000..43447fae --- /dev/null +++ b/wiki-rtd/Linux-Desktop:-Software-recommendations.md @@ -0,0 +1,38 @@ +# Any other recommended software? + +The following software works great with the Linux Desktop and might enhance your RetroDECK experience (these are entirely optional to install). + +## Flips +Flips is a software that let you patch romhacks IPS & BPS files onto the rom files. +It's already on flathub. + +_Made by Alcaro_ + +[Flips](https://flathub.org/apps/details/com.github.Alcaro.Flips) + +## BoilR + +BoilR will show games from other games platforms in your Steam library. It uses the Steam 3rd party shortcuts feature and does not require you to set up anything. You can also use BoilR to manually and automatically download custom art from SteamGridDB. It's already in flathub. + +_Made by Philipk_ + +[BoilR](https://flathub.org/apps/details/io.github.philipk.boilr) + +## JRomManager +A Mame and Retrogaming Rom Manager.
+This more complex application allows you to manage and verify your roms via .dat files. It's already in on flathub and downloadable in Discover. + +_Made by optyfr_ + +[JRomManager](https://flathub.org/apps/details/com.github.optyfr.JRomManager)
+ +## RomM +RomM is a game library roms manager focused in retro gaming. Manage and organize all of your games from a web browser. +Inspired by [Jellyfin](https://jellyfin.org/), allows you to manage all your games from a modern interface while enriching them with IGDB metadata. + +_Made by zurdi15_ + +[RomM](https://github.com/zurdi15/romm) + + + diff --git a/wiki-rtd/PCXS2:-Texture-Packs.md b/wiki-rtd/PCXS2:-Texture-Packs.md new file mode 100644 index 00000000..8911a704 --- /dev/null +++ b/wiki-rtd/PCXS2:-Texture-Packs.md @@ -0,0 +1,30 @@ +# PCXS2 - Playstation 2 +The `~/retrodeck/texture_packs/PCSX2/` represents the `/PCSX2/textures/` folder in PCSX2. + +**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 PCSX2 inside `RetroDECK Configurator` by pressing `Open Emulator` - `PCSX2`. +* Press `Settings` -> `Graphics`
+ +`Load Textures` and set it to `On`.
+ +`Async Texture Loading` 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 + +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 right `~/retrodeck/texture_packs/PCSX2/` folder. \ No newline at end of file diff --git a/wiki-rtd/PPSSPP:-Texture-Packs.md b/wiki-rtd/PPSSPP:-Texture-Packs.md new file mode 100644 index 00000000..6eff6f8e --- /dev/null +++ b/wiki-rtd/PPSSPP:-Texture-Packs.md @@ -0,0 +1,26 @@ +# PPSSPP - PSP +The `~/retrodeck/texture_packs/ppsspp/` represents the `/PSP/TEXTURES/` folder in PPSSPP. + +**Note:**
+Some texture packs could made for a specific version or region of the game. Make sure you have the right rom and textures for it. + +**Note:**
+`TITLEID` is different for every game. + + +## Enable Custom Textures +1. Open up PPSSPP inside `RetroDECK Configurator` by pressing `Open Emulator` - `PPSSPP`. +2. Press `Settings` -> `Tools` -> `Developer Tools` -> `Replace Textures` 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`. + + +### How to add 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 right folder `~/retrodeck/texture_packs/ppsspp/` diff --git a/wiki-rtd/Playstation-3:-RPCS3.md b/wiki-rtd/Playstation-3:-RPCS3.md new file mode 100644 index 00000000..0e82ea03 --- /dev/null +++ b/wiki-rtd/Playstation-3:-RPCS3.md @@ -0,0 +1,87 @@ +# Where to put the games? +PS3 games comes either as a Blu-ray rip directory (folder) with a bunch of different files or a digital PSN title that needs to be installed (see guide on this page). + +PS3 games should be put under the `retrodeck/roms/ps3/` directory. + +# How to: Install the PS3UPDAT.PUP firmware + +There are two ways to install the firmware: + +## Install PS3 firmware from RetroDECK Configurator + +1. Open RPCS3 `RetroDECK Configurator` - `RetroDECK: Tools` - `Install: PS3 Firmware`. +2. Press `OK` and this will download the PS3 Firmware and open RPCS3. +3. You will get a prompt asking if you want to install the firmware from the /tmp/ folder, say `Yes` +4. Wait for the installation to finish +5. Exit RPCS3 from the GUI under `File -> Exit` + +## Manual Download +1. Download the latest PS3 firmware `PS3UPDAT.PUP` from Sony [here](https://www.playstation.com/en-us/support/hardware/ps3/system-software/) +2. Open RPCS3 `RetroDECK Configurator -> Open Emulator -> RPCS3`. +3. In the RPCS3 interface navigate to `File -> Install Firmware`. +4. In the file browser navigate and select the file `PS3UPDAT.PUP` file. +5. The firmware should now be installed. + +# How to: Get games to show up inside the ES-DE interface +To get the games to show up you need to rename the directory to end with a `.ps3` file extension. + +_Example:_ + +You have directory dump of the a game Blu-ray PlayStation 3 game called Hockey World, the directory is called `Hockey World`. + +To get the it to show up you need to rename and add `.ps3` in the end of the directory name. + +The directory `Hockey World` becomes `Hockey World.ps3` and the game will show up. + + +# How to: Install DLC or patches on disc based games + +**NOTE:** On the Steam Deck this could be easier to do in `Desktop Mode`. If you want to do it in `Game Mode` you need to press the `Steam` button and switch between windows using the window switcher. + +If you want to install some DLC or patch you can do that trough RPCS3 itself. + +1. Open RPCS3 `RetroDECK Configurator -> Open Emulator -> RPCS3`. +2. In the RPCS3 interface navigate to `File -> Install Packages/Raps/Edats`. +3. In the file browser navigate and select the file you want to install. +4. The file will be installed inside the a new game directory on the RPCS3 hard drive under + `retrodeck/bios/rpcs3/dev_hdd0/game/GAMEID` where `GAMEID` is unique for each game [PS3GAMEID-List](https://www.gametdb.com/PS3/List). +5. The patches or dlc should now be installed and in the GAMEID directory. +6. Move the content of the GAMEID directory into the games directory inside the `retrodeck/roms/ps3/GAMENAME.ps3` directory and overwrite & replace the files. +8. You can now remove the `retrodeck/bios/rpcs3/dev_hdd0/game/GAMEID` directory as the files have been moved. +9. The game can be launched inside the ES-DE interface with patches and DLC installed. + +_Example:_ + +The game `Hockey World.ps3` inside the `retrodeck/roms/ps3/` has some DLC & and a patch you want to install. + +You follow the above guide and install the files. + +The installation made a newly created directory called `BCA111111` under `retrodeck/bios/rpcs3/dev_hdd0/game/`. + +You open up the directory `retrodeck/bios/rpcs3/dev_hdd0/game/BCA111111` and copy all of it's content and paste it into `retrodeck/roms/ps3/Hockey World.ps3` directory and replace/overwrite the files. + +You can then remove the `BCA111111` directory in `retrodeck/bios/rpcs3/dev_hdd0/game/` + +# How to: Install digital PSN titles + +**NOTE:** On the Steam Deck this could be easier to do in `Desktop Mode`. If you want to do it in `Game Mode` you need to press the `Steam` button and switch between windows using the window switcher. + +If you want to install some PSN tiltes you can do that trough RPCS3 itself. + +1. Open RPCS3 `RetroDECK Configurator -> Open Emulator -> RPCS3`. +2. In the RPCS3 interface navigate to `File -> Install Packages/Raps/Edats`. +3. In the file browser navigate and select the file you want to install. +4. The file will be installed inside the games directory on the RPCS3 hard drive under + `retrodeck/bios/rpcs3/dev_hdd0/game/GAMEID` where `GAMEID` is unique for each game [PS3GAMEID-List](https://www.gametdb.com/PS3/List). +5. Install any patches or DLC for the game by repeating step .2 and .3 for each file. +6. After the game is ready move the digital games directory from `retrodeck/bios/rpcs3/dev_hdd0/game/GAMEID` to `retrodeck/roms/ps3` +7. Rename the directory to the name of the game and add the .ps3 file extension to the end of the directory (see guide on top). +8. The game should now show up and be playable inside the ES-DE interface. + + +_Example:_ + +You installed a file that contained the digital game Hockey World 2, it created a directory called `BCA123456` under `retrodeck/bios/rpcs3/dev_hdd0/game/` + +After that you moved `BCA123456` from `retrodeck/bios/rpcs3/dev_hdd0/game/` to `retrodeck/roms/ps3`. +The directory `BCA123456` is renamed to `Hockey World 2.ps3`. \ No newline at end of file diff --git a/wiki-rtd/RetroArch-Mesen:-Texture-Packs.md b/wiki-rtd/RetroArch-Mesen:-Texture-Packs.md new file mode 100644 index 00000000..1703070a --- /dev/null +++ b/wiki-rtd/RetroArch-Mesen:-Texture-Packs.md @@ -0,0 +1,30 @@ +# 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`. + +1. Extract the `ScaryCastle TexturePACK HD.zip` +2. Move the extracted `ScaryCastle TexturePACK HD` folder into `texture_packs/RetroArch-Mesen/` +3. Rename the `ScaryCastle TexturePACK HD` folder so it has the same name as the rom `ScaryCastle USA` without the `.nes` file extension. +9. Start up RetroDECK and select the ScaryCastle nes games.
+**NOTE:** On the Steam Deck go into GameMode first, then launch RetroDECK. \ No newline at end of file diff --git a/wiki-rtd/RetroArch-Mupen64Plus-Next:-Texture-Packs.md b/wiki-rtd/RetroArch-Mupen64Plus-Next:-Texture-Packs.md new file mode 100644 index 00000000..f01f921e --- /dev/null +++ b/wiki-rtd/RetroArch-Mupen64Plus-Next:-Texture-Packs.md @@ -0,0 +1,42 @@ +# RetroArch - N64 - Mupen64Plus-Next + +The `texture_packs/RetroArch-Mupen64Plus/` represents `/retroarch/system/Mupen64plus/` folder. + +**Note:**
+Some texture packs could made for a specific version or region of the game. Make sure you have the right rom and textures for it. + +## Enable Texture Packs in the Mupen64Plus-Next core for certain games + +From the `RetroArch Quick Menu` + +* Go to `Core Options` -> `GLideN64` -> + +`Use High-Res Textures` set to `On`
+ +`Cache Textures` set to `On`
+ +`Use High-Res Full Alpha Channel` set to `On`
+ +`Use Hi-Res Storage` set to `On`
+ +Then save the current configuration for that game under `Core Options` -> `Manage Core Options` -> `Save Game Options` + +**Optional:** + +`Use High-Res Texture Cache Compression` set to `On` - compresses uncompressed HD Textures into .hts files. + + + + +## How do I 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`. + +* All texture packs go into the `texture_packs//RetroArch-Mupen64Plus/hires_texture/` or `texture_packs/RetroArch-Mupen64Plus/cache/` folder. +* The texture pack have to be extracted from .zip or other compressed format into a folder. + +## Compressed textures in .hts files +Compressed textures that are stored in `.hts` files goes into the `texture_packs/RetroArch-Mupen64Plus/cache/` folder. + +## Uncompressed textures in loose folders or files +Uncompressed textures that are stored in in loose folders or files goes into the `texture_packs/RetroArch-Mupen64Plus/hires_texture/` folder. diff --git a/wiki-rtd/RetroDECK:-CLI.md b/wiki-rtd/RetroDECK:-CLI.md new file mode 100644 index 00000000..637fb3d2 --- /dev/null +++ b/wiki-rtd/RetroDECK:-CLI.md @@ -0,0 +1,79 @@ +# How do I run RetroDECK CLI commands? + +Open a Linux terminal on your desktop (on the Steam Deck you need to be in desktop mode). Depending on what terminal application you have installed the naming of the application can be different.
+ +In Linux distributions that uses KDE desktop environment as well as the Steam Deck; the default application is called _Konsole_. +
+The default command to run retrodeck options and arguments is: + +`flatpak run [FLATPAK-RUN-OPTION] net.retrodeck.retrodeck [ARGUMENTS]` + +Where `[FLATPAK-RUN-OPTION]` is replaced by a flatpak run option (if there is one) and `[ARGUMENTS]` is replaced by arguments. + +**Example:** + +This syntax runs the `--reset-all` argument that resets the application to default settings. + +`flatpak run net.retrodeck-retrodeck --reset-all` + +Where the argument `--reset-all` replaced `[ARGUMENTS]` and `[FLATPAK-RUN-OPTION]`was not needed to it was removed. + +# CLI argument list + +`-h` or `--help` - Prints all the available arguments. + +`-v` or `--version` - Prints the installed RetroDECK version + +`--info-msg` - Prints all the folder paths and various config information. + +`--configurator` - Starts the RetroDECK configurator + +`--compress` - Compresses a specific file to .chd format. It supports .cue .iso and .gdi formats. You need to add the filepath to the file for it to work. + +`--reset-emulator` - Opens a new input where you can input an argument to reset a specific emulator or all emulators to the default settings. Inside the prompt you can type one of the following options to reset it; + +`all-emulators` +`retroarch` +`citra` +`dolphin` +`duckstation` +`melonds` +`pcsx2` +`ppsspp` +`primehack` +`rpcs3` +`xemu` +`yuzu` + +`--reset-retrodeck` - Resets the entirety of RetroDECK to default settings! +
+⚠️ WARNING! BACK UP YOUR DATA BEFORE RUNNING THIS ARGUMENT! ⚠️ + +# General flatpak commands + +If you want to check RetroDECK's flathub page [click here](https://flathub.org/apps/details/net.retrodeck.retrodeck)
+Here follows some general flatpak commands that could be useful:
+ + +## Install RetroDECK from CLI + +If you want to install RetroDECK from CLI type:
+`flatpak install flathub net.retrodeck.retrodeck` + +NOTE! This will work on the Steam Deck out of the box.
+But on the Linux desktop you need to check your distribution if it ships with both Flatpak and Flathub integration installed, if not you may need to install it. Check your distributions or flathubs documentation on how to install it on your desktop. + +## Update all flatpaks from CLI + +If you want to update all installed flatpaks from CLI type:
+`flatpak update` + +Then answer `y` on the input prompt. + +## Update only RetroDECK from CLI + +If you just want to update RetroDECK type:
+ +`flatpak update net.retrodeck.retrodeck` + +Then answer `y` on the input prompt. \ No newline at end of file diff --git a/wiki-rtd/RetroDECK:-Configurator.md b/wiki-rtd/RetroDECK:-Configurator.md new file mode 100644 index 00000000..8490b387 --- /dev/null +++ b/wiki-rtd/RetroDECK:-Configurator.md @@ -0,0 +1,154 @@ +# The RetroDECK Configurator + +The `RetroDECK Configurator` is a unique multi-use toolbox that exists within RetroDECK to manage/configure/change/reset/edit many aspect of the application and built around the `RetroDECK Framework`. + +The`RetroDECK Configurator` can be found: + +* In the main menu inside the ES-DE interface + +* From CLI + +* From the `.desktop` desktop shortcut. + +What follows are the commands you can use inside the Configurator (more commands will be added during development). + +# Presets & Settings + +In this menu you can set various presets. + +## Global: Presets & Settings +In this menu you will find presets and settings that span over multiple emulators. + +### RetroAchivements: Login +Login to RetroAchievements in all supported emulators and cores. + +### RetroAchivements: Logut +Logut from RetroAchievements in all supported emulators and cores. + +### RetroAchivements: Hardcore Mode +Enables `Hardcore Mode` from RetroAchievements in all supported emulators and cores. + +### Widescreen: Enable/Disable +Enables or disable Widescreen in all supported emulators and cores. + +### Swap A/B and X/Y: Enable/Disable +Swaps `A/B` `X/Y` in all supported emulators and cores. + +### Ask to Exit prompt: Enable/Disable +Enables or disables ask to exit prompts in all supported emulators and cores. +Note: If you disable this, the emulators will directly exit. + +## RetroArch: Presets & Settings +In this menu you will find presets and settings for RetroArch. + +### Borders: Enable/Disable + +Enable / Disable borders across the RetroArch cores you choose. + +### Rewind: Enable/Disable + +Enable / Disable rewind across all of RetroArch (this may impact performance on some more demanding systems). + +## Wii & Gamecube: Presets & Settings +In this menu you will find presets and settings for Dolphin and Primehack. + +### Dolphin Textures: Universal Dynamic Input +Enable / Disable Venomalias's Universal Dynamic Input Texture for Dolphin. + +### Primehack Textures: Universal Dynamic Input +Enable / Disable Venomalias's Universal Dynamic Input Texture for Primehack. + +# Open Emulator +Here you launch and configure each emulators settings, the option you choose will open that emulators GUI. For documentation on how to change the settings of each emulators settings please check the website of each emulator. + +(Please note that several emulators where not designed with controller input in mind for handling the applications GUI, just the games. So you might need to use other inputs like the Steam Decks touchscreen or a mouse and key board to navigate properly). + +The options are the following: + +## RetroArch +Opens RetroArch + +## Citra +Opens Citra + +## Dolphin +Opens Dolphin + +## Duckstation +Opens Duckstation + +## MelonDS +Opens MelonDS + +## PCSX2 +Opens PCSX2 + +## PPSSPP +Opens PPSSPP + +## RPCS3 +Opens RPCS3 + +## XEMU +Opens XEMU + +## Yuzu +Opens Yuzu + +# RetroDECK: Tools + +## Tool: Move files + +This option lets you choose the installation path of the RetroDECK folder that handles ROMS,Saves, BIOS etc... to a new location. +You get the following three options. + +`Internal Storage` - Moves the folder to the internal storage.
+`SD CARD` - Moves the folder to the SD CARD
+`Custom Location` - Choose where you want the RetroDECK folder to be.
+ +## Tool: Compress games +This option enables you to compress disc based game image files `.gdi` `.iso` `.bin` `.cue` to the less space demanding `.chd` format. +You can choose either a single game or many. + +## Install: RetroDECK SD Controller Profile +This option installs the Steam Deck controller profile to RetroDECK it also resets all emulators configurations to input the correct bindings. + +## Install: PS3 Firmware +This option downloads and installs the latest PS3 firmware. You will have to press OK to install it. + +## RetroDECK: Change update settings +This option lets you turn on or off automatic updates on launch. + +# RetroDECK: Troubleshooting + +## Backup: RetroDECK Userdata +Creates backups of the user data folders + +## Check & Verify: Multi-file structure +Verifies to the structure of multi disc/file games that uses `.m3u` files. + +## Check & Verify: BIOS +Shows a detailed BIOS list of missing and current BIOS. + +## RetroDECK: Reset +The reset menu resets various features + +### Reset Specific Emulator +Opens up a menu where you can reset a specific emulator + +### Reset All Emulators +Resets all the emulators at once + +### Reset RetroDECK +Resets the entirety of RetroDECK. + +⚠️ WARNING! BACK UP YOUR DATA BEFORE RUNNING THIS! ⚠️ + +# RetroDECK: About +This menu contains information about RetroDECK + +## Version history +Displays the changelogs + +## Credits +Displays the credits \ No newline at end of file diff --git a/wiki-rtd/RetroDECK:-Credits-and-The-Team.md b/wiki-rtd/RetroDECK:-Credits-and-The-Team.md new file mode 100644 index 00000000..40835378 --- /dev/null +++ b/wiki-rtd/RetroDECK:-Credits-and-The-Team.md @@ -0,0 +1,99 @@ +# Credits & The Team + +This is the page where we try to introduce the team and thank everyone who have contributed to the project so far.
+If you feel you have contributed to the project but lacks mention, please contact us on discord!
+ +# The Team + +## Community Management + +### [Lazorne](https://github.com/Lazorne) +Community management/outreach, testing, documentation, feature suggestions and some design. + +
. +Internal meme lord and leader of the "Nordic Pizza Heresy Cult". Instigator of the internal pizza war and "Banana Warlock". +
+ +## Developers + +### [XargonWan](https://github.com/XargonWan) +RetroDECK project founder and also one of the founding members of [AmberELEC](https://amberelec.org/). + +
. +General of the "Italian Pizza Legion" in the internal pizza war. +
+ +### [IceNine451](https://github.com/icenine451) +Creator of the `RetroDECK configurator`, the `RetroDECK Framework` and various cool things. + +
. +Freedom loving leader of the "Murican Cheese Crust Patriots" in the internal pizza war. +
+ +### [Lx32](https://github.com/Lx32) +Develops various new features, functions and tools. + + +
. +1st Commander of the "Italian Pizza Legion" in the internal pizza war. +
+ +## Testers + +### [dottormac](https://github.com/redeemer666) +Does bleeding edge cooker testing (lives in the danger zone), some feature suggestions and design. + +
. +2nd Commander of the "Italian Pizza Legion" in the internal pizza war (might be a spy for the Nordic Cult or Muricans). +
+ +# Collaborators + +### [Niroku / Atari](https://github.com/Hew-ux) +Helps with community management, is also part of [Batocera](https://batocera.org/) + +### [Leon Styhre](https://gitlab.com/leonstyhre) +Maker of EmulationStation Desktop Edition + +### [anthonycaccese](https://github.com/anthonycaccese/) +Theme creator for ES-DE and [AmberELEC](https://amberelec.org/) + +### [Zurdi](https://github.com/zurdi15) +Creator of RomM and other projects. + +# Additional credits + +### [RavenKilit](https://github.com/RavenKilit) +Did some code and testning, contributed to [AmberELEC](https://amberelec.org/) + +### MorGuux +Made the RetroDECK steamdb graphics for the old logo + +### Pixelguin +Made the new logo and steamdb graphics + +### teotwaki +Generous cloud hosting sponsor + +### [Gabeboii](https://github.com/gabeeeboii) +Webmaster + +### Draco +Server Administration + +### [ItzSelenux](https://github.com/ItzSelenux) +Maker of [pixelitos](https://github.com/ItzSelenux/pixelitos-icon-theme) + +### [Kenny.nl](https://twitter.com/KenneyNL) +[The Kenny.nl project](https://www.kenney.nl/) provides several free game assets under open licenses. + +# Special Thanks + We want give special thanks to: +* Our [Patreons](https://www.patreon.com/RetroDECK) that keeps the build servers running and provide feedback. +* All related emulation projects. +* 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. +* All the community creators who creates various art and assets for the community. + +You are the ones that makes this project possible. \ No newline at end of file diff --git a/wiki-rtd/RetroDECK:-Folders-and-filepaths.md b/wiki-rtd/RetroDECK:-Folders-and-filepaths.md new file mode 100644 index 00000000..45b61192 --- /dev/null +++ b/wiki-rtd/RetroDECK:-Folders-and-filepaths.md @@ -0,0 +1,71 @@ +# What are the various folders and filepaths in RetroDECK? + +RetroDECK is a Flatpak a sandboxed bundle of different applications and configurations. One part of the files are none writable while others are. + +### `~/retrodeck` +It's the home folder of RetroDECK itself, it contains: +- `bios`, the bios folder, the actual `retroarch/system` folder is poiting here `~/.var/app/net.retrodeck.retrodeck/config/emulationstation/.emulationstation/downloaded_media` is pointing here +- `.downloaded_media`, this is where you scraped data is saved (images, videos, logos..), +- `.lock`, this file tells RetroDECK that the settings are done and to not reset them, if this file is missing it will trigger a first boot showing the setup. Here is written the software version that is compared to the actual version to check if an update is needed. +- `.logs`, logs folder +- `roms`, if internal is chosen the roms folder is here, otherwise it's in `/retrodeck/roms` +- `saves`, emulators saves file location +- `screenshots`, emulators screenshots location +- `states`, emulators save states location +- `gamelists`, RetroDECK's gamelist location +- `texture_packs`, emulators texture packs location +- `mods`, emulators mods location +- `.themes`, additional themes folder, `~/.var/app/net.retrodeck.retrodeck/config/emulationstation/.emulationstation/themes` is poiting here + +### `~/.var/app/net.retrodeck.retrodeck` +This folder is the only flatpak folder that is editable user side, it's mapped as `/var` in the flatpak itself, from now on we will use the flatpak paths unless differently specified. + +### `/var` +- `config`, contains all the various software configs such as RetroDECK, retroarch folder and standalones emulator configs +-- `retroarch`, the retroarch folder (see below) +-- `emulationstation`, emulationstation home folder (see below) +-- `retrodeck`, to not be confued with `~/retrodeck/`, this folder contains the retrodeck configs, see below. +-- various standalone emulators config folders such as `yuzu`, `pcsx2`, `melonDS`, `dolphin-emu` and so on. + +### `/var/config/retroarch` +- `system`, retroarch bios (system) folder, this points to `~/retrodeck/bios` +- `core`, retroarch cores folder, this is populated by `/app/share/libretro/cores` at the first startup (or with `--reset`, `--reset-ra`) +- `retroarch.cfg`, the retroarch config, the original one is located in `/app/retrodeck/emu-configs/retroarch.cfg`, and similarly to above it's generated at the first startup + +### `/var/config/emulationstation` +- `ROMs`, this is linked to the roms folder in `~/retroeck/roms`or `/roms` +- `.emulationstation`, ES-DE main folder +-- `custom_systems`, where the customs systems are kept (example the tools file), check the official ES-DE docs for more info. +-- `downloaded_media`, this points to `~/retrodeck/.downloaded_media` +-- `themes`, this points to `~/retrodeck/.themes` +-- `es_log.txt`, ES-DE log file +-- `es_settings.xml`, ES-DE settings file +### `/var/config/retrodeck` +- `tools` +- `version`, this file carries the RetroDECK version number and it ś generated during the flatpak build. + +### `/var/data` +Some emulators, like yuzu, needs this path, here for example is even symlinked the yuzu keys and firmware folder. + +### `/var/lib/flatpak/app/net.retrodeck.retrodeck/current/active/files` +This is mapped as the `/app` folder in flatpak, this folder is inside the read only file system and so all this tree is immutable (actually can be edited by root for develop purposes).
+FYI: you can edit the with KWrite, it justs ask you for the root password when saving. + +### `/app/bin` +All the binary files, like `retrodeck.sh`, the main program (wrapper). +All these programs can be launched in developer mode just invoking them in the terminal. + +### `/app/retrodeck` +This folder contains the default configuration that is restored with the various `--reset` commands. +- `emu-configs` +- `steam` +- `tools` +- `es_settings.xml` +- `tools-gamelist.xml` + +### `/var/lib/flatpak/app/net.retrodeck.retrodeck/current/active/files` +Non-flatpak path: this folders contain file such as the .desktop, icons, etc. + + + + diff --git a/wiki-rtd/RetroDECK:-Social-media-rules.md b/wiki-rtd/RetroDECK:-Social-media-rules.md new file mode 100644 index 00000000..860dfff2 --- /dev/null +++ b/wiki-rtd/RetroDECK:-Social-media-rules.md @@ -0,0 +1,80 @@ +# Discord + +## Rules: DO NOT + +1. DO NOT: Discuss any type of piracy whatsoever. + +2. DO NOT: Ask for roms, bios, games and where/how to find them and don't PM the RetroDECK team members about it either. + +3. DO NOT: Post NSFW & NSFL content. + +4. DO NOT: Try to sell or promote your products and/or services, this is not a store or a marketplace (discussing experiences, asking for advice and reviews of products related to gaming and retro gaming is fine). + +5. DO NOT: Post hateful comments. + +6. DO NOT: Discuss your political or religious viewpoints here. + +7. DO NOT: Attack server members in the channels or private in PMs on: political viewpoints, religious/non religious believes, gender, race, sexual orientation, age or any other way (if you have been attacked please message a mod in a PM). + +8. DO NOT: Spam or flood the channels. + +9. DO NOT: Share information or pictures about leaked games. + +10. DO NOT: spoil any new or old game or media. If you want to write about it, use the ||spoiler tag|| to prevent to ruin other user's fruition. + +
Rule 42 + +DO NOT : Break the space time continuum with time travel and/or para dimensional travelling. + +
+ +## Rules: DO + +11. DO: Try to keep memes, light spam and funny posts in the ⁠🐸-random-memes channel (however flooding is always prohibited and all server rules must till be respected even in this channel). + +12. DO: Be patient, be polite, don’t swear and be respectful to each other. + +13. DO: Try your best to keep the topic in the correct channel. + +14. DO: Try your best to help each other. + +15. DO: Be mindful that the RetroDECK team is working on this project out of passion and spending their own free time to make it happen. You can't expect 24/7 hours support and help. When you do feel the need to ask for help or advice from the RetroDECK team respect rule 11. + + + +# Lemmy / Reddit + +### 1. DO NOT: Post links/discussion of illegal, copyrighted, pirated or leaked content. + +* Post links directly to pirated games, ROMs, BIOSes or shader caches. +* Partake in discussion or encouragement to in piracy. +* Ask for technical support for pirated games/software. +* Post links or discussions to leaked content of any kind. +* Censoring or obfuscating parts of an link to any part of the content above to bypass filters. + +### 2. DO NOT: Post NSFW & NSFL content. + +### 3. DO NOT: Make posts about: buying, selling, trading, begging, giveaways, self or crowd-funding without asking. + +* You can’t promote crowd-funding, begging, affiliate links or other form of raising funds without asking. +* Discussing experiences, giving advice or reviews of products related to gaming and retro gaming is always OK! +* All promotions or marketing must be vetted and approved by the RetroDECK team on Discord. + +### 4. DO NOT: Make posts about anything other then RetroDECK, Emulation or community relevant content. + +### 5. DO NOT: Post hateful comments or posts. + +* Don’t attack any community member on: political viewpoints, religious/non religious believes, gender, race, sexual orientation, age or any other way (if you have been attacked please message the a mod here or on discord). +* Be patient, be polite, be kind, don’t swear and be respectful to each other. + +### 6. DO NOT: Discuss your political or religious viewpoints here. + +### 7. DO NOT: Spread misinformation + +* Spread intentional misinformation. +* Impersonate another: entity, company or person. + + + +# Vivi e lascia vivere +// RetroDECK Team \ No newline at end of file diff --git a/wiki-rtd/RetroDECK:-The-story-of-RetroDECK.md b/wiki-rtd/RetroDECK:-The-story-of-RetroDECK.md new file mode 100644 index 00000000..3e19af99 --- /dev/null +++ b/wiki-rtd/RetroDECK:-The-story-of-RetroDECK.md @@ -0,0 +1,14 @@ +# How RetroDECK was born? +Let's take a step back. + +RetroDECK was born on March 4th 2022 in Kyoto, Japan, with the name of [351EDECK](https://imgur.com/a/tGC9ZGO) because I am also one of the founding members of 351ELEC, now [AmberELEC](https://amberelec.org/). +What I wanted to do was to "port" 351ELEC to the Steam Deck, but instead of doing a custom firmware to flash, doing it as an application that could be launched from Steam. +Eventually, after talking to the other team members, we decided that we didn't want to support another platform such as Steam Deck, so I decided to continue the project on my own, renaming it to RetroDECK. + +Back then I had many options on how to create 351EDECK, such as a bash script, appimage and flatpak. +In the beginning I opted for a simple shell script, in fact RetroDECK/351EDECK v0.1a existed as a mere shell script. +However I had bad feedbacks from the community because someone was feeling unsafe to give my script the root privileges so evaluating the Steam Deck use case I felt like it was not the right direction to take, the people was not feeling comfortable to give the sudo to a random script downloaded from the internet, so they asked to packetize it in some way. + +Valve suggests the flatpak technology to port the applications on Steam Deck so, I decided to follow their guidelines, and I created the RetroDECK that you know today, starting from a Manjaro virtual machine as a development environment because I didn't have a Steam Deck yet. + +-Xargon \ No newline at end of file diff --git a/wiki-rtd/Steam-Deck:-Hotkeys-and-controls.md b/wiki-rtd/Steam-Deck:-Hotkeys-and-controls.md new file mode 100644 index 00000000..752809a7 --- /dev/null +++ b/wiki-rtd/Steam-Deck:-Hotkeys-and-controls.md @@ -0,0 +1,330 @@ +# General information + +[I see SA refereed in documentation about emulators what does it mean?](https://github.com/XargonWan/RetroDECK/wiki/FAQs%3A-Frequently-asked-questions#i-see-sa-refereed-in-documentation-about-emulators-what-does-it-mean) +## Different controller layouts in games + +### Xbox layout - Steam Deck +The Steam Deck uses the Xbox button layout as it's physical buttons. + +**Steam Deck/Xbox button layout:**
+ +| Button Placement | Button | +| :--- | :---: | +| Top | `Y` | +| Left | `X` | +| Right | `B` | +| Bottom | `A` | + +### Nintendo Layout +Nintendo systems uses the Nintendo layout in game where both the Y-X and A-B buttons have switched places with each other from the Steam Decks physical button layout. You can enable a mode that switches the Y-X and A-B buttons for supported Emulators inside the `RetroDECK Configurator`. + +
+ +**Nintendo - button layout:**
+| Button Placement | Button | +| :--- | :---: | +| Top | `X` | +| Left | `Y` | +| Right | `A` | +| Bottom | `B` | + + +**Example:**
+So if you are emulating a Nintendo game that calls for the button A to be pressed it corresponds to the right button on the Steam Deck so button B. + + +### Sony PlayStation Layout +The Sony PlayStation uses it's icon glyphs to represent it's buttons. + +**Sony PlayStation - button layout:**
+| Button Placement | Button | +| :--- | :---: | +| Top | `Triangle` | +| Left | `Square` | +| Right | `Circle` | +| Bottom | `X` | + +**Example:**
+So if you are emulating a PlayStation game that calls for the button Triangle to be pressed it corresponds to the top button on the Steam Deck so button Y. + +**Regional differences:** + +Depending on the region of your Playstation game, the buttons `Circle` and `X` switches the meaning for confirm and cancel (they are still at the same physical location). But it is good to keep in mind if you are used to exiting out of menus with a certain button and wondering why it works in some games while others not. + +**Example:** + +In the EU/US `X` is confirm while in Japan `X` is cancel. + +# Steam Deck Controller Guide - A Visual Introduction +If you are looking for a general guide on how to use the Steam Deck controls beyond RetroDECK please check this steam community guide:
+[Steam Deck Controller Guide - A Visual Introduction](https://steamcommunity.com/sharedfiles/filedetails/?id=2804823261) + + + +# RetroDECK Official Controller Layout: Hotkeys: + +### Current version of the layout +0.7.1b that is written on this wiki + +## Information +Be sure to have the `RetroDECK: Official Controller Layout` activated from the `Templates`. +- Add the Official Layout under `Controller Settings` -> `Controller Layouts` -> `Templates` in the Steam Deck called `RetroDECK: Official Layout` with a version number and apply + +Read more on
[[Steam Deck: Installation and updates]] + +## Everything is customizable +You are free to rebind the keys as you see fit in the RetroDECK: Official Layout profile and make your own to better suit your needs.
+But if you rebind the keys inside RetroDECK there can be a risk that an upcoming update will revert your changes if the emulators made changes to the keybindings for the hotkeys.
+Also note that if you break your controller profile with your tinkering please revert the RetroDECK's official profile. + +## 🚧 Please READ: 🚧 + +**Not all Emulators has hotkey support; some have partial support, some has none and some has a majority implemented** + +The plan is to map as much as we can into the RetroDECK Hotkey System below. We are also patching in Emulator Hotkeys with the `RetroDECK Framework` (if possible) to be compatible with the system. If a emulators later versions adds better hotkey support we plan to map it towards the same functions bellow for a unified experience across as many emulators as possible. + +### Known issues +* `PPSSPP` has a bug in with multi-input hotkeys in their flatpak version, so we did a workaround and bound ESC is Open Menu. This allows you to access all of the emulator features and can quit. +* `RPCS3` hotkeys/shortcuts do not work and they are a new experimental feature. To exit you have to shut down RPCS3 from the `Switch Window` inside the Steam Deck interface. +* `CEMU` has almost no hotkey support. +* `XEMU` has no hotkey support. +* `Citra` is the only dual-screen emulator that allows a hotkey for changing the screen layout, others: `MelonDS`, `RetroArch`, `Cemu` has no hotkey for it. + +## Global Hotkeys: Button Combos + +### The hotkey button +The `HK` or `hotkey button` on the Steam Deck is `L4` or `R4` or `Select` depending on what is closest for the button combo you are trying to press, all trigger the same functions. + +**Example:** + +You want to do the command `Pause / Resume`.
+You press and hold either `L4` or `R4` or `Select` and press `A` to trigger the command. + +### Button combo list +The global hotkeys are activated by pressing the hotkey button and holding it while pressing the corresponding other button input. +What follows is a list of hotkeys: + +`Command` Shows what the hotkey does.
+`Button / Combination` Shows the input you need to make to trigger the command.
+`Keyboard Command` Shows what is being sent to the emulator.
+`Emulator Support` Shows what emulators support the command.
+`Comment` Just extra comments.
+ + + +| Command | Button / Combination| Keyboard Command | Emulator Support | Comment | +| :--- | :---: | :---: | :---: | :---: | +| Pause / Resume | `HK + A` | `CTRL + P` | `RetroArch` `Citra` `Dolphin/Primehack` `Duckstation` `MelonDS` `PCSX2` `Yuzu` | | +| Take Screenshot | `HK + B` | `CTRL + X` | `RetroArch` `Citra` `Dolphin/Primehack` `Duckstation` `PCSX2` `Yuzu` | | +| Fullscreen Toggle | `HK + X` | `CTRL + ENTER` | `Citra` `Dolphin/Primehack` `Duckstation` `MelonDS` `PCSX2` `Yuzu` | | +| Previous State Slot | `HK + D-Pad Left` | `CTRL + J` | `RetroArch` `Dolphin/Primehack` `Duckstation` `PCSX2`| | | +| Next State Slot | `HK + D-Pad Right` | `CTRL + K` | `RetroArch` `Dolphin/Primehack` `Duckstation` `PCSX2`| +| Increase Emulation Speed | `HK + D-Pad Up` | `CTRL + 1` | `Citra` `Dolphin/Primehack` `Duckstation` `PCSX2`| | | +| Decrease Emulation Speed | `HK + D-Pad Down` | `CTRL + 2` | `Citra` `Dolphin/Primehack` `Duckstation` `PCSX2`| | | +| Load State | `HK + L1` | `CTRL + A` | `RetroArch` `Citra` `Dolphin/Primehack` `Duckstation` `PCSX2` | | +| Save State | `HK + R1` | `CTRL + S` | `RetroArch` `Citra` `Dolphin/Primehack` `Duckstation` `PCSX2` | | +| Rewind | `HK + L2` | `CTRL + -` | `RetroArch` `Duckstation` | | +| Fast forward | `HK + R2` | `CTRL + +` | `RetroArch` `Duckstation` `MelonDS` `PCSX2` | | +| Swap Screens | `HK + L3` | `CTRL + TAB` | `Citra` `MelonDS` `Cemu` | | +| Open Menu | `HK + Y` | `CTRL + M` | `RetroArch` `Duckstation` `PCSX2` `Yuzu` | | +| Exit Emulator | `HK + Start` | `CTRL + Q` |`RetroArch` `Citra` `Dolphin/Primehack` `Duckstation` `PCSX2` `Yuzu` | | +| Escape | `HK + R3` | `ESC` | `PPSSPP` | | + + + + +### RetroArch: Additional Hotkeys + +These hotkeys also work for RetroArch and are built in. + +| Command | Button / Combination | Emulator Support | Comment | +| :--- | :---: | :---: | :---: | +| Open Menu | `L3 + R3` | `RetroArch` | | + +### Arcade Systems: Additional Hotkeys + +This hotkey work for RetroArch, MAME, FBNEO and other arcade systems. + +| Command | Button / Combination | Emulator Support | Comment | +| :--- | :---: | :---: | :---: | +| Insert Credit | `Select` | `RetroArch` | | + + +# Steam Deck - Radial Menu System + +What follows is a breakdown of the Radial System that you access on the `Left Touchpad`. + +### Is there a quick way to go back to the top of the radial menu system? +Yes, just press on the `HK` trigger buttons: `L4` or `R4` or `Select` + +## Radial Menu System +`Radial Button` Shows what the hotkey does.
+`Keyboard Command` Shows what is being sent to the emulator.
+`Emulator Support` Shows what emulators support the command.
+`Comment` Just extra comments.
+ +**NOTE:** + +Like everything in RetroDECK we plan to make revisions and updates of the menus. We hope with time be able to add more emulators and even better art. + +## Main Menu +The `Main Menu` gives you access to all the menus bellow. + +## Quick +The `Quick Menu` or `Quick Access Menu` Menu is the most populated menu. It features "best of" options from other menus. + +| Radial Button | Keyboard Command | Emulator Support | Comment | +| :--- | :---: | :---: | :---: | +| Exit Emulator | `Ctrl + Q` | `RetroArch` `Citra` `Dolphin/Primehack` `Duckstation` `PCSX2` `Yuzu` | | +| Open Menu | `Ctrl + M` | `RetroArch` `Duckstation` `PCSX2` `Yuzu` | | +| Swap Screens | `Ctrl + Tab` | `Citra` `MelonDS` `Cemu` | | +| Take Screenshot | `Ctrl + X` | `RetroArch` `Citra` `Dolphin/Primehack` `Duckstation` `PCSX2` `Yuzu` | | +| Save State | `Ctrl + S` |`RetroArch` `Dolphin/Primehack` `Duckstation` `PCSX2` | | +| Load State | `Ctrl + A` | `RetroArch` `Dolphin/Primehack` `Duckstation` `PCSX2` | | +| Pause / Resume | `Ctrl + P` | `RetroArch` `Citra` `Dolphin/Primehack` `Duckstation` `MelonDS` `PCSX2` `Yuzu` | | +| Fullscreen Toggle | `Ctrl + Enter` |`Citra` `Dolphin/Primehack` `Duckstation` `MelonDS` `PCSX2` `Yuzu` | | +| Restart / Reset | `CTRL + R` |`RetroArch` `Citra` `Dolphin/Primehack` `Duckstation` `MelonDS` `PCSX2` `Yuzu` | | +| Escape | `ESC` | `PPSSPP` | | + +## State +The `State Menu` is the menu where you handle anything to do with saving and loading states. + + +| Radial Button | Keyboard Command | Emulator Support | Comment | +| :--- | :---: | :---: | :---: | +| Previous State | `Ctrl + J` |`RetroArch` `Dolphin/Primehack` `Duckstation` `PCSX2` | | +| Next State | `Ctrl + K` |`RetroArch` `Dolphin/Primehack` `Duckstation` `PCSX2` | | +| Save State | `Ctrl + S` |`RetroArch` `Dolphin/Primehack` `Duckstation` `PCSX2` | | +| Load State | `Ctrl + A` | `RetroArch` `Dolphin/Primehack` `Duckstation` `PCSX2` | | +| Undo Load State | `Ctrl + 8` | `Dolphin/Primehack` | | +| Undo Save State | `Ctrl + 9` | `Dolphin/Primehack` `Duckstation` | | + + +## Speed / Frames +The `Speed / Frames Menu` is where you find anything related to: emulation speed, frame limits, fast forwarding and rewinding. + +| Radial Button | Keyboard Command | Emulator Support | Comment | +| :--- | :---: | :---: | :---: | +| Fastforward | `Ctrl + +` | `RetroArch` `Duckstation` `MelonDS` `PCSX2` | | +| Rewind | `CTRL + -` | `RetroArch` `Duckstation` | | +| Increase Emulation Speed| `CTRL + 1` | `Citra` `Dolphin/Primehack` `Duckstation` `PCSX2` | | +| Decrease Emulation Speed| `CTRL + 2` |`Citra` `Dolphin/Primehack` `Duckstation` `PCSX2` | | +| Reset Emulation Speed | `CTRL + 3` | `Duckstation` | | +| Disable Emulation Speed Limit | `CTRL + 0` |`Dolphin/Primehack` | | +| Frame limit On/Off | `CTRL + Z` | `PCSX2` `Yuzu` | | + + +## Display / Graphics +The `Display / Graphics Menu` is where you find anything related to: up-scaling/resolution scaling, widescreen or change aspect ratio, fullscreen, swap or change dual screen layout. + +| Radial Button | Keyboard Command | Emulator Support | Comment | +| :--- | :---: | :---: | :---: | +| Fullscreen Toggle | `Ctrl + Enter` | `Citra` `Dolphin/Primehack` `Duckstation` `MelonDS` `PCSX2` `Yuzu` | | +| Increase Resolution / Upscale | `Ctrl + U` | `Dolphin/Primehack` `Duckstation` `PCSX2` | | +| Decrease Resolution / Upscale | `Ctrl + Y` | `Dolphin/Primehack` `Duckstation` `PCSX2` | | +| Change Widescreen / Aspect Ratio | `Ctrl + W` | `Dolphin/Primehack` `Duckstation` `PCSX2` | | +| Swap Screens | `Ctrl + Tab` |`Citra` `MelonDS` `Cemu` | | +| Change Dual Screens Layout | `Ctrl + L` | `Citra`| | | + +## General +The `General Menu` or `General Emulation Menu` is where you find various global generic emulation hotkeys: Quit/Exit, Restart, Take Screenshot, Change CD, Pause, Turbo Input, Cheats and Video Recording. + +| Radial Button | Keyboard Command | Emulator Support | Comment | +| :--- | :---: | :---: | :---: | +| Exit Emulator | `Ctrl + Q` | `RetroArch` `Citra` `Dolphin/Primehack` `Duckstation` `PCSX2` `Yuzu` | | +| Open Menu | `Ctrl + M` | `RetroArch` `Duckstation` `PCSX2` `Yuzu` | | +| Take Screenshot | `Ctrl + X` | `RetroArch` `Citra` `Dolphin/Primehack` `Duckstation` `MelonDS` `PCSX2` `Yuzu` | | +| Restart / Reset | `CTRL + R` |`RetroArch` `Citra` `Dolphin/Primehack` `Duckstation` `MelonDS` `PCSX2` `Yuzu` | | +| Change Disc / Next Disc | `CTRL + D` | `RetroArch` `Dolphin/Primehack` `Duckstation` | | +| Cheats On/Off | `CTRL + C` | `RetroArch` `Duckstation` | | +| Pause / Resume | `Ctrl + P` | `RetroArch` `Citra` `Dolphin/Primehack` `Duckstation` `MelonDS` `PCSX2` `Yuzu` | | +| Turbo On/Off | `Ctrl + T` | `Duckstation` | | +| Video Recording On/Off | `Ctrl + V` |`RetroArch` `Dolphin/Primehack` `PCSX2` | | + +## Steam Deck +The `Steam Deck Menu` is where you find Steam Deck specific functions and general computer hotkeys: Steam Screenshot, Show Steam Deck Keyboard, Escape, Alt + F4, Tab, Enter and F1. Some of these could also be useful inside the various PC emulation emulators. + + +| Radial Button | Keyboard Command | Emulator Support | Comment | +| :--- | :---: | :---: | :---: | +| Escape | `ESC` | `PPSSPP` | | +| Tab | `Tab` | | | +| Alt + F4 | `Alt + F4` | | | +| F1 | `F1` | | | +| Enter | `Enter` | | | +| Take Steam Screenshot | `none` | | | +| Show Steam Deck Keyboard| `none` | | | + + +## Specific + +The `Specific Menu` or `Specific Emulator Hotkeys Menu` opens up several system/emulator specific sub-menus. Here you will find hotkeys not so commonly used but could be good to have easy access to: + +### Switch +The `Switch Menu` here you find hotkeys related to Switch emulation: Change GPU Accuracy, Change Docked/Undocked Mode, Add/Remove Amiibo + +| Radial Button | Keyboard Command | Emulator Support | Comment | +| :--- | :---: | :---: | :---: | +| Change GPU Accuracy | `Alt + G` | `Yuzu` | | +| Load / Remove Amiibo | `Alt + M` | `Yuzu` | | +| Docked / Undocked Mode | `Alt + D` | `Yuzu` | | + +### MAME +The `MAME Menu` here find hotkeys related to the MAME standalone emulator: Servicemode and buttons 1-4, Insert None Bills (not credits that is Select) and tilt. + +**MAME SUPPORT IS NOT IN YET WILL BE IN A LATER UPDATE** + +| Radial Button | Keyboard Command | Emulator Support | Comment | +| :--- | :---: | :---: | :---: | +| Service Mode | `Alt + 0` | `MAME` | | +| Service Button 1 | `Alt + 1` | `MAME` | | +| Service Button 2 | `Alt + 2` | `MAME` | | +| Service Button 3 | `Alt + 3` | `MAME` | | +| Service Button 4 | `Alt + 4` | `MAME` | | +| Insert Bill / Note | `Alt + 5` | `MAME` | | +| Tilt | `Alt + 6` | `MAME` | | + +### RetroArch +The `RetroArch Menu` here you find hotkeys related to the RetroArch emulator: RetroArch Cheat Mangement, AI Service and Netplay Host. + + +| Radial Button | Keyboard Command | Emulator Support | Comment | +| :--- | :---: | :---: | :---: | +| Next Cheat | `Ctrl + G` | `RetroArch` | | +| Previous Cheat | `Ctrl + F` | `RetroArch` | | +| Cheats On/Off | `Ctrl + C` | `RetroArch` | | +| AI Service On/Off | `Ctrl + I` | `RetroArch` | | +| Netplay Host On/Off | `Ctrl + H` | `RetroArch` | | + +### Gamecube / Wii +The `Gamecube / Wii Menu` here you find hotkeys related to the Dolphin standalone emulator: Golf Mode, Freelook Mode On/Off/Reset, Wii Sync Button and Wii Mote Sideways / Upright. + + +| Radial Button | Keyboard Command | Emulator Support | Comment | +| :--- | :---: | :---: | :---: | +| Golf Mode On/Off | `Alt + H` | `Dolphin/Primehack` | | +| Freelook Mode On/Off | `Alt + F` |`Dolphin/Primehack` | | +| Freelook Mode Reset | `Alt + R` | `Dolphin/Primehack` | | +| Wii Sync Button | `Alt + W` | `Dolphin/Primehack` | | +| Wiimote Upright | `Alt + Z` | `Dolphin/Primehack` | | +| Wiimote Sideways | `Alt + X` | `Dolphin/Primehack` | | + + +### NDS +The `NDS Menu` here you find hotkeys related to the MelonDS standalone emulator: Send Close/Open Lid, Send Play Microphone and Sunlight + / -. + + +| Radial Button | Keyboard Command | Emulator Support | Comment | +| :--- | :---: | :---: | :---: | +| Sunlight + | `Alt + +` |`MelonDS` | | +| Sunlight - | `Alt + -` | `MelonDS` | | +| Play Microphone | `Alt + P` |`MelonDS` | | +| Close/Open Lid | `Alt + L` | `MelonDS` | | + +### 3DS +The `3DS Menu` here you find hotkeys related to the Citra standalone emulator: Load and Remove Amiibo + +| Radial Button | Keyboard Command | Emulator Support | Comment | +| :--- | :---: | :---: | :---: | +| Load Amiibo | `Alt + M` |`Citra` | | +| Remove Amiibo | `Alt + N` |`Citra` | | \ No newline at end of file diff --git a/wiki-rtd/Steam-Deck:-Installation-and-updates.md b/wiki-rtd/Steam-Deck:-Installation-and-updates.md new file mode 100644 index 00000000..4301fe29 --- /dev/null +++ b/wiki-rtd/Steam-Deck:-Installation-and-updates.md @@ -0,0 +1,69 @@ +# How do I install RetroDECK on the Steam Deck? + +## Quick start guide + +- Put the Steam Deck into Desktop Mode `Steam button` > `Power` > `Switch to Desktop` +- Install RetroDECK from Discover +- Start RetroDECK first time in Desktop Mode +- Choose where RetroDECK should create the `roms` folders `Internal` or `SDCard`. +- Put the BIOS inside `~/retrodeck/bios/` for more information read: [[Emulators: BIOS and Firmware]] +- Put the ROMS inside `~/retrodeck/roms/` or `/retrodeck/roms/` depending on your choice +- In Steam desktop go to the tab `Games` press `Add non Steam game to My library` and select RetroDECK to add it into your library. If that is not working you can `Right Click` on the RetroDECK desktop icon and press `Add to Steam` in the menu. +- **Optional way:** Get RetroDECK Steam Grid art and add it to your Steam library with BoilR. Or add the art manually from [SteamgridDB](https://www.steamgriddb.com/search/grids?term=RetroDeck) for the Steam Grid. +- Switch over to game mode and go to RetroDECK on the Steam Grid under `Library > Non-Steam` +- Add the Official Layout under `Controller Settings` -> `Controller Layouts` -> `Templates` in the Steam Deck called `RetroDECK: Official Layout` with a version number and apply +- Launch RetroDECK and enjoy + +### Other quick tips: +- Read up on the [[Steam Deck: Hotkeys and controls]] to ease your navigation. +- Read up on the [[EmulationStation DE: User Guide]] +- Check out our other software recommendations [[Steam Deck: Software recommendations]]. +- Check various optional optimizations that can make some emulators run even better [[Steam Deck: Optimizations]]. + + +## Full step by step guide: + +### Step 1: Go to Desktop Mode +- Put the Steam Deck into Desktop Mode `Steam button` > `Power` > `Switch to Desktop` + +### Step 2: Install from Discover + +- Open the Discover application. +- **NOTE:** Depending on what language you have set in Desktop mode your Discover application can be named differently. +- Inside Discover search for RetroDECK and press the install button. +- After the installation is finished, launch RetroDECK from Discover or in the program menu under `Games > RetroDECK`. +- Follow the first time setup instructions and choose where RetroDECK should create the `roms` folders `Internal` or `SDCard`. +- Open Steam while still in desktop mode. +- Inside Steam go to the tab `Games` press `Add non Steam game to My library` and select RetroDECK to add it into your library. +- After this is done you can now see RetroDECK in Steam Deck's gamemode after you return to it from desktop mode. + +### Step 3: Configure the official controller layout +- Go back into gamemode by pressing the return to gamemode icon on the desktop. +- Go to RetroDECK on the Steam Grid under `Library > Non-Steam` +- Press the `Controller Icon` +- Go into `Controller Layouts` and press `Templates` +- Add the layout for RetroDECK called `RetroDECK: Official Layout` with a version number. +- You can now use RetroDECK and it's ready to populate with ROMS. +- If you are unsure on how to add ROMS and BIOS to RetroDECK follow the [Getting Started Guide ](https://github.com/XargonWan/RetroDECK/wiki/How-to:-Getting-started) from Step 2 and onward on how to add them. + + +### Step 4 (Optional): Extras +- Get RetroDECK Steam Grid art with BoilR or add it manually from [SteamgridDB](https://www.steamgriddb.com/search/grids?term=RetroDeck) for the Steam Grid. +- Check various optional optimizations that can make some emulators run even better [[Steam Deck: Optimizations]]. +- Read up on the [[Steam Deck: Hotkeys and controls]] to ease your navigation. +- Read up on the [[EmulationStation DE: User Guide]] +- Check out our other software recommendations [[Steam Deck: Software recommendations]]. + + +# How do I update RetroDECK on the Steam Deck? + +## Automatic Updates +RetroDECK features Automatic Updates and should download the latest version when you start the application. +This feature can be turned off inside the `RetroDECK Configurator`. + +## Manually from Desktop Mode: +- Put the Steam Deck into Desktop Mode `Steam button` > `Power` > `Switch to Desktop` +- Open the Discover application. +- Click on the updates tab. +- If there are any updates available it will be shown here. +- Click on the `Update` or `Update all` buttons. \ No newline at end of file diff --git a/wiki-rtd/Steam-Deck:-Optimizations.md b/wiki-rtd/Steam-Deck:-Optimizations.md new file mode 100644 index 00000000..012da250 --- /dev/null +++ b/wiki-rtd/Steam-Deck:-Optimizations.md @@ -0,0 +1,65 @@ +# What are some optimizations for the Steam Deck to make emulation even better? +These optimizations are entirely optional and but they can give you better performance on some more demanding emulators. + + +## Increase the VRAM to 4GB +This increases the VRAM to 4GB in the BIOS, this can give you improvements in certain emulators. + +* Power off your Steam Deck completely +* Hold the `Power Button` and `Volume Up Button` until you hear a chime/beep and release the buttons. +* Click on `Setup Utility` +* Click on `Advanced` +* Change`UMA Frame buffer Size` to 4GB +* Save and Exit + +## Setup a sudo password +[What is sudo?](https://github.com/XargonWan/RetroDECK/wiki/FAQs:-Frequently-asked-questions#what-is-sudo) + +This is a requirement for many optimizations and solutions, it also makes your Deck safer. +It enables you to run commands/applications heighten sudo privileges. + +* Go to `Desktop Mode` +* Open `Konsole` or another `Terminal` +* Type `passwd` +* You will now set your new sudo password +* After you are done you can close the terminal + +## Install CryoUtilities +This requires that you have set up a sudo password. + +This will create a 16GB SWAP file that can improve the performance for some emulators. Note that it will take up that extra space on your Steam Deck. + +There is a official video [here](https://www.youtube.com/watch?v=C9EjXYZUqUs&t=17s) + +* Go to `Desktop Mode` +* Open a web browser and go to the [CryoUtilities](https://github.com/CryoByte33/steam-deck-utilities) github page +* Click on releases +* Download the latewst `cryo_utilities` version and save to the Desktop or Home folder +* Double click on the file and it will begin the installation +* After installation is complete you will find a new desktop icon `CryoUtilities` +* Click on `CryoUtilities` +* Click on `Recommended Settings` +* It should now be done + +## Install Decky Loader +Decky Loader is a [homebrew plugin store](https://beta.deckbrew.xyz/) for the Steam Deck and it also enables `CEF Remote Debugging` during installation. +This requires that you have set up a sudo password. + +* Go to `Desktop Mode` +* Open `Konsole` or another `Terminal` +* Type `curl -L https://github.com/SteamDeckHomebrew/decky-installer/releases/latest/download/install_release.sh | sh` +* Decky Loader should now be installed and you can go back into `Game Mode`. +* To access Decky Loader you only need to press the `Menu Button - (•••)` + +### Decky Loader: Install Power Tools +Power Tools allows you to tweak various performance settings of the Steam Deck. +What the best setting is differs per emulator or even per game. +Decky Loader is a requirement. + +In Game Mode: +* `Menu Button - (•••)` +* Go into Decky Loader +* From the Store install Power Tools +* This will add a 🔌 icon to the `Menu Button - (•••)` where you can access Power Tools. + + diff --git a/wiki-rtd/Steam-Deck:-Software-recommendations.md b/wiki-rtd/Steam-Deck:-Software-recommendations.md new file mode 100644 index 00000000..cb06b66b --- /dev/null +++ b/wiki-rtd/Steam-Deck:-Software-recommendations.md @@ -0,0 +1,38 @@ +# Any other recommended software? + +The following software works great with the Steam Deck and might enhance your RetroDECK experience (these are entirely optional to install). + +There is a guide on how to install several of them under [Steam Deck: Optimizations](https://github.com/XargonWan/RetroDECK/wiki/Steam-Deck%3A-Optimizations). + +# Steam Deck specific recommendations + +For general Linux Desktop recommendations go to [Linux Desktop: Software recommendations](https://github.com/XargonWan/RetroDECK/wiki/Linux-Desktop:-Software-recommendations) as many of them also work on the Steam Deck. + +## CryoUtilities +Scripts and utilities to improve performance and manage storage on the Steam Deck. + +_Made by CryoByte33_ + +[CryoUtilities](https://github.com/CryoByte33/steam-deck-utilities) + +## Decky Loader +Is a great piece of software that allows custom plugins inside Steam Deck's gamemode. It can open up more advanced features then the standard Steam Deck experience offers. But it's a bit more technical to install, please follow the guide on their github. + +_Made by Steam Deck Homebrew Team_ + +[Decky Loader](https://github.com/SteamDeckHomebrew/decky-loader) + +## PowerTools +If you install the Decky Plugin Loader above you can download the PowerTools application from the plugin store that let's you do advanced tweaking of the Steam Decks hardware. This can greatly improve performance on certain games in the PS2,GC and above generations. But it requires you to find the knowledge of what setting works best for each game and/or emulator. + +_Made by NGnius_ + +[PowerTools](https://github.com/NGnius/PowerTools) + +## Discover Overlay +If you use Discord this is a program that adds Discord integration into the Steam Deck's gamemode UI. +It's already in on flathub and downloadable in Discover. Note that you need to install and login to Discord as well. + +_Made by trigg_ + +[Discover Overlay](https://trigg.github.io/Discover/) diff --git a/wiki-rtd/Switch:-Yuzu.md b/wiki-rtd/Switch:-Yuzu.md new file mode 100644 index 00000000..f195a229 --- /dev/null +++ b/wiki-rtd/Switch:-Yuzu.md @@ -0,0 +1,62 @@ +# Yuzu + +## Where to put the games? +Switch games should be put into the `retrodeck/roms/switch/` directory.
+The games can come in many different formats: `XCI` `NSP` `NCA` `NSO` `NRO`. + + +## Where do I put the BIOS files? +Yuzu needs the key files `prod.keys`, `title.keys` and the firmware files in the following directories: + +**Yuzu keys:** `~/retrodeck/bios/switch/keys` + +**Yuzu firmware:** `~/retrodeck/bios/switch/registered` + +The directory tree should look like this example: +``` +~/retrodeck/bios/switch +├── keys +│   ├── prod.keys +│   └── title.keys +└── registered + ├── 02259fd41066eddbc64e0fdd217d9d2f.nca + ├── 02582a2cd46cc226ce72c8a52504cd97.nca + ├── 02b1dd519a6df4de1b11871851d328a1.nca + ├── other 217 files... + └── fd0d23003ea5602c24ac4e41101c16fd.nca +``` + +You can find a complete guide in the [Yuzu official wiki](https://yuzu-emu.org/help/quickstart/#downloading-and-installing-yuzu) on how to extract the BIOS from your Switch. + +## How do I install DLC and Updates? + +**Requirements:** Patch or DLC files
+ +**NOTE:** On the Steam Deck this could be easier to do in `Desktop Mode`. + +1. Extract any patch or dlc files from compressed `.zip` or any other format to the true files. +2. Open up Yuzu inside `RetroDECK Configurator` by pressing `Open Emulator` - `Yuzu`. +3. Press `File` - `Install Files to NAND` +4. Find a DLC or Patch file from the file browser and press `Open` +5. This will install the DLC or Patch file into the games NAND folder inside of Yuzu. +6. Repeat step 2 to 3 for every file you need to install. +7. Quit Yuzu +8. Start up RetroDECK and select the game you want to play.
+ +## How do I add shader caches? + +**Requirements:** Shader cache files
+ +**NOTE:** On the Steam Deck this could be easier to do in `Desktop Mode`. + +1. Extract any shader cache files from compressed `.zip` or any other format to folders. +2. Open up Yuzu inside `RetroDECK Configurator` by pressing `Open Emulator` - `Yuzu`. +3. Right click on the game you want to add mods into. +4. Click on `Open Transferable Pipeline Cache`. +5. Paste the files inside that directory. +6. Start up RetroDECK and select the game.
+ +## How do I add mods? +Check the Mods: Yuzu section on this wiki +[[Yuzu: Mods]] + \ No newline at end of file diff --git a/wiki-rtd/Version-history:-Patch-Notes.md b/wiki-rtd/Version-history:-Patch-Notes.md new file mode 100644 index 00000000..e067e206 --- /dev/null +++ b/wiki-rtd/Version-history:-Patch-Notes.md @@ -0,0 +1,554 @@ +# RetroDECK 0.7.1b + +### Release Date: 2023-08-22 + +## Information: +- Steam Deck users update RetroDECK from `Discover` in Desktop Mode. +- Don't forget to reapply the latest controller layout: Go into the `Templates` tab and reapply the new profile ending with 0.7.1b (there is no need to reinstall the entire layout from the Configurator). + + +## Bugfixes & other changes: +- Fixed an issue to make sure the RD controller layout file at update with each RD update. +- Fixed an issue with PPSSPP that made `L` and `R` incorrectly bound. +- Fixed an issue in the Configurator that prevented the Yuzu preset for swapping A/B X/Y from working. +- Fixed an notification issues on the latest SteamOS Beta releases. +- Fixed an rsync permissions issue in the RetroDECK Framework. +- Updated Yuzu presets to handle new config syntax in the RetroDECK Framework. +- Changed auto-update to notification only, until permissions error can be worked out. +- Added some new pixelart icons by ItzSelenux (pixelitos-icon-theme) + + +## Updates +- All Emulators and ES-DE have been updated + +## Steam Deck - Global Controller Layout: +We have done some changes based on community feedback + +**Layout Changes:** +- `Select` is now a hotkey trigger while pressing it down, `L4` and `R4` are still triggers as well. +- The RetroArch combo of `Select` + `Start` = `Quit` now works on many SA-Emulators. +- `Open Menu` is removed from `Select`. +- `R5` = `A` button (this allows for great Wii controls on the right touchpad and pressing down the R5 for A). +- `L5` = `B` button. + +**Global hotkey changes:** +- `Open Menu` is on `Y`. +- `Increase Emulation Speed` is on `Dpad-UP`. +- `Decrease Emulation Speed` is on `Dpad-Down`. +- `Fullscreen OFF` command is removed (as emulators have migrated to toggle). + +## Known issues +- The built in auto-updater is not working (we are working on it). Discover is ok. +- Some emulators don't have hotkey support or have bugs affecting their hotkeys. + + +# RetroDECK v0.7.0b - Amazing Aozora + +### Release Date: 2023-06-16 + +## Read First – Important Changes! + +* `PCSX2-SA` latest updates are not compatible with old save states. Please make sure you do an in-game save to your virtual memory card before upgrading. + +* The following emulators have changed the defaults and now run the stand-alone version: `Dolphin`, `Citra`, `PPSSPP`.
+If you have saves states or just want to go back to the RetroArch version, you can always switch back by pressing: `Other Settings` – `Alternative Emulators` and set them back to the core versions. + +* If you decide to install the new `RetroDECK Controller Layout` for the Steam Deck (highly recommended), it will wipe your custom configurations and emulator settings. That’s because all the configs needs to be updated and changed to be compatible.
+The choice is yours (you can always install it later via the Configurator if you change your mind). + + +## New Emulators + +- Wii U powered by CEMU + +- We had hopes to add MAME standalone as well but we had to push it towards a future update because of various issues. That's why there is a MAME submenu in the new radial menus. + + + +## New General Features + +### New - Steam Deck Controller Layout + +Please read up on: https://github.com/XargonWan/RetroDECK/wiki/Steam-Deck%3A-Hotkeys-and-controls +- All hotkeys for all emulators have been unified where possible. + +This Steam Deck Controller Layout features both + +- Radial input menus on the left touchpad. +- Button bound hotkeys you can access by either holding R4 or L4. + +**Installation of the layout:** + +**From an upgrade:** + +A upgrade from a older version to 0.7b you will get a prompt during the upgrade process that asks you if you want to install the layout. If you choose to do this (highly recommended), it will reset your emulators custom configurations if you had them. + +**For everyone (upgrade or fresh install):** + +After installation need to manually enable the config as under (you also need to do this for a new RetroDECK install):
+`Controller Settings` -> `Controller Layouts` -> `Templates` `RetroDECK: Official Layout` with a version number. + +**NOTE:** + +Not all Emulators has hotkey support; some have partial support, some has none and some has a majority implemented. + +**Known issues:** + +PPSSPP has an issue with flatpak hotkeys currently on their github so we have mapped ESC `HK + R3` ( press the `Escape` key from the radial menu) to `Open PPSSPP Menu`. In this way you can shutdown, save and access PPSSPP functions from there. +As soon as the issue is solved we will remap everything to the correct hotkeys. + +### New - RetroDECK system folders + +Handling modpacks and texture packs has never been easier! You can read more on the wiki! + +https://github.com/XargonWan/RetroDECK/wiki + +**New folder: Mods** + +`retrodeck/mods/` Inside you will find easy to access mod folders for the following systems: Citra ,Dolphin, Primehack, Yuzu + + +**New folder: Texture Packs** + +`retrodeck/texture_packs/` inside you will find easy to access texture pack folders for the following systems: Citra, Dolphin, Duckstation, PCSX2, PPSSPP, Primehack, RetroArch-Mesen, RetroArch-Mupen64Plus + + +**New folder: Gamelists** + +`retrodeck/gamelists` gamelists are now moved into by default for ease of access and added security. + + +## New - System features + +- The Configurator has a new home inside the ES-DE main menu and thus the tools menu has been removed. +- The Configurator also has a .deskop icon for ease of access for both Steam Deck desktop mode and Linux Desktop users. +- Added RetroDECK auto updates on launch, this can be disabled from the Configurator this works in Game Mode for the Steam Deck. + +## New RetroDECK Configurator features: + +- The Configurator has a new structure, with more menus and options. +- The compression tool has been updated to allow for even more formats such as .zip in addition to the standard disc-based formats for certain systems. +- The compression tool has been updated to have an even stronger verification before a compression job starts. +- Added a global preset to swap A/B and X/Y in all supported emulators (aka N layout). +- Added a global preset to enable/disable Widescreen in all supported emulators, globally or per core/emulator. +- Added a global preset to enable/disable Ask-to-Exit prompts in all supported emulators. +- Added a preset to enable/disable Pegasus and NyNy77 Borders for RetroArch, globally or per core. +- Added an option to install Venomalia's Universial Dynamic Input Textures for Dolphin https://github.com/Venomalia/UniversalDynamicInput +- Added an RetroDECK: About section +- Added an option to install the RetroDECK Steam Deck controller profile +- Added an “RetroDECK: Auto Updates” function that enables or disables auto updates on RetroDECK launch. +- Added a Semi-automated RPCS3 firmware installer. +- The Move Folder tool has been greatly expanded + - You can now move the entire folder or different folders as you choose. (WARNING! Please do not try to move the data to more exotic locations). +- The basic BIOS checker has been removed. +- The BIOS checker has been updated to look for over 120+ BIOS. +- RetroAchivements Login: Now logs into all supported emulators/cores at once. +- RetroAchivements Logout: Now logs out of all supported emulators/cores at once. +- Added RetroAchivements: Hardcore Mode, that lets you toggle hardcore mode for supported emulators/cores with a logged in RetroAchivements account. + +## Updates + +- Updated ES-DE to the latest version. +- Updated RetroArch and the cores to latest versions. +- Updated all standalone emulators and to their latest versions. + + +## Bugfixes & other changes: + +- Dolphin/Primehack Wii Mote controls have been redesigned for the Steam Deck to allow both for touch input or right radial as pointer and `R2` emulates the Wii Remote Shake needed for certain games. +- Updated the RPCS3 to run better and with a better configuration. Read more on the wiki on how to install DLC and patches. +- RPCS3 and Duckstations save files where in the wrong directory. They have been moved to fit the overall inside the RetroDECK Framework. If you have any issues, contact us on discord or add them on github. +- We made a unique PICO-8 wrapper that makes it runs better in a flatpak environment. +- Fixed an avcodec issue that caused some roms for certain emulators to break. +- Changed the ES-DE progress bar color +- Changed how Yuzu builds are handled and should allow for better Yuzu updates. +- Added a low space warning on launch. +- Various backend improvements and fixes. +- Added the foss Capsimg BIOS for the Amiga RetroArch core. +- Implemented ES-DE's experimental theme downloader. For fresh new installs we only now ship one theme: ArtBookNext (as all other themes can be downloaded from the interface). + +## Experimental features: +You can enable the RetroDECK: Multi-user system and other things from CLI for testing purposes. +Read more here on how to help us with testing: + +https://github.com/XargonWan/RetroDECK/wiki/How-can-I-help-with-testing%3F + +There is also a Q&A on the latest blog post: + +https://www.reddit.com/r/RetroDeck/comments/13x8dva/retrodeck_status_update_202306/ + +# RetroDECK v0.6.6b + +### Release Date: 2023-04-26 + +### Information: +This patch is a quick hotfix for ES-DE. + + +## Bug fixes and other changes: +- ES-DE had the wrong buildflag and pushed the update notification. +- Reverted to the Swanstation Core for RetroArch + +# RetroDECK v0.6.5b + +### Release Date: 2023-04-07 + +### Information: +Just a quick hotfix for Yuzu (since some games where not working in 0.6.4b). +So we had to roll back to the latest working version. +Newer versions will be shipped with v0.7b + +## Bug fixes and other changes: +- Rolled back to latest working Yuzu as some games had issues with the latest update. +- Slightly improved Yuzu performance by tweaking GPU options +- Fixed an issue where the default theme was not loaded +- Removed unavailable emulators entries + +# RetroDECK v0.6.4b + +### Release Date: 2023-04-04 + +## New features - General: +- Updated to ES-DE 2.0 +- Added the NSO Menu Interpreted theme +- Updated all included themes +- Updated the Emulators/RetroArch + cores + +## Bug fixes and other changes: + +- Fixed an audio issue in the Primehack configuration +- Various backend fixes + +# RetroDECK v0.6.3b + +### Release Date: 2023-03-24 + +## New features - General: +- Added support support for multiple file compression via CLI. + +## RetroDECK Configurator: +- Added support support for multiple file compression in the Configurator. +- Added safety y/n prompts to the reset functions. +- Fixed some missing layout changes. +- Renamed "Reset All" to "Reset RetroDECK". +- Moved the configurator into the RO partition for futher enhancements. + +## Bug fixes and other changes: +- Fixed a bug in the compression tool with certain filenames with spaces. +- Fixed a bug where some folders were recursively symlinked. +- Fixed a bug where some emulator configs were not correctly deployed. +- Fixed a manifest bug that caused a conflict between Dolphin and Primehack in certain scenarios. +- Fixed the Configurator BIOS tool looking in the wrong location (Thanks sofauxboho for the report!) +- Implemented new configurations for Yuzu and Citra thanks to the big config file changes in the latest emulator updates in both emulators. +- Removed some leftover files from Legacy PCSX2. +- Removed the legacy "Reset Tools" command from Configurator and CLI. + +# RetroDECK v0.6.2b + +### Release Date: 2023-03-15 + +## New features - General: +- Persistent configurations when updating RetroDECK
(This means your custom configurations should be saved across future versions. We also laid groundwork for dynamic persistent configurations, more on that in a future update. This is the reason why it has taken quite long to fix this). +- Added Primehack controller profiles for both Xbox and Nintendo button layouts +- Added a warning when running RetroDECK in desktop mode that not all control inputs will work properly. It also comes with a "Never show again" button. +- Added CLI for CHD compression (chdman) of single games +- Reworked CLI commands and added safety "y/n" confirmations for the reset arguments. + +## New features - RetroDECK Configurator: +- The RetroDECK Configurator "toolbox" has a new structure for more easy access to various tools +- The power user prompt has a "Never show again" button +- Added tool to do CHD compression (chdman) of single games (multi-game batch compression coming in a future update) +- Added tool to check for common BIOS files +- Added tool to check for common multi-file game structure issues + +## Bug fixes and other changes: +- Fixed Primehack initial configuration as it was broken (will automatically reset the emulator just this once) +- Fixed Duckstation initial configuration as it was broken (will require user-performed reset just this once) +- Fixed Pico-8 initial configuration as it was broken. +- Fixed Pico-8 dual bios folders. The program files `pico8_dyn`,`pico8.dat` and `pico8` have to be manually moved to the correct location`~/retrodeck/bios/pico-8/`. The old `~/retrodeck/bios/pico8/` is renamed `~/retrodeck/bios/pico8_olddata/` to avoid confusion on where to put files. After the files have moved the `pico8_olddata `folder can be deleted. +- Fixed a bug that made the Dolphin RetroArch core not working properly (the standalone version of Dolphin always worked and is the default) +- Various backend fixes + +## Updates: +- Updated all Emulators, RetroArch and libreretro cores.
(PLEASE NOTE! ES-DE was not updated to version 2.0, this will be done in the next major version of RetroDECK as we need more time to work on the new theme format). + +# RetroDECK v0.6.1b + +### Release Date: 2023-02-21 + +## New features: +* Added CLI option to run Configurator directly +* Added "--configure" option to RetroDECK CLI + +## Updates: +* Yuzu updated to mainline-1301 + +## Fixes & adjustments: +* Adjusted Configuration window sizes +* Temporarily removed Ryjuinx as it was broken and had too many issues (will be added back in a future patch). +* Removed deprecated emulators from Configurator (eg. Legacy PCSX2) +* Made improvements to file-moving code +* Fixed Primehack preconfiguration and Configurator entry +* Fixed a bug where the hidden files were not moved during the directory preparation +* Fixed a bug where the symlinks were recursively placed inside the prepeared paths +* Fixed issue with missing symlink after RetroDECK base directory was moved somewhere else +* Fixed Duckstation preconfiguration + +# RetroDECK v0.6.0b + +### Release Date: 2022-12-27 + +## New Emulators +* Primehack +* Ryjuinx (Disabled in 0.6.2b) + +## New Features +* Merged all tools into single Configurator +* The Configurator can now move the whole retrodeck folder eslewhere (not just the ROMs one) +* The Configurator can now reset a single emulator, all RetroArch or all Standaloned configs (so there is no need to di it via CLI anymore +* The first install is now asking where to place the whole retrodeck folder instead of requesting the location of the ROMs folder only. + +## RetroArch +* Updated RetroArch to version [v1.14.0](https://www.libretro.com/index.php/retroarch-1-14-0-release/) +* Updated Cores +* Updated Cheat_db + +## Updated standalone emulators +These emulators are updated to the latest version available on 31/10/2022. +* Updated PPSSPP +* Updated Yuzu +* Updated Citra +* Updated PCSX2-QT +* Updated Dolphin +* Updated Xemu +* Updated RPCS3 +* Updated Duckstation + +## Fixes +* PCSX2-QT is now looking for saves in the correct directory `~/retrodeck/saves/ps2/memcards` and not in `~/retrodeck/saves/ps2/pcsx2/memcards` + +# RetroDECK v0.5.3b + +### Release Date: 2022-10-28 + +## Bug fixes in v0.5.3b + +* Fixed inaccessible RetroArch shaders folder +* Fixed PSP saving issue when using RetroArch core +* Fixed ROM visibility for Dolphin when running standalone, which should address ability to use AR/Gecko codes +* Changed default RPCS3 launch method to fix games not starting properly +* Fixed PCSX2 (legacy) autosave loading issue +* (Hopefully) Fixed RetroAchievements login on PCSX2-QT + +## Changes in 0.5.3b +* Made Citra standalone the default 3DS emulator + +## Additions in 0.5.3b +* Added Citra SA sysdata folder to RetroDECK BIOS folder +* Added Yuzu save folders to RetroDECK saves folder +* A progress window during emulator initialization where it can look like RetroDECK has crashed + +# RetroDECK v0.5.2b + +### Release Date: 2022-10-14 + +## Bug fixes in 0.5.2b + +* Fixed a bug where the Citra save folder was duplicated +* Fixed a bug where scraped videos would not be played correctly for certain systems +* Fixed the Rewind Tool + +# RetroDECK v0.5.1b + +### Release Date: 2022-10-13 + +## Bug fixes in 0.5.1b + +* Fixed an issue with Yuzu not being compiled correctly in 0.5.0b + +# RetroDECK v0.5.0b + +### Release Date: 2022-10-12 + +## Important: New save folder structure and migration in 0.5.0b + +### General information + + +[I see ~ refereed in documentation and examples, what does it mean?](https://github.com/XargonWan/RetroDECK/wiki/FAQs:-Frequently-asked-questions#i-see--refereed-in-documentation-and-examples-what-does-it-mean) + +**Saves = game saves and save states**
+The word "saves" is used to reference both save files and save state files in this wiki article. Both files are treated in the same manner, the only difference is that saves are located at. + +**PLEASE BE PATIENT:**
+The migration of the saves only needs to be done once.
+Depending on how large roms library you have, this migration can take several minutes.
+If you have an extremely large roms library (+5.000 roms) this process can take over an hour. + +### Why are you changing the save folder structure? + +In the long run, it is about the safety of your saves and we feel it's better to tackle this now during the beta period then later. + +By default, RetroArch (which handles emulation of most older systems) puts all your saves together in one folder.
+This is normally not an issue, but what you if you want to play the same game but different versions of it across multiple systems?
+RetroArch has no way of telling the difference between a save for `Mortal Kombat 3` on the Sega Genesis and on the Super Nintendo when the saves are all bundled together. RetroDECK is moving to a save storage structure where every save file is in a per system sub-folder inside of the `~/retrodeck/saves/` for game saves or `~/retrodeck/states/` for save states. + +### How saves are stored in RetroDECK pre 0.5.0b: + +_Example: Structure of the `~/retrodeck/saves/` folder_ + + ~/retrodeck/saves/Final Fantasy 3.save + + ~/retrodeck/saves/Sonic the Hedgehog.save + +_Example: Structure of the `~/retrodeck/states/` folder_ + + ~/retrodeck/saves/Final Fantasy VI.savestate + + ~/retrodeck/saves/Sonic the Hedgehog 2.savestate + + +### How saves are stored in RetroDECK post 0.5.0b: + +_Example: Structure of the `~/retrodeck/saves/` folder and with new sub-folders_ + + ~/retrodeck/saves/nes/Super Mario Bros. 3.save + + ~/retrodeck/saves/genesis/Sonic the Hedgehog.save + +_Example: Structure of the `~/retrodeck/states/` folder_ + + ~/retrodeck/states/snes/Final Fantasy VI.savestate + + ~/retrodeck/states/genesis/Sonic the Hedgehog 2.savestate + +Since RetroArch will be looking for your saves in new locations, RetroDECK will do its best to sort your saves into the new structure automatically, so you likely won't need to do anything except enjoy knowing your saves are safer than ever. + +### How will it work? + +* The fist time you run RetroDECK after upgrading from a previews version to 0.5.0b a new dialog prompt will appear letting you that the migration process will start after pressing `OK`. + +* The migration process matches up all of your saves with all of your ROMs. + +* Once a match is found, the save is moved to where the sub-folder it needs to be in. + +* At the end of the process RetroDECK will let you know if any saves could not be sorted automatically. + +* **NOTE:** Only saves created by RetroArch need to be sorted, standalone emulators such as Yuzu and Citra already use their own folder structure and don't need to go through this process. + +* **NOTE:** If a match can't be found (for instance if you have a save for Mortal Kombat 3 and have both the SNES and Genesis editions in your ROM library) the save will be left alone and will need to be sorted manually, since only you will know for sure what system you were playing that game on. + +### Where will my saves be moved to? + +The saves will still be in the `~/retrodeck/saves` folder, but will also be moved into a new folder that matches what system the associated game is on. + + _Example: Game save - The Legend of Zelda on the NES_
+ +`~/retrodeck/saves/The Legend of Zelda.save` + + will be moved to + + `~/retrodeck/saves/nes/The Legend of Zelda.save` + + _Example 2: Save state - Super Mario Bros 3 on the NES_
+ +`~/retrodeck/states/Super Mario Bros 3.savestate` + + will be moved to + + `~/retrodeck/states/nes/Super Mario Bros 3.savestate` + +### Why could not all saves be moved automatically? + +If you have a large ROM library, it is likely you will have multiple versions of the same game across multiple systems. + +RetroArch creates save files that have the same name as the original ROM file. If there are multiple ROM files with the same name as a save, there is no way to tell which system the save belongs to. + +In the interest of ultimate safety for your saves, we only sort files we can be sure of. It is unfortunate that some saves may need to be sorted manually for some users, but this is a one time process that will keep your saves safer in the long run. + +### How do I move them manually? + +The saves can be moved like any other file, using the Dolphin file manager included in the Steam Deck desktop mode to the corresponding sub-folder inside `/retrodeck/saves/(system sub-folder)`. + +### Where can I find saves that could not be moved? + +If you see a message after the migration process saying some of your saves could not be sorted automatically, they will be found where they have always been, in `~/retrodeck/saves` or `~/retrodeck/states`. + +In the `~/retrodeck` folder there will also be a file called `manual_sort_needed.log` listing every save that could not be sorted automatically with a reason it was not moved. In order to be used again, these files will need to be moved into the folder matching the name of the system that the game the save belongs to runs on. + +For example, this save file could not be sorted automatically, because there are multiple ROMs in the library with the same name. + +**Example: Game saves**
+* New theme 1: [Alekfull-NX-Light](https://github.com/anthonycaccese/alekfull-nx-retropie/tree/retro-deck-esde-1.x-light) for ES-DE +![rd-theme-RetrofixRevisited-GamelistView](https://user-images.githubusercontent.com/1454947/193457594-b803546b-36eb-4e71-9eca-bfee1d81ba36.jpeg) +![rd-theme-RetrofixRevisited-SystemView](https://user-images.githubusercontent.com/1454947/193457596-05dc4316-9f2a-41ae-aa27-9609c680ec5a.jpeg) + +## Updates & minor additions in 0.5.0b + +* New variables system: now some variables such as game folder location are saved in /var/config/retrodeck/retrodeck.cfg. +* Rewritten build and publication workflows +* Updated ES-DE from 1.2.4 to 1.2.6
(Please note that not all the supported emulators in ES-DE are included in RetroDECK at this moment)
+For the full ES-DE patch notes follow these links:
+[1.2.5 Patch Notes](https://gitlab.com/es-de/emulationstation-de/-/blob/master/CHANGELOG.md#version-125)
+[1.2.6 Patch Notes](https://gitlab.com/es-de/emulationstation-de/-/blob/master/CHANGELOG.md#version-126) +* Updated RetroArch, updated all cores and added new cores from 1.10.2 to 1.11.1
+[1.10.3 Patch Notes](https://www.libretro.com/index.php/retroarch-1-10-3-release/)
+[1.11.1 Patch Notes](https://www.libretro.com/index.php/retroarch-1-11-0-release/)
+* Updated all the standalone emulators to their latest releases +* Updated all included themes to their latest version. + +## Bug fixes in 0.5.0b + +* Removed the unavailable emulators from the ES-DE interface to avoid confusion. +* Solved an issue where Dolphin (Standalone) was not saving in the intended directories. +* Various smaller bug fixes, for a more detailed list check the [issues list](https://github.com/XargonWan/RetroDECK/issues?q=is%3Aissue+milestone%3A0.5.0b+) \ No newline at end of file diff --git a/wiki-rtd/Yuzu:-Mods.md b/wiki-rtd/Yuzu:-Mods.md new file mode 100644 index 00000000..9000da34 --- /dev/null +++ b/wiki-rtd/Yuzu:-Mods.md @@ -0,0 +1,33 @@ +# Yuzu + +**Note:**
+`TITLEID` is different for every game. + +## How do I add mods? + +**Requirements:** Mod files
+ +**NOTE:** On the Steam Deck this could be easier to do in `Desktop Mode`. + +There are two ways of adding mods into Yuzu + +### From Yuzu directly +1. Extract any mod files from compressed `.zip` or any other format to folders. +2. Open up Yuzu inside `RetroDECK Configurator` by pressing `Open Emulator` - `Yuzu`. +3. Right click on the game you want to add mods into. +4. Click on `Open Mod Data Destination`. +5. Paste the mod folders inside that directory. +6. Right clicking on the game and selecting `Properties`. +7. Enable the mods you want to enable by pressing the checkboxes in the `Add-Ons` tab and press OK. +8. Quit Yuzu + +### From the mods/yuzu folder + + +1. Extract any mod files from compressed `.zip` or any other format into folders. +2. 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`. +3. Move those folders into `~/retrodeck/mods/yuzu/` +4. Open up Yuzu inside `RetroDECK Configurator` by pressing `Open Emulator` - `Yuzu`. +5. Right clicking on the game and selecting `Properties`. +6. Enable the mods you want to enable by pressing the checkboxes in the `Add-Ons` tab and press OK. +7. Quit Yuzu diff --git a/wiki-rtd/_Sidebar.md b/wiki-rtd/_Sidebar.md new file mode 100644 index 00000000..cc786846 --- /dev/null +++ b/wiki-rtd/_Sidebar.md @@ -0,0 +1,65 @@ +# Wiki startpage +[Home[(/XargonWan/RetroDECK/wiki)] + +## RetroDECK: Getting started +- [How to: Getting started[(How-to:-Getting-started.md)] +- [FAQs: Frequently asked questions[(FAQs:-Frequently-asked-questions.md)] +- [EmulationStation DE: User Guide[(EmulationStation-DE:-User-Guide.md)] + +## RetroDECK: General information +- [How to: Manage your games[(How-to:-Manage-your-games.md)] +- [Emulators: What's included?[(Emulators:-What's-included?.md)] +- [Emulators: BIOS and Firmware[(Emulators:-BIOS-and-Firmware.md)] +- [Emulators: Different controller layouts[(Emulators:-Diffrent-controller-layouts.md)] +- [Emulators: Supported folders and files[(Emulators:-Supported-folders-and-files.md)] +- [EmulationStation DE: Themes[é(EmulationStation-DE:-Themes.md)] + +## RetroDECK: Configuration +- [RetroDECK: Configurator[(RetroDECK:-Configurator.md)] +- [RetroDECK: CLI[(RetroDECK:-CLI.md)] +- [RetroDECK: Folders and filepaths[(RetroDECK:-Folders-and-filepaths.md)] + +## RetroDECK: Development +- [Development: General notes[(Development:-General-notes.md)] +- [Known Issues[(Known-Issues.md)] +- [Version history: Patch Notes[(Version-history:-Patch-Notes.md)] +- [How can I help with testing?[(How-can-I-help-with-testing?.md)] + + +## Emulator Guides: +- [Playstation 3: RPCS3[(Playstation-3:-RPCS3.md)] +- [Switch: Yuzu[(Switch:-Yuzu.md)] + +## Mod Guides: +- [Yuzu: Mods[(Yuzu:-Mods.md)] +- [Citra: Mods[(Citra:-Mods.md)] +- [Dolphin and Primehack: Mods[(Dolphin-and-Primehack:-Mods.md)] + +## Texture Packs Guides: + +- [Citra: Texture Packs[(Citra:-Texture-Packs.md)] +- [Dolphin and Primehack: Texture Packs[(Dolphin-and-Primehack:-Texture-Packs.md)] +- [Duckstation: Texture Packs[(Duckstation:-Texture-Packs.md)] +- [RetroArch Mesen: Texture Packs[(RetroArch-Mesen:-Texture-Packs.md)] +- [RetroArch Mupen64Plus Next: Texture Packs[(RetroArch-Mupen64Plus-Next:-Texture-Packs.md)] +- [PPSSPP: Texture Packs[(PPSSPP:-Texture-Packs.md)] +- [PCXS2: Texture Packs[(PCXS2:-Texture-Packs.md)] + +## Steam Deck +- [Steam Deck: Installation and updates[(Steam-Deck:-Installation-and-updates.md)] +- [Steam Deck: Hotkeys and controls[(Steam-Deck:-Hotkeys-and-controls.md)] +- [Steam Deck: Optimizations[(Steam-Deck:-Optimizations.md)] +- [Steam Deck: Software recommendations[(Steam-Deck:-Software-recommendations.md)] + +## Linux Desktop +- [Linux Desktop: Software recommendations[(Linux-Desktop:-Software-recommendations.md)] + +## Other Devices +- (More information later) + +## Credits & Other +- [RetroDECK: Credits and The Team[(RetroDECK:-Credits-and-The-Team.md)] +- [RetroDECK: The story of RetroDECK[(RetroDECK:-The-story-of-RetroDECK.md)] +- [RetroDECK: Social media rules[(RetroDECK:-Social-media-rules.md)] +- [Licences[(Licences.md)] +- [Archive[(Archive.md)] \ No newline at end of file diff --git a/wiki-rtd/conf.py b/wiki-rtd/conf.py new file mode 100644 index 00000000..be805dcb --- /dev/null +++ b/wiki-rtd/conf.py @@ -0,0 +1,28 @@ +project = 'RetroDECK' +author = 'RetroDECK Team' + +extensions = [ + 'sphinx.ext.autodoc', + 'sphinx.ext.doctest', + 'sphinx.ext.intersphinx', + 'sphinx.ext.todo', + 'sphinx.ext.coverage', + 'sphinx.ext.mathjax', + 'sphinx.ext.ifconfig', + 'sphinx.ext.viewcode', + 'sphinx_rtd_theme', + 'myst_parser', +] + +language = 'English' +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] +html_theme = "sphinx_rtd_theme" + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# +source_suffix = [".md"] +# source_suffix = '.rst' + +# The master toctree document. +master_doc = "index" \ No newline at end of file diff --git a/wiki-rtd/index.md b/wiki-rtd/index.md new file mode 100644 index 00000000..ce5bec03 --- /dev/null +++ b/wiki-rtd/index.md @@ -0,0 +1,151 @@ +### RetroDECK Wiki +

+ RetroDECK logo +

+ +![Flathub](https://img.shields.io/flathub/downloads/net.retrodeck.retrodeck) +![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) + +Welcome to the **RetroDECK wiki**! + +### 🏗️ This wiki is currently under construction 🏗️ + +# What is RetroDECK? +RetroDECK is a [EmulationStation Desktop Edition](https://es-de.org) powered application that builds in a variety of emulators and other software that allows you to play your favorite retro (and even not-so-retro) games in a tidy contained flatpak sandbox environment. It's inspired by embedded emulation systems like AmberELEC, EmuELEC, CoreELEC, Lakka, and Batocera. + +You can also check out our: [Flathub Page](https://flathub.org/apps/net.retrodeck.retrodeck)
+ +## What devices/systems does RetroDECK support: + +### Steam Deck + +Supported from the start and RetroDECK is tailored to the Steam Deck during the beta period. The goal is that all the configurations are ready out-of-the-box and optimized towards the Steam Deck. + +### Linux Desktop +Technically it is working, but the user experience might not be that great it could contain desktop specific bugs and other issues. +You will also need to manually configure the input to match your desktop and might need to tweak more settings. If you want to try it make sure that your distribution has flatpak support (else you will need to install it).
+We will start to have a bigger desktop focus after the beta period is over. + + +### Other SteamOS or Linux handheld gaming devices with flatpak support +We do plan to support other SteamOS based devices in the future. But during the BETA we are focusing on the Steam Deck.
+You can get it to run on other Linux based devices it is not just as seamless as we want it to be and does not live up to our higher standards.
+You will need to manually configure the input to match your device and might need to tweak more settings if you try it on a none Steam Deck device. There might also be some hardware specific bugs. + +## Do you have any plans for other systems? +RetroDECK does not have plans to support Windows, macOS, Android, or iOS.
For similar functionality on Windows you could explore [Retrobat](https://www.retrobat.org/) as an alternative. + + +## How do I start using RetroDECK? + +Please read the [How to: Getting started](https://github.com/XargonWan/RetroDECK/wiki/How-to:-Getting-started) + +## RetroDECK is currently in in BETA and is not a full release. + +- What does "currently in beta" mean?, It means that the software is still under heavy development and big updates can be made that change, add, or remove features. + +- RetroDECK is missing some minor and major; emulators, features and configurations. The goal is to have them added over time.
+ Please check the [Known Issues](https://github.com/XargonWan/RetroDECK/wiki/Known-Issues) page and the [Issue tracker](https://github.com/XargonWan/RetroDECK/issues) for more information. + +- RetroDECK during the BETA period only supports the Steam Deck, but for the full release we should have full Linux Desktop support read more at [FAQs: General questions](https://github.com/XargonWan/RetroDECK/wiki/FAQs:-Frequently-asked-questions#general-questions). +- The "b" in the versioning stands for BETA but RetroDECK is perfectly fine for daily use even during the beta phase, albeit some features are missing. To see what features are missing check the: [Known Issues page](https://github.com/XargonWan/RetroDECK/wiki/Known-Issues). + +## The RetroDECK community: + +[Website](https://retrodeck.net)
+[Discord](https://discord.gg/Dz3szYsP8g)
+[Lemmy](https://lemmy.zip/c/retrodeck)
+[Subreddit](https://www.reddit.com/r/retrodeck)
+ +# Whats the long term vision and goals? +The long term vision and goals of the project is an all-in-one application to manage your entire retro games library that is: + +- Already configured and should just work with your games. + +- Has disaster recovery and multi device support: with cloud saves and syncs. + +- Easy to install with one click installation. + +- Easy to use and provide a "Console-like / Batocera-like" featured user experience. + +- Easy to manage your collections of roms, mods and romhacks. + +- As much as possible should be configurable from inside RetroDECK itself without needing to exiting the application. + +- Make tighter integrations with bundled emulators and expose more features and ways to handle them to the end users. + +- Should be secure, safe, and stable. + +- Should have an easy way to mange external controllers and other inputs. + +- Should support a majority of all supported Emulators in ES-DE + +- Should in the long run support applications outside of the scope of ES-DE + +- Should be plug and play and fill the need for a portable retro gaming solution that you can bring on the go to a friend’s/family/others house. Just dock into the TV and get going! + +- Should fully support Steam Deck, SteamOS based devices and the Linux Desktop. + +- AND MORE + +# Can I contribute to the project? +Yes! Everybody is welcome to contribute in any way possible if it is personal time or funds. + +- Do you know how to code and want to contribute? Please join the development team! + +- Maybe you know graphics, art or UI & UX design? Join the discussion! + +- You can just help by helping others in the support or guide people on various social media and communication platforms. + +- You can also help by just finding and testing the best configurations for the emulators and the roms. + +- Or just help us by doing bug reports on all the issues you find (please check old issues first before submitting a new one). + +- By joining the ✨-new-helpers-start-here channel on [Discord](discord.gg/Dz3szYsP8g) and keeping an eye on the [issues](https://github.com/XargonWan/RetroDECK/issues) tab as well as the [Roadmap](https://github.com/XargonWan/RetroDECK/milestones) tab, you can be up to speed on the latest developments on RetroDECK. + +- We have a [Patreon](https://www.patreon.com/RetroDECK) page if you want to help us keep our build servers running or just buy us a beverage. + +## Any specific examples of what you need help with? + +### Artist/Creators: +- Create new pixel art for the Radial menus. + +- Create easter egg art for various holidays and functions. + +- Create menu art for a new Configurator. + +- Create input art that can be shown when you start a game. + +- Create input art guides for the wiki for the Steam Deck and later various controllers. + +- Create patch note and hype videos. + +- Create instruction videos. + +- Help us make RetroDECK better. + +### Developers: +- Help us put in and make new features. + +- Help us make the Configurator a godot application with full controller support. + +- Help us get releases out faster. + +- Help us make RetroDECK better. + +### Testers: +- Help us test cooker builds and submit bugs and feedback. + +- Help us make RetroDECK better. + +### Everyone: + +- Be kind and follow the rules. + +- Spread the word of RetroDECK if you like it, if you don't like it or have suggestions put them on github into issues or discuss them on discord. + +- Engage with the rest of the community. + +- Help us make RetroDECK better. diff --git a/wiki-rtd/requirements.txt b/wiki-rtd/requirements.txt new file mode 100644 index 00000000..06e83580 --- /dev/null +++ b/wiki-rtd/requirements.txt @@ -0,0 +1,2 @@ +sphinx_rtd_theme +myst-parser \ No newline at end of file