-
-
Notifications
You must be signed in to change notification settings - Fork 215
Third Party Emulation
THIS WIKI IS NO LONGER MAINTAINED. VISIT https://emudeck.github.io/ FOR THE NEW EMUDECK WIKI.
Learn how to install various tools and resources related to emulation on your Steam Deck outside of what EmuDeck installs. These tools and resources are either difficult to implement into EmuDeck's installation script directly, require elaborate setup, or may be added to EmuDeck in the future pending time and resources.
The guides on this page are not officially supported by EmuDeck. Many require some level of comfort in the terminal to successfully install. Regardless of your comfort with the terminal, the guides will cover as much detail as possible to address a wide variety of expertise levels. If you get stuck on a certain part, it is encouraged you Google and troubleshoot. The EmuDeck Discord will not be able to promise support for the guides available on this page.
Many of the decompilations and reverse engineered PC ports must be compiled. Compiling on the Steam Deck can be a bit tricky. Distrobox is one solution to make compiling these easy to do and any changes made within a Distrobox are retained on SteamOS updates.
This section will go over setting up a Distrobox, which you will utilize throughout this page.
Note: Skip this section if you have already set a sudo password
- In Desktop Mode, open
Konsole
, type inpasswd
, and press enter - You'll be prompted to create a password. Your text will not be visible. After you press enter, you will need to type your password again to confirm
- Exit out of Konsole
This will require your sudo password for the setup
- In Desktop Mode, open Konsole and enter the following two lines, one at a time
curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sh -s -- --prefix ~/.local
curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/extras/install-podman | sh -s -- --prefix ~/.local
- In Desktop Mode, open the
/home/deck
folder- You may not see the word
deck
in the file path at the top, this is thehome
folder for thedeck
user
- You may not see the word
- Click the hamburger menu in the top right,
☰
, clickShow Hidden Files
- Right click
.bashrc
, clickOpen with Kate
or a file editor of your choice - Add these three lines to the bottom of the
.bashrc
file
# Uncomment the line below if you know that you are using xhost
#xhost +si:localuser:$USER
export PATH=$PATH:$HOME/.local/bin
export PATH=$PATH:$HOME/.local/podman/bin
- Save the
.bashrc
file and exit - If you had a terminal open previously (Konsole), close out of it and re-open before proceeding to the next section
- Open Konsole
- Create an Ubuntu distrobox:
distrobox create --name ubuntu -i ubuntu:22.10
- Type in
y
to confirm and press enter - Press enter on the
docker.io...
line, typically the first line - To enter the distrobox, open Konsole and enter:
distrobox enter ubuntu
- You will need to enter the distrobox when compiling the various games on this page. You can identify when you are in a distrobox by looking at the lefthand side of Konsole. Using the distrobox created by this guide, it will say
deck@ubuntu
- You will need to enter the distrobox when compiling the various games on this page. You can identify when you are in a distrobox by looking at the lefthand side of Konsole. Using the distrobox created by this guide, it will say
CannonBall is a souped-up game engine for the OutRun arcade game.
Source: https://github.com/djyt/cannonball
- Set up a Distrobox
- Enter the distrobox by opening Konsole and entering:
distrobox enter ubuntu
- Enter the following:
sudo apt install -y sdl2-dev libboost-dev cmake make
Note: The following folder locations are recommendations. You may choose a different folder location.
- In
/home/deck/Applications
, create aDistrobox
folder - In the
Distrobox
folder, right clickOpen Terminal Here
, enter:git clone --recursive https://github.com/djyt/cannonball.git
- A
cannonball
folder will be created, ` - You will add your ROM files will be added after the build is finished
- In
/home/deck/Applications/Distrobox/cannonball
, right clickOpen Terminal Here
, enter:distrobox enter ubuntu
- Enter:
mkdir build
mkdir roms
cd build
cmake --fresh -DTARGET=linux.cmake -DOpenGL_GL_PREFERENCE=GLVND -DCMAKE_BUILD_TYPE="Release" -S ../cmake/
make -j4 VERBOSE=1
- Wait for it to finish building
You must provide particular versions of the OutRun ROM files to run Cannonball. OutRun Revision B Roms need to unpacked into the cannonball/build/roms folder. The cannonball/roms/roms.txt file lists the expected file names to help you check that you have unpacked the correct files.
The location of suitable files cannot be linked here because they are copyright. When you have a suitable archive unpack it so that the files are directly in cannonball/build/roms and not in any subdirectory.
See the Cannonball manual:
https://github.com/djyt/cannonball/wiki/Cannonball-Manual
No particular reconfiguration is needed for the Steam Deck. The game will default to 16:9 widescreen, and has no 16:10 mode, so there will be small black bars at the top and bottom of the SteamDeck screen. Options can be changed inside the Cannonball UI.
cd ~/Applications/distrobox/cannonball/build
./cannonball
OpenGOAL is an unofficial port of Jak and Daxter: The Precursor Legacy for Windows and Linux.
Source: https://opengoal.dev/
Note: The following folder locations are recommendations. You may choose a different folder location.
- In
/home/deck/Applications
, create anOpenGOAL
folder - Download the latest
tar.gz
from here: https://github.com/open-goal/jak-project/releases/tag/v0.1.32 and place it in the folder you created in Step 1- Example: Download
opengoal-linux-v0.1.32.tar.gz
- The version number may be different depending on when you are reading this
- Example: Download
- Right click the
tar.gz
file and clickExtract archive here
- This will make it easier to apply updates. When an update is released, you can overwrite the files in this directory
- Place your
Jak and Daxter: The Precursor Legacy
in/home/deck/Applications/OpenGOAL
- If you use EmuDeck, you may also place it in
Emulation/roms/ps2
- If you use EmuDeck, you may also place it in
- In
/home/deck/Applications/OpenGOAL
, right click, clickOpen Terminal Here
- Enter:
./extractor "NAMEOFJAKANDDEXTERROM"
- If you have spaces, you will need to use quotes around the ROM name
- If you placed your ROM in another directory, you will need to enter the full path
- Example: If you placed it in your
Emulation/roms/ps2
folder on your SD card, the command will look like the following:./extractor "/run/media/mmcblk0p1/Emulation/roms/ps2/NAMEOFJAKANDDEXTERROM"
- Example: If you placed it in your
- To play
Jak and Daxter: The Precursor Legacy
, open/home/deck/Applications/OpenGOAL/gk
Note: After placing your custom textures, you will need to run the extractor again, some steps will be identical to the previous section.
- Download the custom textures from the pinned comment on this Youtube Video: https://www.youtube.com/watch?v=lX1gBO1INZ4 to your
/home/deck/Downloads
folder - Right click
texture_replacements.zip
and clickExtract archive here, autodetect subfolder
- Move the extracted
texture_replacements
folder to/home/deck/Applications/OpenGOAL/data
- In
/home/deck/Applications/OpenGOAL
, right click, clickOpen Terminal Here
- Enter:
./extractor "NAMEOFJAKANDDEXTERROM"
- If you have spaces, you will need to use quotes around the ROM name
- If you placed your ROM in another directory, you will need to enter the full path
- Example: If you placed it in your
Emulation/roms/ps2
folder on your SD card, the command will look like the following:./extractor "/run/media/mmcblk0p1/Emulation/roms/ps2/NAMEOFJAKANDDEXTERROM"
- Example: If you placed it in your
- Wait
- Your custom textures will now be installed
An "HD" version of Super Mario 64 based on the rendered advertisements and art published in Nintendo Power.
Source: https://github.com/Render96/Render96ex/wiki
When you include the HD textures as part of this guide the whole Render96ex install will need 1.1GB of storage. This compares to less than 0.1 GB for the SM64Plus version of the game.
- Set up a Distrobox
- Enter the distrobox by opening Konsole and entering:
distrobox enter ubuntu
- Enter the following:
sudo apt install -y git build-essential pkg-config libusb-1.0-0-dev libsdl2-dev bsdmainutils libglew-dev
Note: The following folder locations are recommendations. You may choose a different folder location.
- In
/home/deck/Applications
, create aDistrobox
folder - In the
Distrobox
folder, right clickOpen Terminal Here
, enter:git clone --single-branch --branch alpha https://github.com/Render96/Render96ex.git
- A
Render96ex
folder will be created, place your Super Mario 64 ROM in this folder - Rename the Super Mario 64 ROM to
baserom.us.z64
- In
/home/deck/Applications/Distrobox/Render96ex/
, right clickOpen Terminal Here
, enter:distrobox enter ubuntu
- Enter:
make -j4 TEXTURE_FIX=1
- Wait for it to finish building
- To play Render96ex, open
sm64.us.f3dex2e
in/home/deck/Applications/Distrobox/Render96ex/build/us_pc
- Download the latest model pack: https://github.com/Render96/ModelPack/releases to
/home/deck/Downloads
- Right click
Render96_DynOs_v3.2.7z
and clickExtract archive here, autodetect subfolder
- Move the newly extracted
Render96_DynOs...
folder to/home/deck/Applications/Distrobox/Render96ex/build/us_pc/dynos/packs
- To enable custom models, in game, press
Start
, pressL2
, selectModel Packs
and enableRender96DynOs...
- In
/home/deck/Applications/Distrobox/Render96ex/
, right clickOpen Terminal Here
, enter:git clone https://github.com/pokeheadroom/RENDER96-HD-TEXTURE-PACK.git -b master
- Move the
gfx
folder in the newly clonedRENDER96-HD-TEXTURE-PACK
folder to/home/deck/Applications/Distrobox/Render96ex/build/us_pc/res
- While in game, press
Start
, pressR1
- Configure settings
An unofficial PC port of The Legend of Zelda Ocarina of Time
Source: https://www.shipofharkinian.com/
Note: You will need one of the following ROMs before you can proceed with the tutorial
Currently the recommended option
Build team: `zelda@srd022j`
Build date: `03-02-21 00:49:18` (year-month-day)
sha1: cee6bc3c2a634b41728f2af8da54d9bf8cc14099
May lead to crashes and instability
sha1: 0227d7c0074f2d0ac935631990da8ec5914597b4
Build team: `zelda@srd022j`
Build date: `03-02-21 00:16:31` (year-month-day)
sha1: 079b855b943d6ad8bd1eb026c0ed169ecbdac7da (Produced by decomp)
sha1: 50bebedad9e0f10746a52b07239e47fa6c284d03 (Alternate)
Note: The following folder locations are recommendations. You can choose a different folder location.
- In
/home/deck/Applications
, create aShipofHarkinian
folder - Download the latest version of
Ship of Harkinian
: https://www.shipofharkinian.com/ to the folder you created in Step 1- Download links are only available from their Discord
- Download the
Linux / SteamDeck (Perfomance Build)
- Right click the downloaded zip file and click
Extract archive here, detect subfolder
- Move the
soh.AppImage
to/home/deck/Applications/ShipofHarkinian
- Right click
soh.AppImage
, clickProperties
, clickPermissions
, checkIs Executable
- Place your
The Legend of Zelda: Ocarina of Time
ROM in/home/deck/Applications/ShipofHarkinian
- Open
soh.AppImage
, wait - To play Ship of Harkinian, open
soh.AppImage
Texture Pack and Mod Sources
This list is not exhaustive
How to Install Custom Textures and Mods
- In your Ship of Harkinian folder, create a
mods
folder, all lowercase-
/home/deck/Applications/ShipofHarkinian
if you used the folders in the above guide - Casing matters
-
- Place your mods or textures directly into this folder. Mods or textures typically have a
.otr
file extension- If you have a
.rar
or.zip
file, you will need to extract it first
- If you have a
- Depending on the mod or texture pack, you may need to enable it in game as well. Refer to the mod or texture pack for any additional instructions
SM64Plus is a fork of sm64-port that focuses on customizability and aims to add features that not only fix some of the issues found in the base game but also enhance the gameplay overall with extra options.
Source: https://github.com/MorsGames/sm64plus
- Set up a Distrobox
- Enter the distrobox by opening Konsole and entering:
distrobox enter ubuntu
- Enter the following:
sudo apt install -y git build-essential pkg-config libusb-1.0-0-dev libsdl2-dev bsdmainutils
Note: The following folder locations are recommendations. You may choose a different folder location.
- In
/home/deck/Applications
, create aDistrobox
folder - In the
Distrobox
folder, right clickOpen Terminal Here
, enter:git clone https://github.com/MorsGames/sm64plus
- A
sm64plus
folder will be created, place your Super Mario 64 ROM in this folder - Rename the Super Mario 64 ROM to
baserom.us.z64
- In
/home/deck/Applications/Distrobox/sm64plus/
, right clickOpen Terminal Here
, enter:distrobox enter ubuntu
- Enter:
make -j4
- Wait for it to finish building
- To play Super Mario 64 Plus, open
sm64.us
in/home/deck/Applications/Distrobox/sm64plus/build/us_pc
- The game may have missing HUD UI textures, to fix these, read the next section
- Download attached
.sh
file- Link: https://gist.githubusercontent.com/rawdatafeel/b3933e82b913175f2b7cad60f9c6f2b5/raw/0f7e619465a4349da98b5c7899a8e998037a9876/SuperMario64Plus.sh
- Right click anywhere on the page, click
Save Page As
- Note: If you are using different folder locations, make sure to edit the above file and edit the paths
- Place in
/home/deck/Applications
- Right click
SuperMario64Plus.sh
- Click
Properties
- Click
Permissions
- Check
Is Executable
- Use
SuperMario64Plus.sh
to open SM64Plus
- Open
sm64.us
in/home/deck/Applications/Distrobox/sm64plus/build/us_pc
at least once so it can generate thesettings.ini
file - Open the
/home/deck/Applications/Distrobox/sm64plus/build/us_pc
folder - Right click
settings.ini
, clickOpen with Kate
or a text editor of your choice - Customize settings
Recommended Settings
- Set
window_height
to800
- In
/home/deck/Applications
, right clickSuperMario64Plus.sh
, clickAdd to Steam
- After adding it to Steam, you may rename the shortcut in Steam directly
Note: This section requires a legal copy of a Super Mario All-Stars
ROM for the SNES.
A reverse engineered clone of Super Mario Bros.
Source: https://github.com/snesrev/smw/tree/smb1
- Set up a Distrobox
- Enter the distrobox by opening Konsole and entering:
distrobox enter ubuntu
- Enter the following commands one at a time:
sudo apt install libsdl2-dev python3-pip make
python3 -m pip install --upgrade pip pillow pyyaml zstandard
Note: The following folder locations are recommendations. You may choose a different folder location.
- In
/home/deck/Applications
, create aDistrobox
folder - In the
Distrobox
folder, right clickOpen Terminal Here
, enter:git clone https://github.com/snesrev/smw.git smb1 -b smb1 --single-branch
- A
smb1
folder will be created, place yourSuper Mario All-Stars
ROM in/home/deck/Applications/smb1/other
- SHA256 Hash:
c05817c5b7df2fbfe631563e0b37237156a8f6b6
- To locate your SHA256 Hash, right click your ROM, click
Properties
, clickChecksums
, clickCalculate
to the left ofSHA1
and compare it to the above hash. If it is a match, you have a valid ROM
- SHA256 Hash:
- Rename the Super Mario World ROM to
smas.sfc
- In
/home/deck/Applications/Distrobox/smb1/other
, right clickOpen Terminal Here
, enter:distrobox enter ubuntu
- Enter:
python3 extract_smb1.py
- Change directories to
/home/deck/Applications/Distrobox/smb1
by entering the following:cd ..
- If you are not comfortable with the terminal, you may also open a terminal in
/home/deck/Applications/Distrobox/smb1
, enter the distrobox again by entering:distrobox enter ubuntu
- Enter:
make
- Wait for it to finish building
- Download attached
.sh
file- Link: https://gist.githubusercontent.com/rawdatafeel/2dcf2e3a19d42fab86c1c67590d51025/raw/bf8010ff9a055acb478462c5da5b5329e4a3fca4/smb1.sh
- Right click anywhere on the page, click
Save Page As
- Note: If you are using different folder locations, make sure to edit the above file and edit the paths
- Place in
/home/deck/Applications
- Right click
smb1.sh
- Click
Properties
- Click
Permissions
- Check
Is Executable
- Use
smb1.sh
to open Super Mario Bros
- In
/home/deck/Applications/Distrobox/smb1/
, right clicksmw.ini
, clickOpen with Kate
or a text editor of your choice - Customize settings
Recommended
- Set
Fullscreen
to1
Note: This section requires a legal copy of a Super Mario All-Stars
ROM for the SNES.
A reverse engineered clone of Super Mario Bros: The Lost Levels.
Source: https://github.com/snesrev/smw
- Set up a Distrobox
- Enter the distrobox by opening Konsole and entering:
distrobox enter ubuntu
- Enter the following commands one at a time:
sudo apt install libsdl2-dev python3-pip make
python3 -m pip install --upgrade pip pillow pyyaml zstandard
Note: The following folder locations are recommendations. You may choose a different folder location.
- In
/home/deck/Applications
, create aDistrobox
folder - In the
Distrobox
folder, right clickOpen Terminal Here
, enter:git clone https://github.com/snesrev/smw.git smbll -b smb1 --single-branch
- A
smbll
folder will be created, place yourSuper Mario All-Stars ROM
in/home/deck/Applications/smbll/other
- SHA256 Hash:
c05817c5b7df2fbfe631563e0b37237156a8f6b6
- To locate your SHA256 Hash, right click your ROM, click
Properties
, clickChecksums
, clickCalculate
to the left ofSHA1
and compare it to the above hash. If it is a match, you have a valid ROM
- SHA256 Hash:
- Rename the Super Mario World ROM to
smas.sfc
- In
/home/deck/Applications/Distrobox/smbll/other
, right clickOpen Terminal Here
, enter:distrobox enter ubuntu
- Enter:
python3 extract.py
- Change directories to
/home/deck/Applications/Distrobox/smbll
by entering the following:cd ..
- If you are not comfortable with the terminal, you may also open a terminal in
/home/deck/Applications/Distrobox/smbll
, enter the distrobox again by entering:distrobox enter ubuntu
- Enter:
make
- Wait for it to finish building
- Download attached
.sh
file- Link: https://gist.githubusercontent.com/rawdatafeel/279ab67a552f665599b8cbda530a6cfa/raw/bda47aaf27d35501c2c32f95d2b3cfe811cfb345/smbll.sh
- Right click anywhere on the page, click
Save Page As
- Note: If you are using different folder locations, make sure to edit the above file and edit the paths
- Place in
/home/deck/Applications
- Right click
smbll.sh
- Click
Properties
- Click
Permissions
- Check
Is Executable
- Use
smbll.sh
to open Super Mario Bros: The Lost Levels
- In
/home/deck/Applications/Distrobox/smbll/
, right clicksmw.ini
, clickOpen with Kate
or a text editor of your choice - Customize settings
Recommended
- Set
Fullscreen
to1
A reverse engineered clone of Super Mario World.
Source: https://github.com/snesrev/smw
- Set up a Distrobox
- Enter the distrobox by opening Konsole and entering:
distrobox enter ubuntu
- Enter the following commands one at a time:
sudo apt install libsdl2-dev python3-pip make
python3 -m pip install --upgrade pip pillow pyyaml
Note: The following folder locations are recommendations. You may choose a different folder location.
- In
/home/deck/Applications
, create aDistrobox
folder - In the
Distrobox
folder, right clickOpen Terminal Here
, enter:git clone https://github.com/snesrev/smw
- A
smw
folder will be created, place your Super Mario World ROM in/home/deck/Applications/smw
- SHA256 Hash:
6b47bb75d16514b6a476aa0c73a683a2a4c18765
- To locate your SHA256 Hash, right click your ROM, click
Properties
, clickChecksums
, clickCalculate
to the left ofSHA1
and compare it to the above hash. If it is a match, you have a valid ROM
- SHA256 Hash:
- Rename the Super Mario World ROM to
smw.sfc
- In
/home/deck/Applications/Distrobox/smw/
, right clickOpen Terminal Here
, enter:distrobox enter ubuntu
- Enter:
make
- Wait for it to finish building
- To play Super Mario World, open
smw
in/home/deck/Applications/Distrobox/smw/
- In
/home/deck/Applications/Distrobox/smw/
, right clicksmw.ini
, clickOpen with Kate
or a text editor of your choice - Customize settings
Recommended
- Set
Fullscreen
to1
A reverse engineered clone of Super Metroid.
Source: https://github.com/snesrev/sm
- Set up a Distrobox
- Enter the distrobox by opening Konsole and entering:
distrobox enter ubuntu
- Enter the following:
sudo apt install libsdl2-dev python3-pip make
Note: The following folder locations are recommendations. You may choose a different folder location.
- In
/home/deck/Applications
, create aDistrobox
folder - In the
Distrobox
folder, right clickOpen Terminal Here
, enter:git clone --recursive https://github.com/snesrev/sm
- A
sm
folder will be created, place your US Super Metroid ROM in/home/deck/Applications/sm
- Rename the Super Metroid ROM to
sm.smc
- In
/home/deck/Applications/Distrobox/sm
, right clickOpen Terminal Here
, enter:distrobox enter ubuntu
- Enter:
make
- Wait for it to finish building
- To play Super Metroid, open
sm
in/home/deck/Applications/Distrobox/sm/
- In
/home/deck/Applications/Distrobox/sm/
, right clicksm.ini
, clickOpen with Kate
or a text editor of your choice - Customize settings
A port of Super Metroid Redux
: https://www.romhacking.net/hacks/4963/, using a reverse engineered clone of Super Metroid.
Source: https://github.com/testyourmine/sm-redux
Source: https://github.com/snesrev/sm
- Set up a Distrobox
- Enter the distrobox by opening Konsole and entering:
distrobox enter ubuntu
- Enter the following:
sudo apt install libsdl2-dev python3-pip make
- Download the patch here: https://www.romhacking.net/hacks/4963/
- Use the romhacking website here to patch your ROM: https://www.romhacking.net/patch/
Note: The following folder locations are recommendations. You may choose a different folder location.
- In
/home/deck/Applications
, create aDistrobox
folder - In the
Distrobox
folder, right clickOpen Terminal Here
, enter:git clone --recursive https://github.com/testyourmine/sm-redux
- A
sm-redux
folder will be created, place your patched US Super Metroid ROM in/home/deck/Applications/sm-redux
- Rename the patched Super Metroid ROM to
sm.smc
- In
/home/deck/Applications/Distrobox/sm-redux
, right clickOpen Terminal Here
, enter:distrobox enter ubuntu
- Enter:
make
- Wait for it to finish building
- To play Super Metroid Redux, open
sm
in/home/deck/Applications/Distrobox/sm-redux/
- In
/home/deck/Applications/Distrobox/sm-redux/
, right clicksm.ini
, clickOpen with Kate
or a text editor of your choice - Customize settings
A reverse engineered clone of Zelda 3 - A Link to the Past.
Source: https://github.com/snesrev/zelda3
- Set up a Distrobox
- Enter the distrobox by opening Konsole and entering:
distrobox enter ubuntu
- Enter the following commands one at a time:
sudo apt install libsdl2-dev python3-pip make
python3 -m pip install --upgrade pip pillow pyyaml
Note: The following folder locations are recommendations. You may choose a different folder location.
- In
/home/deck/Applications
, create aDistrobox
folder - In the
Distrobox
folder, right clickOpen Terminal Here
, enter:git clone https://github.com/snesrev/zelda3
- A
zelda3
folder will be created, place your US Link to the Past ROM in/home/deck/Applications/zelda3/tables
- SHA256 Hash:
66871d66be19ad2c34c927d6b14cd8eb6fc3181965b6e517cb361f7316009cfb
- To locate your SHA256 Hash, right click your ROM, click
Properties
, clickChecksums
, clickCalculate
to the left ofSHA1
and compare it to the above hash. If it is a match, you have a valid ROM
- SHA256 Hash:
- Rename the Link to the Past ROM to
zelda3.sfc
- In
/home/deck/Applications/Distrobox/zelda3/
, right clickOpen Terminal Here
, enter:distrobox enter ubuntu
- Enter:
make
- Wait for it to finish building
- To play zelda3, open
zelda3
in/home/deck/Applications/Distrobox/zelda3/
- In
/home/deck/Applications/Distrobox/zelda3/
, right clickzelda3.ini
, clickOpen with Kate
or a text editor of your choice - Customize settings
Recommended
- Set
ExtendedAspectRatio
to16:10
- Set
Fullscreen
to1
- In
/home/deck/Applications/Distrobox/zelda3/
, right clickOpen Terminal Here
, enter:git clone --recursive https://github.com/snesrev/sprites-gfx.git
- In
/home/deck/Applications/Distrobox/zelda3/
, right clickzelda3.ini
, clickOpen with Kate
or a text editor of your choice - Remove the
#
at the beginning of this line:# LinkGraphics = sprites-gfx/snes/zelda3/link/sheets/megaman-x.2.zspr
- Replace
megaman-x.2.zspr
with the sprite of your choice
For a full list of sprites, visit: http://alttp.mymm1.com/sprites/
- On http://alttp.mymm1.com/sprites/, right click the link above the sprite you would like to use, click
Copy Link
- In a new tab, paste the URL
- If you press enter, it will download the sprite
- The sprite file name will be at the end of the URL
- Example (Crewmate): https://alttpr-assets.s3.us-east-2.amazonaws.com/crewmate.2.zspr
- In
zelda3.ini
, replacemegaman-x.2.zspr
at the end:LinkGraphics = sprites-gfx/snes/zelda3/link/sheets/megaman-x.2.zspr
withcrewmate2.zspr
- Example:
LinkGraphics = sprites-gfx/snes/zelda3/link/sheets/crewmate2.zspr
Choose a soundtrack from: https://www.zeldix.net/t791-the-legend-of-zelda-a-link-to-the-past
Example
- Download
Alternative New Soundtrack For Randomizers by JUD6MENT (updated: Sep 27, 2021)
from: https://www.zeldix.net/t791-the-legend-of-zelda-a-link-to-the-past to your/home/deck/Downloads
folder - Right click
Zelda Alternative Soundtrack by JUD6MENT (update Sep-21-2021).zip
, clickExtract archive here, autodetect subfolder
- Rename the newly extracted
Zelda Alternative Soundtrack by JUD6MENT (update Sep-21-2021)
folder tomsu
-
msu
is case sensitive
-
- Move the
msu
folder to/home/deck/Applications/Distrobox/zelda3/
- In
/home/deck/Applications/Distrobox/zelda3/
, right clickzelda3.ini
, clickOpen with Kate
or a text editor of your choice - Edit the line:
EnableMSU = false
so it instead writes:EnableMSU = true
- MSU1 CD Soundtrack Files are now enabled
This section will use a simple script file to launch the various decompilations and reverse engineered ports on this page. You will need to create a script file per game.
Here's How:
For the following games:
- zelda3: A Link to the Past
- Super Mario Bros
- Super Mario Bros: The Lost Levels
- Super Mario World
- Super Metroid
- Super Metroid Redux
- Cannonball OutRun Engine
- In a folder of your choice, create a text file and give it a descriptive name (matching the game name typically) with a
.sh
file extension- For example:
Super Metroid.sh
orThe Legend of Zelda: A Link to the Past.sh
- For example:
- Open the text file in a text editor of your choice
- Enter the following:
#!/bin/sh cd /path/to/game" "/path/to/gameexecutable"
- Edit the path to where your game executable is located
For example:
#!/bin/bash
cd "/home/deck/Applications/Distrobox/sm"
"/home/deck/Applications/Distrobox/sm/sm"
For the following games:
- Download attached
.sh
file- Link: https://gist.githubusercontent.com/rawdatafeel/b3933e82b913175f2b7cad60f9c6f2b5/raw/0f7e619465a4349da98b5c7899a8e998037a9876/SuperMario64Plus.sh
- Right click anywhere on the page, click
Save Page As
- Note: If you are using different folder locations, make sure to edit the above file and edit the paths
- Place in
/home/deck/Applications
- Right click
SuperMario64Plus.sh
- Click
Properties
- Click
Permissions
- Check
Is Executable
- Use
SuperMario64Plus.sh
to open SM64Plus - In Desktop Mode, right click
SuperMario64Plus.sh
, clickAdd to Steam
For the following games:
- In a folder of your choice, create a text file and give it a descriptive name (matching the game name typically) with a
.sh
file extension- For example:
Ship of Harkinian
orJak and Dexter: The Precursor Legacy
- For example:
- Open the text file in a text editor of your choice
- Enter the following:
#!/bin/sh "/path/to/gameexecutable"
- Edit the path to where your game executable is located
For example:
#!/bin/sh
"/home/deck/Applications/OpenGoal/gk"
- Place your script files in
Emulation/roms/desktop
- In Game Mode, open EmulationStation-DE and play your newly created script files
- Place your script files in
Emulation/roms/desktop
- In
/home/deck/.config/steam-rom-manager/userData/
, openuserConfigurations.json
in a text editor of your choice - Scroll to the very bottom of the text file, you will see a
}
and a]
, add a comma to}
- Paste the below block of text between the
},
and the]
{ "parserType": "Glob", "configTitle": "Decompilations", "steamDirectory": "${steamdirglobal}", "steamCategory": "${Decompilations}", "romDirectory": "${romsdirglobal}/desktop", "executableArgs": "", "executableModifier": "\"${exePath}\"", "startInDirectory": "", "titleModifier": "${fuzzyTitle}", "fetchControllerTemplatesButton": null, "removeControllersButton": null, "imageProviders": [ "SteamGridDB" ], "onlineImageQueries": "${${fuzzyTitle}}", "imagePool": "${fuzzyTitle}", "userAccounts": { "specifiedAccounts": null }, "executable": { "path": "", "shortcutPassthrough": true, "appendArgsToExecutable": true }, "parserInputs": { "glob": "**/${title}@(.sh|.SH|.desktop|.DESKTOP)" }, "titleFromVariable": { "limitToGroups": "", "caseInsensitiveVariables": false, "skipFileIfVariableWasNotFound": false, "tryToMatchTitle": false }, "fuzzyMatch": { "replaceDiacritics": true, "removeCharacters": true, "removeBrackets": true }, "controllers": { "ps4": null, "ps5": null, "xbox360": null, "xboxone": null, "switch_joycon_left": null, "switch_joycon_right": null, "switch_pro": null, "neptune": null }, "imageProviderAPIs": { "SteamGridDB": { "nsfw": false, "humor": false, "styles": [], "stylesHero": [], "stylesLogo": [], "stylesIcon": [], "imageMotionTypes": [ "static" ] } }, "defaultImage": { "tall": null, "long": null, "hero": null, "logo": null, "icon": null }, "localImages": { "tall": null, "long": null, "hero": null, "logo": null, "icon": null }, "parserId": "168816977280299277", "version": 15 }
- Open Steam ROM Manager, toggle the
Decompilations
parser and generate an app list to add your games to Steam
This section specifically applies to:
- Render96ex
- Super Mario 64 Plus
- zelda3: A Link to the Past
- Super Mario Bros
- Super Mario Bros: The Lost Levels
- Super Mario World
- Super Metroid
- Super Metroid Redux
- OpenGOAL: Jak and Dexter: The Precursor Legacy
- In the respective folder, open a terminal and enter:
git pull origin main
- If this does not work, try:
git pull origin master
- Resolve any conflicts
- If it states an ini file is in conflict, rename the pre-existing ini file and add a
.bak
at the end of the file name- For example:
smw.ini.bak
- For example:
- If it states an ini file is in conflict, rename the pre-existing ini file and add a
- Rebuild the game
- You may reference the various sections to re-build the game. The steps will be identical
Link: https://gist.github.com/parkerlreed/4bd1f5fa38f7ffa72f9ceacb7d7f636d
Link: https://gitlab.com/es-de/emulationstation-de/-/blob/master/USERGUIDE.md#hypseus-singe-daphne
Note: The following folder locations are required so EmulationStation-DE can properly recognize the emulator and your ROMs.
Prerequisites:
- EmulationStation-DE 2.0
- Download
Supermodel
from: https://gitlab.com/es-de/emulationstation-de/-/blob/master/USERGUIDE-DEV.md#arcade-and-neo-geo, underSega Model 3
to your/home/deck/Downloads
folder - Right click
Supermodel_2022-10-07.tar.gz
, clickExtract > Extract archive here
- Move the
Config
andNVRAM
folders from the extracted folder in Step 2 toEmulation/roms/model3
- In
/home/deck/Applications
, create aSupermodel
folder - Move the
supermodel
file from the extracted folder in Step 2 to/home/deck/Applications/Supermodel
- After placing ROMs in
Emulation/roms/model3
, openEmulationStation-DE
in Game Mode, and run your Supermodel 3 ROMs
Note: Your ROMs should be zipped
Link: https://gist.github.com/WingofaGriffin/3202698447ca2452a9431137cfc18d21
"It is an unofficial remake of the 1991 Game Boy game Metroid II: Return of Samus in the style of Metroid: Zero Mission (2004)."
Source: https://en.wikipedia.org/wiki/AM2R
Note: You will need a copy of AM2R_1_1.zip
, this section will not cover how to obtain that file
- In Desktop Mode, open Discover
- Search for AM2R
- Download AM2R
- Open AM2R and click the big
Download
button on the main screen - Select
Select AM2R_1_1.zip
, select your file, and play the game
Note: You will need a legal copy of the following games:
- Pokemon Black or Pokemon White
- Optional:
- Pokemon Fire Red
- Pokemon Platinum
- Pokemon Emerald
- Pokemon HeartGold or Pokemon SoulSilver
Note: The following folder locations are recommendations. You may choose a different folder location.
- In
/home/deck/Games
, create aPokeMMO
folder - In
/home/deck/Games/PokeMMO
, create ajdk
folder - Download Java OpenJDK: https://jdk.java.net/19/ to
/home/deck/Games/PokeMMO
- Download
Linux / x64 tar.gz (sha256) 195931906
- Download
- Download PokeMMO: https://pokemmo.com/downloads/linux/ to
/home/deck/Games/PokeMMO
- Under
Other Distributions
, clickDownload the Client
- Under
- Extract
PokeMMO-Client.zip
in/home/deck/Games/PokeMMO
- Extract
openjdk-19.0.2_linux-x64_bin.tar.gz
to/home/deck/Games/PokeMMO/jdk
- If the
.tar.gz
creates a subfolder, move the contents out directly into/home/deck/Games/PokeMMO/jdk
- If the
- To launch the game, open
Konsole
and enter:/home/deck/Games/PokeMMO/jdk/bin/java -jar PokeMMO.exe -cp com.pokeemu.client.Client
- Download attached
.sh
file- Link: https://gist.githubusercontent.com/rawdatafeel/c499a7c8313067c2af4dc9afc785eed0/raw/c81ef659754832fb20295003d166e44d323aeae4/PokeMMO.sh
- Right click anywhere on the page, click
Save Page As
- Note: If you are using different folder locations, make sure to edit the above file and edit the paths
- Place in
/home/deck/Applications
- Right click
PokeMMO.sh
- Click
Properties
- Click
Permissions
- Check
Is Executable
- Use
PokeMMO.sh
to open SM64Plus - In Desktop Mode, right click
PokeMMO.sh
, clickAdd to Steam
- Alternatively, use the Steam ROM Manager parser here: How to Utilize Script Files with Steam ROM Manager to add it to Steam