A collection of guides, that range from an autoinstaller, recommended peripheral hardware, to emulation and more...
The update.sh
is a script to install and update Dolphin Developer
, Citron
, sudachi
, Ryujinx
, Cemu
, Panda3DS
, mgbaDev
, melonDS
, RMG
, Lime3DS
, mandarine
, SkyEmu
, GearBoy
, bsnes
and snes9x
from their respective repositories.
Some preliminary notes ⮧
NOTE 1: I recommend getting Emudeck installed, because the script relies on a folder in your user directory, which is
$HOME/Applications
.But don't worry, if you don't want to, the script makes it for you!
NOTE 2: The
updater-v2.1.sh
file is the new version of the script. In the current state it could replace the previous version while providing notifications on what got updated, remained the same or even failed to download, at the cost of 6 times more pop-ups!(these pop-ups are for troubleshooting reasons, you could disable what you dont need by simply modify
notify "text here"
toecho "text here"
inside the script file);Also this script uses another folder, which is
$HOME/Apps
, and the script will make this folder for you!This change was made so if something goes wrong you don't have to reset your Emudeck's configuration!
IMPORTANT: ONLY
Cemu
,Ryujinx
,Citron
,sudachi
,mgbaDev
,Lime3DS
andmandarine
work withEmuDeck
andSteamRomManager
;SkyEmu
,Dolphin Developer
,melonDS
,Panda3DS
,GearBoy
,bsnes
andsnes9x
DO NOT, CHANGE ANYTHING AT YOUR OWN RISK.
-
Download the
update.sh
file; -
Open Konsole terminal and type
chmod +x $HOME/Downloads/updater.sh
to give the.sh
file permission to execute; -
Now open the
.sh
file, it's going to download the latest builds in$HOME/Applications/
and notify you with pop-ups of what it got updated; -
Now go to
$HOME/Applications/
and link in your desktop the emulators (forRyujinx
linkRyujinx.sh
from$HOME/Applications/publish/
, forLime3DS
andmandarine
link.AppImage
from their respective$HOME/Applications/
folders); -
Add the
.sh
file and the new linked emulators to Steam and enjoy the latest updates.
I made some lists regarding emulators, pc ports and utilities this repository follows to make backups of, you can find them here.
Accessories and Hardware Recommendations for SteamDeck ⮧
-
Accessories you could need:
- Screen protector (self-explanatory).
- Cover (self-explanatory).
- Skin (self-explanatory).
- Travel bag (self-explanatory).
-
Extra hardware you could need:
- MicroSD (Samsung, SanDisk, Team-Group).
- 2230 NVMe SSD for storage upgrade (Crucial, Sabrent, Western Digital).
- 45w to 65w PD power bank (20000mAh capacity highly suggested).
- External Storage for extra backup (ShargeDisk or a normal SATA to USB enclosure).
- Monitor (LG, Alienware, Gigabyte).
- Keyboard (Keychron, Akko, Epomaker, Wooting).
- Mouse (Logitech, Pulsar, Endgame Gear).
- IEMs (Moondrop, Tangzu, 7hz, Truthear).
- Headphones (Sennheiser, AKG, Shure).
- Portable DAC/AMP (Qudelix, Fiio, Moondrop).
- Cables/Hubs (Ugreen, Anker, StarTech).
- Controllers (Flydigi, Gamesir, 8bitdo).
-
Extra programs you could like to have:
- WaveRift (shameless plug)
- ProtonUp-QT (compatibility layers installer).
- DeckyLoader (for plugins in gaming mode).
- EmuDeck (wrapper to install most things emulation).
- Discord/Vencord (self-explanatory).
- Vivaldi (better alternative to Chrome).
- Zen/Floorp (custom fork of FireFox).
- Lutris (Non-Steam games installer).
- Heroic Launcher (EpicGames and GOG Galaxy games installer).
- Bottles (for simple exe programs that don't need many dependencies).
- Prism Launcher (Minecraft Java launcher).
- LibreOffice (Microsoft Office alternative).
- VLC (media player for audio and video files).
- OBS (recording and streaming program).
- KdenLive (Adobe Premiere alternative).
- Krita (Adobe Photoshop alternative).
- Gimp (Adobe Photoshop alternative).
- Flatseal (Flatpaks' permissions manager).
- ProtonTricks (dependencies installer for Steam games).
- DeckThemes (CSS Loader for desktop Steam).
EmuDeck Setup (prior Citrus death) ⮧
-
Files and programs you need:
-
Other things you might need:
- Dock or hub (for multiple devices connection).
- Mouse and keyboard (useful for navigation).
- External drive (either for moving files or using it for EmuDeck).
- Syncthing (if you care for syncing files between different PCs).
- Warpinator and Winpinator (if you don't have an external drive to move your files).
- Mods and Cheats (you either rely on communities or dedicated sites).
- DeckyLoader for PowerTools (it can be installed with EmuDeck).
Now let's get started with the installation process:
- Initial EmuDeck installation:
- In Desktop Mode, download EmuDeck.desktop and move it to your desktop window.
- Double click it. It will start installing EmuDeck (and only EmuDeck). You'll notice the previous file being replaced with a new one with the EmuDeck logo. Once it finishes, it's going to open the program for you.
- Select either quick or custom installation. The difference between the two is the ability to choose what emulators you want to install. The first one installs everything EmuDeck offers support for, while with the second, you can just install the emulators you care for.
- Select where you want to install your emulation folder (Which contains the aformentioned emulators based on the selection you made), the aspect ratio for your emulators (I would recommend using the original aspect ratio of each system so you won't encounter graphical glitches), the EmulationStation's theme and whether you want homebrew games or not. Now click the finish button and let EmuDeck install everything you chose.
It's time to move your files:
- [DISCLAIMER] In this section, I will tell you where to move your files with an external drive since it's the fastest way to do it. If you want to do it in any other way, please refer to the embedded links in Syncthing, Warpinator, and Winpinator:
- Open Dolphin, the file explorer (not the emulator), and navigate to your drive where you installed EmuDeck. You're gonna find a folder named Emulation. Right-click on it and open it in a new tab. While you are in it, open a new tab for both BIOS and ROMs folders. Now return to the first tab and open the drive where you have the files you want to move. Now you should have 4 tabs: the drive of your files, the emulation folder, BIOS folder, and ROMs folder. You can close the emulation folder if you don't have any kind of save file or texture pack to move.
- You can start moving your BIOS files from your drive to the BIOS folder. The only files that need a deeper location are your Nintendo Switch's keys and firmware files, which you can move to both Yuzu and Ryujinx folders (Ryujinx needs the firmware installed instead). (For any other emulator, please refer to the EmuDeckWiki).
- You can start moving your ROMs from your drive to the ROMs folder. Inside of it, you're going to find out that each system has a folder for its ROMs. You can read a text file inside each of them to know what ROMs' format each emulator supports. I would recommend creating an update folder for modern systems (like 3DS, WiiU, Switch, PS3, Xbox360, Xbox) that support update ROMs for your games in /Emulation/ROMs/ (please pay attention to folders like WiiU; you're gonna find another ROM folder inside of it, and you need to move your ROMs there instead of just /Emulation/ROMs/WiiU/).
You can now open EmuDeck again and start installing extra programs you might need to get everything working in the best way:
- [DISCLAIMER] Please install DeckyLoader to have access to EmuDeck specific plugins.
- Let's start by checking your BIOS files. Select the BIOS checker section and make sure the box for the emulators you need a BIOS for is green. If it's not, make sure to redumping it.
- If you want to use the gyro controls for emulators that need it or support it, open the gyroscope section. You're gonna need a sudo password. If you have not set a password, this page will prompt you to create one. Insert it and click install. Once the terminal closes, you can go back to the main page.
- Next, you're gonna need PowerTools for emulators like Yuzu and Dolphin-emu, mainly to disable SMT, the multi-thread process of Deck's APU, since in SteamOS 3.4 it's bugged. Go to the PowerTools section and install it the same way as the gyroscope section (same process for DeckyControls, a plugin to quickly check each emulator's controls and hotkeys).
- For better WiiU emulation, I would recommend installing Cemu native, known as Cemu appimage. You can get it in manage emulators > Cemu > install Cemu appimage.
- Add your emulators and ROMs to Steam with SteamRomManager so you will be able to play them in GamingMode. There is a shortcut on the initial page of EmuDeck. Click it. It's going to prompt that it's closing Steam for you. If your controls don't work after clicking yes, please use a mouse to navigate your Deck for this process. Wait for SteamRomManager to boot. Once it opens, go to settings > theme > change it from EmuDeck to classic for easier navigation. You can either leave everything on or turn off the toggle parsers' toggle and turn on only the toggles for the systems you want to add to Steam. Once you're done choosing, click preview > parse. Wait for the program to retrieve the URLs for the artworks. Once it's done, click save to Steam. Now click on the log tab and wait for SteamRomManager to finish saving everything to Steam. Once it's done, close it, and open Steam.
- You can now either go back to GamingMode, installing your ROMs updates for your emulators, or fixing Dolphin-emu and Suyu/Yuzu gyro controls. For this last point, please refer to the following links:
If you updated Emudeck and lost your Citrus entries after using SteamRomManager, the way it parsed Yuzu is:
For Windows:
"C:\Windows\System32\cmd.exe"" /k start /min "Loading PowerShell Launcher" "C:\Windows\System32\WindowsPowershell\v1.0\powershell.exe" -NoProfile -ExecutionPolicy Bypass -Command "& {C:\Emulation\tools\launchers\yuzu.ps1 '-f' '-g' 'C:\Emulation\roms\switch\[rom].nsp'}" && exit " && exit --emudeck
in target;For Linux:
"/home/deck/Emulation/tools/launchers/yuzu.sh"
in target, andvblank_mode=0 %command% -f -g "'/home/deck/Emulation/roms/switch/[rom].nsp'"
in launch options;meanwhile for Citra is:
For Windows:
"C:\Windows\System32\cmd.exe" /k start /min "Loading PowerShell Launcher" "C:\Windows\System32\WindowsPowershell\v1.0\powershell.exe" -NoProfile -ExecutionPolicy Bypass -Command "& {D:\Emulation\tools\launchers\citra.ps1 'D:\Emulation\roms\n3ds\[rom].cxi'}" && exit " && exit --emudeck
in target;For Linux:
"/usr/bin/flatpak" run org.citra_emu.citra "/home/deck/Emulation/roms/n3ds/[rom].cxi"
in target for Citra flatpak;your citra-qt.appimage path here
in target, andvblank_mode=0 %command% "'/home/deck/Emulation/roms/n3ds/[rom].cxi'"
in launch options for Citra Appimage(similar to Yuzu SRM for Linux);These values go into the properties when creating a new entry for a Non-Steam game/app.
If you need the middleware files used by SteamRomManager, you can find them inside the retired emulators.
45fps BOTW on Cemu for SteamDeck ⮧
-
Step 1: Install EmuDeck and Cemu with it. The appimage is advised due to compatibility in gaming mode.
-
Step 2: Put your ROMs into the EmuDeck folder inside
/Emulation/ROMs/WiiU/ROMs
. You need the base game and the latest update. -
Step 3: Open Cemu, select
File>Install game title, update or DLC
and select the update and/or DLC file in the previously said path. The update should be calledThe Legend of Zelda Breath of the Wild (UPDATE DATA) (vXXX)
and DLCThe Legend of Zelda Breath of the Wild (DLC)
. -
Step 4: In Cemu top-bar select
Options>Graphics Packs
. In this window, click ondownload latest community graphic packs
. If Cemu finds a new version, install it and wait for it to be installed. Then open the Graphic Packs again. -
Step 5: In the graphics pack window, select
The Legend of Zelda Breath of the Wild
and open all the drop-down menus except the cheats if you don't need them. -
Step 6: In
Mods
, enableextended memory
. Then infps++
, click on it and selectmode>advanced settings
. Set theframe rate limit
to 40fps,cutscene fps limit
tolimit all cutscenes to 30fps
,static mode
todisabled
,frame average
to6 frames averaged
,fence type
toperformance fence
. Now enablefps++
. -
Step 7: In
Workarounds
, enablegrass swaying
. Then inEnhancements
, click on it and setreflection range
todisabled
. Thenanisotropic filtering
tomedium
. Now enableEnhancements
. Now inGraphics
set theanti-aliasing
tonone
,shadows
tolow
,shadow draw distance
tomedium
orlow
, your choice here. Now enableGraphics
. -
Step 8: Restart Cemu and enjoy Botw :]
30fps TOTK on YuzuEA for SteamDeck ⮧
-
Requirements: keys and firmware 16.0.3 or newer from your switch, base game and update 1.2.0, EmuDeck, and mods.
-
Step 1: Go into desktop mode, install Yuzu with EmuDeck (or use an alternative, like Sudachi or Suyu).
-
Step 2: Move the keys and firmware inside
~/Emulation/bios/yuzu/
if you prefer it. -
Step 3: Move the ROMs into EmuDeck inside
~/Emulation/ROMs/switch/
and install the update. -
Step 4: Open Yuzu, go into
Emulation>Configure>Graphics
inGraphics
changevsync mode
tofifo relaxed
, move to the advanced tab and switchASTC recompression
toBC3
, enableEnable asynchronous presentation
andForce maximum clocks
, switchVRAM usage mode
toAggresive
everything else is stock. -
Step 5: Download the zip file
TOTK-1.2.0-30fps.zip
and extract the content into the mods directory. With Yuzu right-click on the game and selectopen mod data location
. -
Step 6: Go back into gaming mode and make sure you set in the quick access menu the GPU clock at 1200 and lock the FPS limiter to 30. With some decks decreasing the TDP to 11/13 watts helps with battery life.
-
Step 7: Enjoy your TOTK experience on Deck :]
NOTE: the mods present in this repository are quite old, please use TOTK-Optimizer to update them with a new pack.
TIP: if you are updating the mods or is the first time you are using them, clean all your pipeline shaders from TOTK in the remove section of Yuzu when you right-click on the title.
PKHex on Linux ⮧
- pkhex can work on Linux with a bottles environment, by following this link, after installing older .net dependencies, wine ge 9.1 and .net 8, it works and the legality plugin loads too
Modding and Romhacks ⮧
PC ports of retail games ⮧
-
Ninty Pc ports:
-
What you need for smw and sm64 compiling:
-
Under Fedora(39+):
sudo dnf install make gcc python3 glew-devel SDL2-devel
cd $HOME/Downloads git clone https://github.com/AloXado320/sm64ex-alo cd sm64ex-alo git config core.fileMode false chmod -R 775 . make BETTERCAMERA=1 EXTERNAL_DATA=1 QOL_FIXES=1 QOL_FEATURES=1 TEXTURE_FIX=1 -j$(nproc) make clean all CC=clang make
cd $HOME/Downloads git clone https://github.com/snesrev/smw cd smw make -j$(nproc) make clean all CC=clang make
-
Under Android(Termux):
pkg install git wget make python getconf zip apksigner clang binutils which libglvnd-dev
git clone https://github.com/AloUltraExt/sm64ex-alo cd sm64ex-alo git config core.fileMode false chmod -R 775 . cd platform/android/ mkdir ~/../usr/include/KHR wget https://www.khronos.org/registry/EGL/api/KHR/khrplatform.h -O ~/../usr/include/KHR/khrplatform.h mkdir SDL pushd SDL wget https://www.libsdl.org/release/SDL2-2.0.12.zip unzip -q SDL2-2.0.12.zip mv SDL2-2.0.12/include include ln -s . include/SDL2 rm SDL2-2.0.12.zip rm -r SDL2-2.0.12 popd cd ../.. termux-setup-storage cp /storage/emulated/0/Download/baserom.us.z64 ./baserom.us.z64 make -j4 cp build/us_android/sm64.us.f3dex2e.apk /storage/emulated/0/Download/sm64.us.f3dex2e.apk
-
-
List of decompilation projects:
-
Citra core for NSwitch Retroarch and complete versions pack.
All the links below are the references to make the backup of the link above ⮧
- https://github.com/qurious-pixel/dolphin/releases .
- https://github.com/KeatonTheBot/Ryujinx/releases .
- https://github.com/GreemDev/Ryujinx-Canary/releases .
- https://github.com/ryujinx-mirror/ryujinx/releases .
- https://github.com/Scandal-UK/ryujinx/releases.
- https://free-git.org/Emulator-Archive/torzu/releases .
- https://git.citron-emu.org/Citron/Citron/releases .
- https://github.com/cemu-project/cemu_graphic_packs/releases .
- https://github.com/RyzenDew/Lime-3DS-Emulator/releases .
- https://github.com/mandarine3ds/mandarine/releases .
- https://github.com/huhao1987/mGBA_Android/releases .
- https://github.com/skylersaleh/SkyEmu/releases .
- https://github.com/Hydr8gon/NooDS/releases .
- https://github.com/TASEmulators/BizHawk/releases .
- https://github.com/TASEmulators/desmume/releases .
- https://github.com/strato-emu/strato/releases .
- https://github.com/rafaelvcaetano/melonDS-android/releases .
- https://github.com/higan-emu/higan/releases .
- https://github.com/melonDS-emu/melonDS/releases .
- https://github.com/cemu-project/Cemu/releases .
- https://github.com/Rakashazi/emu-ex-plus-alpha .
- https://github.com/Rosalie241/RMG/releases .
- https://github.com/simple64/simple64/releases .
- https://github.com/weihuoya/citra/releases .
- https://github.com/visualboyadvance-m/visualboyadvance-m/releases .
- https://github.com/decaf-emu/decaf-emu/releases .
- https://github.com/Medard22/Dolphin-MMJR2-VBI/releases .
- https://notabug.org/litucks/torzu/releases .
- https://github.com/emuplace/sudachi.emuplace.app/releases .
- https://panda3ds.com/download.html .
- https://mgba.io/downloads.html .
- https://dolphin-emu.org/download .
- https://www.pj64-emu.com/nightly-builds .
- https://github.com/AetherSX2-backup/AetherSX2-builds .
- https://codeberg.org/vimuser/duckstation/releases .
- https://github.com/stenzek/duckstation/actions/runs/10634034303 .
- https://github.com/Trixarian/NetherSX2-patch/releases .
- https://github.com/Trixarian/EtherealSX2/releases .
- https://mednafen.github.io/releases .
- https://pcsx2.net/downloads .
- https://github.com/RPCS3/rpcs3/releases .
- https://github.com/shadps4-emu/shadPS4/releases .
- https://www.ppsspp.org/download .
- https://github.com/Vita3K/Vita3K/releases .
- https://flyinghead.github.io/flycast-builds .
- https://redream.io/download .
- https://github.com/FCare/Kronos/releases .
- https://www.retrodev.com/blastem/changes.html .
- https://tasvideos.org/BizHawk/ReleaseHistory .
- https://www.carpeludum.com/kega-fusion .
- https://github.com/xemu-project/xemu/releases .
- https://github.com/xenia-project/xenia .
- https://emulation.gametechwiki.com/index.php/Emulators_on_Windows .
- https://emulation.gametechwiki.com/index.php/Emulators_on_Linux .
- https://emulation.gametechwiki.com/index.php/Emulators_on_Android .