By William @sonicforces
LATEST UPDATE (6/27/2023): 64-Bit HMM Modding Cleanup
NOTICE: THIS DOC IS SEVERELY OUTDATED! I PLAN ON EVENTUALLY COMING BACK AND UPDATING IT BUT HAVEN'T HAD THE TIME! YMMV ON ALL SOLUTIONS!
Hi. I'm William, and I am a massive Sonic the Hedgehog nerd. I also recently got a Steam Deck, and as soon as I got my hands on one, I had one burning question… How can I turn this into the ultimate Sonic machine? Thus began my quest to try and get the definitive versions of every mainline Sonic game, with an emphasis on mod support, plus some extras such as spin-off games and fan games!
My one big roadblock is I'm not the most familiar with Linux, with Arch in particular being a blind spot for me. Many hours were wasted, but I've gotten into a spot where I've gotten most games running to an acceptable degree with the PC ports if applicable for easy modding, and I've learned a ton along the way.
Keep in mind that if you're not interested in using mods and customizing as much as possible and just want to play the games, for the vast majority of titles you can settle for vanilla versions or emulated versions over PC ports in applicable games like Sonic Heroes. This is mostly aimed towards those who are like me and are very particular about what tweaks they want to use as well as wanting to maximize performance.
In this doc I'll outline some of the steps I took to get everything running, in an effort to spare people the hours and hours of troubleshooting. This doc will also reference the Perfect System doc written by my friend Tracker. It's a really stylish and informative list of mod recommendations and descriptions, and I used it as a baseline wherever possible. Go check him out and give him a follow! He's a cool guy!
As a disclaimer, this doc is not final. The list of Sonic games is ever expanding and new ways to optimize mod installation and tweak options to fit the Deck specifically are always being cooked up. I will try my best to keep this up to date!
There's a few things that you can use to speed up some of these processes as well as add more utility to your Steam Deck that I highly recommend using, but it's entirely optional and all tutorials are written under the assumption that you don't have these, or will mention them when they're absolutely required. I just think it's good to mention since some of these have been SUPER convenient.
PROTONTRICKS: Protontricks is a wrapper that helps with things such as installing programs and dependencies into the prefix of whatever game we're trying to get running. This is used in the Sonic Heroes guide, so you should go ahead and grab that if you're interested init. You can find it on the Discover store in Desktop Mode.
DECKY LOADER: Decky is a plugin loader that adds a ton of features to the Deck, all cooked up by the wonderful community. Basically, you'll be able to download a selection of plugins that enhance the features of the Deck and add entirely new ones! The most useful plugin for me has been the SteamGridDB plugin, which lets you search for artwork for any Steam or non-Steam game within Game Mode, saving a LOT of time compared to manually downloading what you need from the site itself.
Another quite useful plugin is PowerTools. This is good specifically for emulation, as you can squeeze some extra performance out of your Deck at the push of a button with more demanding emulation such as GameCube and Wii. I recommend it in the Sonic Colors section, as it makes that game in particular much more smooth, but you will also see some improvement in Shadow the Hedgehog too.
Finally, and these are admittedly more general recommendations than strictly Sonic related, I recommend using the HLTB for Deck plugin, which will automatically grab the times listed for any game documented on Howlongtobeat.com and display them on your game's library page. I also use vibrantDeck, which lets you adjust the saturation on your Deck's screen to get a little more colorful of an image out of the screen, as sometimes it can come out quite dull.
All of these can be found in Decky's built in plugin downloader!
LUTRIS: Lutris is an open source game manager that helps facilitate and simplify playing non-Steam games on the Steam Deck. I use this for Bestest Game Of The Year Every Year Sonic's Schoolhouse. I prefer Lutris over directly adding to Steam in this case as it's a bit cleaner and easier to work with. You can find Lutris on the Discover store in Desktop Mode.
WARPINATOR: Warpinator is a file transfer tool that makes transferring files from Windows to Linux and vice versa extremely easy. You can find the flatpak for it in the Discover store on Desktop mode and you can find the Windows client, Winpinator, right here. I found this handy particularly with Mania and Unleashed. You can skip this and use SSH instead if you would prefer, but doing so requires using sudo, which ideally you should only mess with if you know what you're doing. Additionally, you will need an SSH client of your choice on your main PC, such as FileZilla.
For the majority of the 2D Classic-style games, I opted for the decompilations wherever possible as they have excellent modding support and I prefer having each game separated rather than in a collection as with Origins. That said, if you aren't concerned with getting mods, Origins and Mania are both Verified as playable on the Deck. I will not be covering getting mod support working for base Mania in this doc.
I used the Windows version of the decomps and ran them via Proton/Lutris as none of the Linux builds I tried worked nice with mod support. I did all of the setup on the Steam Deck's desktop mode itself as opposed to setting it up on PC and transferring it, so that's the process I'll detail here.
Step 1: Head over to the Github releases page for the decomp and download win_x64.zip. Extract it into a folder called "Sonic1" in your Documents for easy access.
Step 2: Acquire Sonic 1's Data.rdsk from the Android port. I will not cover this part as there are plenty of guides out there already. Once you have it, drop "Data.rdsk" into the "Sonic1" folder you created in the last step.
Step 3: Head to the Github page for the Decomp Scripts. Click the green "Code" button and click Download ZIP. Open up the zip, click on Sonic 1 and extract the Scripts folder inside of it to the "Sonic1" folder you created in Step 1.
Step 4. Still in desktop mode, open Steam and head to your library. Click on "Add a game", hit "Add a Non-Steam Game", and click Browse. From there, navigate to /home/deck/Documents/Sonic1. Change the file type dropdown to "All Files", then click RSDKv4_g4_rev01 and hit Open. You should now see "RSDKv4_g4_rev01.exe" in your Steam library.
Step 5. Right click on "RSDKv4_g4_rev01.exe" and hit Properties. Click on compatibility and check "Force the use of a specific Steam Play compatibility tool." I use "Proton Experimental". Launch the game to confirm it works.
Step 6. Open "settings.ini" in the "Sonic1" folder with your preferred text editor. I use "notepadqq" which is available on the Discover store. From there, edit "DevMenu=false" to "DevMenu=true". I also recommend scrolling down to "[Window]" and setting "WindowScale" to 2. Finally, change the "ScreenWidth" value to "384" to match the Deck's 16:10 aspect ratio. Make sure you save your edits!
Step 7. Now we're ready to add mods! From here you can add whatever you want, but I recommend following the mod recommendations in the Perfect System doc. Create a subfolder in your "Sonic1" folder called "mods" and extract whatever mods you want in there.
Step 8. With Sonic 1 selected in Steam, hit Controller Layout and set Select to Esc. This will allow you to enter the dev menu and enable your mods.
Step 9. Launch Sonic 1 via Steam, press select, navigate to mods and set the mods you downloaded to Active. Hit the B button twice to close the dev menu and your mods should be loaded.
Step 10. From here, it's time to add some art to make it look nice in Steam. For the art, I recommend grabbing what looks nice to you from SteamGridDB. If you installed via Steam, right click on "RSDKv4_g4_rev01.exe", hit properties, and change the name to "Sonic the Hedgehog".
You are now ready to play Sonic 1 with mods on your Steam Deck!
The Sonic 2 decomp actually uses the same executable as Sonic 1! As such, the steps are largely the same, just with Sonic 2 instead of 1.
Step 1: Head over to the Github releases page for the decomp and download win_x64.zip. Extract it into a folder called "Sonic2" in your Documents for easy access.
Step 2: Acquire Sonic 2's Data.rdsk from the Android port. I will not cover this part as there are plenty of guides out there already. Once you have it, drop "Data.rdsk" into the "Sonic2" folder you created in the last step.
Step 3: Head to the Github page for the Decomp Scripts. Click the green "Code" button and click Download ZIP. Open up the zip, click on Sonic 2 and extract the Scripts folder inside of it to the "Sonic2" folder you created in Step 1.
Step 4. Still in desktop mode, open Steam and head to your library. Click on "Add a game", hit "Add a Non-Steam Game", and click Browse. From there, navigate to /home/deck/Documents/Sonic1. Change the file type dropdown to "All Files", then click RSDKv4_g4_rev01 and hit Open. You should now see "RSDKv4_g4_rev01.exe" in your Steam library.
Step 5. If you installed via Steam, right click on "RSDKv4_g4_rev01.exe" and hit Properties. Click on compatibility and check "Force the use of a specific Steam Play compatibility tool." I use "Proton Experimental". Launch the game to confirm it works.
Step 6. Open "settings.ini" in the "Sonic2" folder with your preferred text editor. I use "notepadqq" which is available on the Discover store. From there, edit "DevMenu=false" to "DevMenu=True". I also recommend scrolling down to "[Window]" and setting "WindowScale" to 2. Finally, change the "ScreenWidth" value to "384" to match the Deck's 16:10 aspect ratio. Make sure you save your edits!
Step 7. Now we're ready to add mods! From here you can add whatever you want, but I recommend following the mod recommendations in the Perfect System doc. Create a subfolder in your "Sonic2" folder called "mods" and extract whatever mods you want in there.
Step 8. With Sonic 2 selected in Steam, hit Controller Layout and set Select to Esc. This will allow you to enter the dev menu and enable your mods.
Step 9. Launch Sonic 2 via Steam, press select, navigate to mods and set the mods you downloaded to Active. Hit the B button twice to close the dev menu and your mods should be loaded.
Step 10. From here, it's time to add some art to make it look nice in Steam. For the art, I recommend grabbing what looks nice to you from SteamGridDB. If you installed via Steam, right click on "RSDKv4_g4_rev01.exe", hit properties, and change the name to "Sonic the Hedgehog 2".
You are now ready to play Sonic 2 with mods on your Steam Deck!
Step 1: Head over to the Github releases page for the decomp and download win_x64.zip. Extract it into a folder called "SonicCD" in your Documents for easy access.
Step 2: Acquire Sonic CD's Data.rdsk and videos folder. I will not cover this part as there are plenty of guides out there already. I sourced it from my own copy of Sonic CD, which has since been delisted from Steam. Once you have it, drop "Data.rdsk" into the "SonicCD" folder you created in the last step.
Step 3: Head to the Github page for the Decomp Scripts. Click the green "Code" button and click Download ZIP. Open up the zip, click on Sonic CD and extract the Scripts folder inside of it to the "SonicCD" folder you created in Step 1.
Step 4. Sonic CD doesn't play nice for me via Proton on Steam, so I installed it via Lutris. Download Lutris from the Discover store and launch it. Click the plus in the top left, and click "Add locally installed game". Set the name to "Sonic CD", set the runner to Wine. Then go to the "Game options" tab, hit Browse, and navigate to the Sonic CD folder. Select "RSDKv3_64.exe" and click OK.
Step 5. Sonic CD should now show up in Lutris. Select it and hit play to confirm that it runs. Once you've confirmed it's working go ahead and right click it in Lutris and hit "Create steam shortcut". This should add Sonic CD to your Steam library. You may need to restart Steam for it to show up.
Step 6. Open "settings.ini" in the "SonicCD" folder with your preferred text editor. I use "notepadqq" which is available on the Discover store. From there, edit "DevMenu=false" to "DevMenu=True". I also recommend scrolling down to "[Window]" and setting "WindowScale" to 2. Finally, change the "ScreenWidth" value to "384" to match the Deck's 16:10 aspect ratio. Make sure you save your edits!
Step 7. Now we're ready to add mods! From here you can add whatever you want, but I recommend following the mod recommendations in the Perfect System doc. Create a subfolder in your "SonicCD" folder called "mods" and extract whatever mods you want in there.
Step 8. In Steam, hit Controller Layout and set Select to Esc. This will allow you to enter the dev menu and enable your mods.
Step 9. Launch Sonic CD via Steam, press select, navigate to mods and set the mods you downloaded to Active. Hit the B button twice to close the dev menu and your mods should be loaded.
Step 10. The default art Lutris provides is not really designed for Steam, so I recommend sourcing your own. For the art, I recommend grabbing what looks nice to you from SteamGridDB.
You are now ready to play Sonic CD with mods on your Steam Deck!
Sonic 3 A.I.R. is far and away the absolute best way to play Sonic 3 & Knuckles, and very mercifully the native version works fine with mods, so this install is pretty straightforward!
Step 1: Head to Sonic 3 A.I.R.'s official website and download the Linux version. Extract the .tar.gz to a folder in your Documents called "Sonic3" for easy access. You may need to run "setup_linux.sh" but I didn't seem to need to.
Step 2: Acquire a valid ROM for Sonic 3 & Knuckles. Sonic 3 AIR only accepts a specific type of ROM, and I cannot help you find the correct ROM. Read this for more details. Once you have the right one, go ahead and drop it into your "Sonic3" folder.
Step 3: Double click "sonic3air_linux" to confirm it runs. Once you've done that, navigate to your library on Steam, click on "Add a game", hit "Add a Non-Steam Game", and click Browse. From there, navigate to "/home/deck/Documents/Sonic3". Change the file type dropdown to "All Files", then click sonic3air_linux and hit Open. You should now see "sonic3air_linux" in your Steam library.
Step 4: Now you're ready to add some mods! Mods are stored in a little bit of a funky spot that might take some finessing to get to. In Dolphin (the default file manager, not the emulator!) hit the hamburger icon in the top right and check "Show Hidden Files". You can now navigate to "/home/deck/.local/share/Sonic3" and extract your mods into the mods folder. You can add whatever you want, but I recommend checking out the mods in the Perfect System doc.
Step 5. From here, it's time to add a proper name and some art to make it look nice in Steam. Right click on "sonic3air_linux", hit properties, and change the name to "Sonic 3 A.I.R". For the art, I recommend grabbing what looks nice to you from SteamGridDB.
You are now ready to play Sonic 3 AIR on your Steam Deck! Mods can be enabled within Sonic 3 AIR's menus.
This is where things get a little funky. In order to have access to the Plus content on the decomp, you have to build it yourself. Sonic Mania is already a pretty damn good experience unmodded, so if you're not interested in configuring your game to the tiniest details and extended mod support it's entirely fair to skip this step and just download Mania through Steam. I use the Windows decomp as I haven't tested mod support on Linux and I'm assuming that it's bugged since that was the case for 1, 2, and CD. If you follow these steps, I recommend downloading Warpinator to easily transfer files between your Deck and your PC.
Step 1: On a Windows PC, build your own Mania decomp following this guide by JackCool476. I specifically followed the video tutorial. I built the DX11 version and it seems to work great on the Deck.
Step 2: In the Settings.ini file in the Mania decomp, add a new line under "[Game]" and type "devMenu=y". This is case sensitive so make sure you type it out correctly. Optionally, you can also add another line to "[Game]" and put "username=whateveryouwant" to change the name that appears on the title screen. Additionally, if you would like Sonic Mania to be in 16:10 to match the Deck's aspect ratio, you can add a new line to [Video] saying "pixWidth=1", and setting "windowed" to "n". Fullscreen scales to the Deck screen's native resolution automatically.
Step 3: Add a new folder to your Mania decomp folder called "Mods". Additionally, make a new text file called "modconfig.ini". Extract any mods you would like to play into the Mods folder you just created. Make sure the mods you download are compatible with the decomp!
Step 4: Boot up the decomp, and then press esc to access the dev menu. Here you can enable your mods. The screen will be tiny and the default controls might be a little scuffed, you can press A to select things and use the arrow keys to move around.
Step 5. You are now ready to move the Mania decomp to your Steam Deck! Using Warpinator, send the decomp build folder to your Deck. I recommend installing Sonic Mania to your Steam Deck and pasting the decomp files into where Mania is installed. Rename SonicMania.exe to whatever you want and rename the "RSDKv5U-dx11_64.exe" decomp file to "SonicMania.exe" so Steam launches that whenever you click play on Mania.
You are now ready to play Sonic Mania's decomp on your Steam Deck! You may need to mess with the controls a bit to get them to work.
Previously I didn't have instructions written out for Sonic Origins as there was basically no reason to play it over the excellent decompilations, but now that we've got playable Amy thanks to Origins Plus, I figured I would toss these instructions out there, as the steps are similar enough to other Hedgehog Engine 2 games.
DISCLAIMER: I am aware there is a new method that in theory should be much much easier for modding that uses SteamTinkerLaunch, but so far I have been unsuccessful getting it to work on my Deck. While I haven't had any luck, you may find success by following the instructions here. For now, I will detail the legacy instructions.
Firstly, you should follow the official guide for getting HedgeModManager running on Linux. I recommend using the automatic Bottles script. If you already have HMM installed, you can skip this step. Just make sure you add the launch options listed on the HMM Linux guide or else the mod loader will not be detected.
If you previously had Sonic Origins installed to your Steam Deck, I recommend starting with a clean prefix for Sonic Origins. Installation on some of the Protontricks dependencies tends to crap out if you have previously run specific versions of Proton, such as GE-Proton. You can do this by deleting the "1794960" folder in "/home/deck/.local/share/Steam/steamapps/compatdata/"
Step 1: Right click on Properties on Origins and set your Proton version to Proton 5.0-10 and launch the game. It won't fully launch on Proton 5.0, so just give it a minute or so to create the necessary files and then you can cancel the launch process.
Step 2: Install Protontricks from the Discover store if you don't have it already. Follow the instructions here to allow Protontricks to be executed via Konsole.
Step 3: Once you have it installed, open Konsole and run the following command: "protontricks --no-background-wineserver 1794960 --force dotnet48". Follow the on-screen prompts, and make sure when you get a pop-up to select what version of Windows to reference for Wine configuration, Select Windows XP for the first two pop ups, and then Windows 7 for the last. This should install the necessary dependencies for HMM to work with Sonic Origins. When the process is complete, restart your Steam Deck.
Step 4: Once Protontricks is done, double check that everything was installed properly by opening Protontricks via its flatpak app, selecting Sonic Origins, choosing the default wine prefix, and hitting the first option. If everything checks out, change the Proton version for Sonic Origins to a more modern version. I use Proton Experimental. Launch Sonic Origins and confirm it runs. Make sure "WINEDLLOVERRIDES='d3d11.dll=n,b' %command%" is in your Launch Options!
You can now install mods on Sonic Origins! Now, in terms of mods you should grab, I highly, HIGHLY recommend Origins Blur Fix by dariosamo and Skyth. This will get rid of the awful bilinear filtering that Origins has for some ungodly reason, removing the blur and giving the whole game a much sharper and cleaner presentation. You should also check out The HQ OST Compilation by CubieJudy, which aims to restore each game's soundtrack to the highest available quality. This is particularly great for Sonic 3 & Knuckles, as you can either get the old tracks from the original release or use the tracks from the Prototype, which the new Origins compositions are based on. A great compliment to the OST compilation is the Original Remaster SFX Pack by MegAmi, which restores the older, higher quality sound effects seen in the original mobile releases of Sonic 1, 2, and CD. Finally, I recommend grabbing Origins++ by Xanman and TheMushRunt for a whole host of QOL improvements and polish.
The majority of Adventure/DC era games have PC ports. Normally, as many of you probably know, the PC ports are… subpar, to put it lightly. But we can use mods in order to fix many of the issues they have and get them running well on the Deck!
Despite being listed as Unsupported on the Steam Deck, Sonic Adventure runs well! However, that doesn't stop the port from sucking total ass. Mercifully, there's already a really great guide right here on using SADX Mod Installer on the Steam Deck right here, courtesy of HamStar. This is the method I used and it worked perfectly for me. As usual, the Perfect System doc has a lot of good mod recommendations that will work in tandem with the mods downloaded by SADX Mod Installer to provide an even better experience.
Similarly to Sonic Adventure, there's also a great guide available for installing SA2ModLoader on Steam Deck right here by ZombieOfFun on YouTube. However, instead of adding sonic2app.exe as a non-Steam game as suggested at the end of the tutorial I personally prefer just renaming Launcher.exe to "Launcher.backup.exe" and changing SA2ModManager.exe to be named "Launcher.exe". This will make it so when you open SA2 via Steam it boots straight to the mod manager rather than the vanilla launcher. Before you do this, make sure you set your controls to Controller in the vanilla launcher. After you replace the vanilla Launcher, open up SA2 Mod Manager and click the graphics tab. Set the resolution to 1280x800 to match the Deck's 16:10 resolution and you're good to go!
I use the PC version of Sonic Heroes as opposed to emulation because it provides better customization and mod support. It's a bit more complicated to set up than an emulated version, but I promise that the payoff is well worth it if you're interested in enhancing the game tenfold!
Step 1. Acquire a PC copy of Sonic Heroes. Again, I can't help you here. Google is your friend! You will also need a No CD crack for Heroes, which I also cannot help you with.
Step 2. Using Wine, run the setup.exe for Sonic Heroes. This will install it to "/home/deck/.wine/drive_c/Program Files (x86)/SEGA/SONICHEROES". I recommend just copying the SONICHEROES folder wholesale into your Documents folder for easy access. Reloaded II, our mod manager of choice, has problems finding Sonic Heroes if you keep it in the default Wine folder as it's a hidden folder. Replace the default Tsonic_win.exe with the No CD crack.
Step 3. Add Tsonic_win.exe as a non-Steam game. Right click on Tsonic_win.exe in Steam, hit Properties, then compatibility, then check "Force the use of a specific Steam Play compatibility tool". Set it to Proton Experimental. Now go ahead and launch it at least once. This will generate all of the necessary directories and files for getting Reloaded II working. You can launch it in Desktop mode as it's a small window and very easy to close by default.
Step 4. Now that you've got that set up, it's time to get Reloaded II working. First, head to the Discover store and download Protontricks. This will help us to install the necessary dependencies for Reloaded II. Speaking of dependencies, download these four programs; VC_redist.x64.exe, VC_redist.x86.exe, and both the x64 and x86 executables for .NET 7.0. All of these links are direct from Microsoft's servers and pasted for your convenience, but if you feel more comfortable doing so you can get VC_redist here and .NET 7.0 Desktop Runtimes here. Please make sure you are downloading 7.0.0 and not any of the later versions otherwise Reloaded II will refuse to load properly.
Step 5. Now that you've downloaded everything you need, right click on any one of the programs you just downloaded and open it with Protontricks. It'll open up a selection of all your Steam games. Select Tsonic_win.exe. Go through the installation process and repeat for the remaining programs that you downloaded in the last step.
Step 6. With all of the dependencies installed, we can now get to preparing our actual mod loader! Head over to the GitHub page and download the latest Release.zip file. (At the time of writing, this is version 1.23.7) Extract it to a subfolder in the SONICHEROES folder called "Reloaded".
Step 7. Open up the folder you extracted it to and right click on Reloaded-II.exe (not Reloaded-II32.exe!!). Run it with Protontricks and select Tsonic_win.exe, just like you did with the dependencies. This should open up the mod manager. When it asks you to add an application, navigate to "/home/deck/Documents/SONICHEROES" and select Tsonic_win.exe.
Step 8. Extract the desired mods to "/home/deck/Documents/SONICHEROES/Reloaded/Mods". Per the usual, recommended mods are available on Tracker's Perfect System doc. Otherwise, you can find everything you need on GameBanana! I personally highly recommend using the Adventure Physics Swap and Physics Set + Stage Fixes mods if you're willing to stray away from the vanilla experience, as well as the Graphics Essentials and Widescreen Revamp mods for more general use.
Step 9. Enable all of the mods you want to use. This will also automatically install the dependencies for each mod! The plus symbol next to them means they're enabled. Configure them to your liking! In particular, make sure you configure Controller Hooks' button mappings to match the Steam Deck's. You can long press the Start button to temporarily switch to default controller bindings in Desktop Mode to do this easily. You may also want to open up the configuration for SH Essentials: Graphics and set Height to 800 to match the Deck's native resolution.
Step 10. Now that you're done with that, hit Edit Application, then Advanced Tools & Options, and click Deploy ASI Loader. This will let Reloaded auto-inject into Sonic Heroes whenever it's launched so we don't need to worry about opening it separately. You will also need to right click on Tsonic_win.exe, hit Properties, and add "PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 WINEDLLOVERRIDES="dsound=n,b" %command%" to the launch options.
Step 11. And with that… you're in business! Sonic Heroes should now launch with all mods applied whenever you open it up via Steam. Should you ever need to tinker with the mod configs or add new ones, you can open up Reloaded II again by using Protontricks as you did in step 7. After you confirm everything's working, go ahead and right click on Tsonic_win.exe in Steam, hit properties, and rename it to "Sonic Heroes". Add whatever art tickles your fancy from SteamGridDB and you're all set!
Sonic Heroes was LONG a thorn in my side in regards to this guide, as the old way of installing it required Bottles, which generally was quite buggy for this purpose and also apparently completely changed its user interface since I last wrote out the guide for Heroes. Hopefully this new way is not only simpler, but more consistent. It's been way more consistent for me already, as all of my mods load no problem whereas only a handful would with the Bottles method! Since it only relies on Protontricks it should also be much more future proof. If you have any issues or questions, feel free to get in touch with me on Twitter!
There is no PC port for Shadow the Hedgehog, and it technically doesn't star Sonic, but I still believe it's an important part of mainline Sonic and it deserves to be here because it is undeniably important to the Sonic Lore™. Shadow the Hedgehog Reloaded by LimblessVector and dreamsyntax is an extremely solid fan-made patch for the GameCube version that rebalances the game, fixes a whole host of bugs, restores unused content, and implements a lot of QOL features. It is by far the best way to play the game, in my opinion. So let's get it working on the Deck! This guide will assume that you already have the Dolphin emulator installed via EmuDeck, as that's the way I handled it on my Deck, but the steps shouldn't be all too different for other ways of downloading Dolphin.
Step 1: Find a good ISO dump of Shadow the Hedgehog for the GameCube. You can verify if something is a good dump or not via Dolphin by right clicking on the game, Properties, Verify, and then Verify Integrity. My dump of Shadow is marked as good, and the MD5 hash is "fc936c9b0144c925b45b805fd39da2ac".
Step 2: Download Reloaded 1.1 ISO Patcher Widescreen, Reloaded's Dolphin Addons, and Optional Cheats/Preferences.
Step 3: Extract the Reloaded ISO Patcher wherever you would like. I put mine in a subfolder in Downloads for ease of access.
Step 4: Copy your Shadow the Hedgehog ISO into the same directory as Reloaded's ISO patcher and rename it "GUPE8P.iso".
Step 5: Run the patcher. Lucky for us, the kind folks who made Reloaded included a Linux-compatible patcher script so you can do this all on your deck!
Step 6: Copy the "ShdTH-Reloaded-v1.1.iso" that the patcher gave you into wherever you store your ISO files. For me it was "mmcblk0p1/Emulation/roms/gc".
Step 7: Navigate to "/home/deck/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/Load/". Extract the files from Dolphin Addons. Keep the readme.txt open for later.
Step 8: Go back one folder and head into the GameSettings folder. Extract the GUPE8P.ini file from Optional Cheats/Preferences into it.
Step 9: Open Dolphin and double check your settings to make sure they line up with what's on the readme that we opened in Step 7.
Step 10: Now that we're all finished with setup and configuration, we will now go to Steam Rom Manager to create a shortcut straight to the game. Shadow the Hedgehog Reloaded does not have any art currently on SteamGridDB so I suggest just grabbing the art from the vanilla Shadow the Hedgehog page for the time being. Inserting the images within Steam Rom Manager is ideal so it will remember the images you fed it whenever you need to regenerate your entries upon adding a new Rom.
You should now be ready to play Shadow the Hedgehog Reloaded on your Steam Deck, barring some controller configuration! Make sure Load Custom Textures and Prefetch Custom Textures are both enabled in Dolphin.
Optionally, to squeeze even more performance out of the Deck, I recommend downloading Decky and using the PowerTools plugin. In my experience, Dolphin emulation smooths out a lot if you open PowerTools and disable SMT
The Modern Era of Sonic Games are probably the easiest of the bunch to mod. Everything is pretty straightforward here and the guides should be a lot less wordy than the previous ones. We also get to the point where some games don't have PC ports and are currently difficult to emulate on the Deck, but compromises can be made to get playable experiences.
Previously, I was under the impression that Sonic '06 would not run well under any emulators currently available for the Steam Deck. Luckily, or unluckily depending on how you look at it, I was dead wrong! I managed to track down a Linux AppImage of a custom RPCS3 build made specifically to run Sonic 06 on the Deck and so far it seems to be extremely stable (Well, as stable as 06 can be…) and runs at a pretty solid 60 FPS. Huge shoutouts to reddit user lmweaver for making this build available!
Step 1: Download the RPCS3 custom build here.
Step 2: Fire it up by opening the AppImage. Download the latest PS3 firmware and install it to RPCS3 by going to File > Install Firmware. This is necessary to run retail games.
Step 3: Source your own copy of Sonic 06 for the PS3. I cannot help you with this step. My dump of the game is in the format of a JB folder, which works just fine for me.
Step 4: Hit "Open" in RPCS3 and direct it to wherever your installation of Sonic 06 is. I have my JB Folder in a subfolder in Documents called "06".
Step 5: Hit "Pads" in RPCS3 and change the handler to Evdev.
Step 6: Now that setup is complete for RPCS3, we can add it to Steam so you can access it in Game Mode. In RPCS3, right click on Sonic 06. Mouse over create desktop shortcut. Now, head to your Desktop and right click the new shortcut that RPCS3 created. Hit "Add to Steam". You should now see it in your Steam library. You can right click on it and hit Properties and change the name to whatever you like. I changed it to "SONIC THE HEDGEHOG (2006)". If you want it to boot straight into 06, right click on your desktop shortcut and hit Properties. Go to the Application tab and copy everything from the Arguments field and paste it into the "Launch Options" field in Steam.
Step 7: It's Arting Time. Head on over to the usual site and grab whatever artwork tickles your fancy and apply it to Sonic 06 in Steam.
You are now ready to experience hit video game Sonic the Hedgehog (2006) on your Steam Deck. I haven't had a lot of time to test it, but I haven't run into any abnormal crashes or performance issues.
For posterity's sake, and because I generally regard it as a better experience than vanilla 06, here are the old instructions for downloading the phenomenal fangame Project 06 by ChaosX
Step 1: Download Project 06 onto your Steam Deck.
Step 2: Extract it to a folder in your Documents called P06 for easy access
Step 3: In Steam, head to the Library and click "Add a Game" on the bottom left corner. Select "Add a Non Steam Game", Browse, and then navigate to the P06 folder you just created in the last step. Change the file type dropdown to All Files and select "Sonic the Hedgehog.exe"
Step 4. Right click on Sonic the Hedgehog in Steam, hit Properties, go to the Compatibility tab and check "Force the use of a specific Steam Play compatibility tool". I tested with Proton Experimental and it seems to work fine with that, so go ahead and choose that.
Step 5: While you're in the Properties menu, go ahead and change the name to "Sonic the Hedgehog (2006)" or "Sonic the Hedgehog (P-06)" or whatever you would like to name it.
Step 6. Now we should be ready to add art! As usual, you can find just about whatever you'd need on SteamGridDB. There's even a specific page for P-06!
You should now be able to boot up the game and play it. Make sure you tweak the settings, I had a pretty solid framerate on medium to low graphics.
Sonic Unleashed has long been unplayable due to Xenia not performing properly on Linux, but thanks to a recent contribution from coatlessali Sonic Unleashed now boots properly and runs shockingly well! You'll have to do some manual configuration, but the results are well worth it. As a disclaimer, You may encounter bugs including but not limited to crashes, vertex explosions, audio issues, and framerate issues. Xenia is considered experimental and should be treated as such. Vertex explosions should be treated with extra caution as they can be a potential epilepsy risk. With that out of the way, let's get into how to get Unleashed running!
Step 1: Acquire an NTSC ISO for Sonic Unleashed. Per the usual, I cannot tell you where to get this yourself. Download XISO Extract and extract the contents of the ISO to its own folder. For simplicity's sake, let's call it "unleashed".
Step 2: Download this version of Xenia Canary. Versions past this currently crash on the Deck. For simplicity's sake, create a folder in your Documents called "xenia" and drop the .exe file for Canary in this folder, and create a text file called "Portable.txt". This will keep all Xenia related files within the folder that Xenia is currently in.
Step 3: Download the latest version of Xenia Canary Game Patches and extract the "patches" folder into the "xenia" folder. We will use this later to enable the 60 FPS patch as well as some optimization patches.
Step 4: Now we need to run Xenia Canary to get it to generate the necessary configuration files. Add "xenia_canary.exe" as a non-Steam game. Right click on xenia_canary in Steam, hit Properties, go to the Compatibility tab and check "Force the use of a specific Steam Play compatibility tool". Select Proton Experimental and launch it. Xenia should now open. You should be safe to close it as soon as it opens up.
Step 5: Now to get into the nitty gritty. Open up "xenia-canary.config.toml" with your text editor of choice. I use Notepadqq. Let's go ahead and change a few settings. Firstly, I encountered some really bad audio stretching when first trying to run Unleashed, and was able to fix it by changing "max_queued_frames" to 4. This may result in some audio delay, but I haven't noticed any. Next, change the "gpu" field from "any" to "vulkan". Vulkan is currently the only renderer that works in Xenia. Now, for our 60 FPS patch to work properly, we need to disable vsync. Change the "vsync" field to "false". Finally, you will need to set "apply_patches" to "true" for any of our patches to work. Save the text file.
Step 6: Now it's time to actually enable the patches we want! Go into the "patches" folder and open up "53450812 - Sonic Unleashed.patch.toml" with your text editor of choice. I recommend setting 60 FPS to true, Disable Color Adjustment to true, and Disable Shadow Maps to true. The latter is absolutely essential for performance purposes as dynamic shadows are very expensive performance wise. Save the text file.
Step 7: For simplicity's sake, drop the "unleashed" folder containing the extracted ISO into the xenia folder.
Step 8: In Steam, right click on xenia_canary once again and hit Properties. Change the name to Sonic Unleashed. Additionally, you will need to add the path to Sonic Unleashed's boot file to the launch options. If you followed my instructions, it should be "/home/deck/Documents/xenia/unleashed/default.xex". You can copy this and paste it into the launch options field (make sure you include the quotation marks!)
Step 9: Sonic Unleashed is now bootable via Steam, but we aren't quite done yet. AMD Grass Explosion Fix, a mod by Ordinary GP, is necessary to prevent graphical bugs that render the game practically unplayable in certain stages. To achieve this, download it as well as Unleashed Mod Manager.
Step 10: Extract Unleashed Mod Manager in the same folder as Xenia. Run it via Wine and go through the setup steps. You will need to point it to the paths for your mods, game executable, and Xenia's executable. To keep things clean I recommend making a subfolder called "mods" inside of your Xenia folder. Make sure you select your file paths from "My Computer" in wine so that the file paths are Windows style like the following images, or else you may run into some issues. Additionally, make sure "Uninstall mods automatically" is unchecked, as your mods may automatically disable when trying to launch Sonic Unleashed through Game Mode if it's not disabled.
Step 11: Extract AMD Grass Fix into your mods folder and hit "Refresh Mods List" in UMM. It should now show up in UMM! Make sure it's checked. You can repeat this process with any other mods you would like to install, just make sure they're made for Xenia.
Step 12: Click on the Emulator tab in UMM and make sure the API is set to Vulkan. Then, click back into Mods and hit Save checked mods.
Xenia should now boot in Game Mode, opening up Sonic Unleashed automatically with any mods you have installed! As usual, SteamGridDB will have you covered when it comes to art. You may encounter vertex explosions somewhat regularly while playing. You can change this from a major, game breaking annoyance to a minor inconvenience by binding a button on your Steam Deck to F5. This will clear the GPU cache for Xenia and fix most vertex explosions immediately! I personally put it on one of the back buttons so it's easy to access without messing with any of the game's default inputs.
The Deck struggles to hit the maximum of 60 FPS, but still largely outperforms original hardware. If you want a more consistent experience you can set the Deck's refresh rate to 40hz to get a pretty consistent locked 40 FPS, which looks great while being less demanding!
You may run into occasional crashes. This is expected behavior as Xenia is still in a very experimental state, especially with regards to Unleashed. Just hope it doesn't happen when you're deep into a Werehog stage…
Originally I wanted to get the Sonic Colors DX overhaul working, and I was successful, but the version of Ishiiruka that I compiled requires a version of glibc that is not pre-installed into the Deck, requiring the end user to enable root access and install manually. This method is not something I'm quite comfortable recommending for most end users as packages tend to reset every SteamOS update, meaning every time you update you'll likely have to reinstall glibc. I'm looking for solutions currently, but in the meantime I restored the old instructions to get normal, vanilla Sonic Colors working via Dolphin on EmuDeck.
Step 1: Acquire a NTSC-U ISO or WBFS for Sonic Colors. You can dump this yourself with a homebrewed Wii, but I will not be covering this process here. Ensure that your copy is NTSC-U to ensure compatibility with the texture mods we will be installing in the next step.
Step 2: Navigate to the path that EmuDeck stores your ROMs and ISOs and drop the ISO/WBFS into there (For me, it was "mmcblk0p1/Emulation/roms/wii", as I have my ROMs stored on my SD card.)
Step 3: Let's grab some texture mods from various sources to bring the textures for Sonic Colors up to snuff. I recommend the Sonic Colors HD Texture Pack by Kawasuzu, and High Res UI by Triforce141. High Res UI includes a premade controller profile that maps Wisps to Y and Quick Step to LB+RB for control parity with Sonic Generations.
Step 4: Navigate to "/home/deck/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/Load/Textures" and extract the "SNCE8P" folder from the HD Texture Pack into it. Open up SNCE8P and delete everything in the HUD folder. Then, open up the zip for High Res UI, navigate to "Load/Textures/SNC/1MAIN - UI" inside the zip and extract everything from there into the HUD "/home/deck/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/Load/Textures/SNCE8P/HUD". This will allow you to use the High Res UI alongside HD Texture Pack with no issues.
Step 5: Navigate to "/home/deck/.var/app/org.DolphinEmu.dolphin-emu/config/dolphin-emu/Profiles/GCPad" and copy and paste the "Sonic Colors.ini" from the Sonic Colors UI zip into here.
Step 6: Open Dolphin, navigate to the Controller config and select Sonic Colors for your profile. Load it, then change the device dropdown on the left to "evdev/0/Microsoft X-Box 360 pad 0". Hit save and close the controller config.
Step 7: In Dolphin, hit Config, go to Advanced, and check Enable Emulated CPU Clock Override. Set it to about 175%. This will improve Colors' performance. Close the config.
Step 8: In Dolphin, hit Graphics, and set the backend to Vulkan. OpenGL may also work. In the enhancements tab, set internal resolution to 2x. In the hacks tab, make sure Store EFB Copies to Texture Only is checked. Finally, in Advanced, make sure Load Custom Textures and Prefetch Custom Textures are both checked.
Step 9: Now it's time to add some Gecko codes to Sonic Colors. The ones we will be using are available on the official Dolphin wiki page for Sonic Colors. Right click on Sonic Colors in Dolphin and click Properties. Click on the Gecko Codes page and hit Add New Code. Copy the code from Linear 16:9 Support and paste it to Code. Name the code "16:9" and hit Save. Next, add another code and copy the code from "60FPS" and paste it into the Code field. Name it "60 FPS" and hit save. Make sure both codes are checked.
Step 10: You are now set up to play Sonic Colors via Dolphin! If you use EmuDeck, make sure you use Steam Rom Manager to have Sonic Colors show up in your Steam library. It will automatically grab art for you from SteamGridDB.
Keep in mind that Sonic Colors has some minor physics quirks with the 60 FPS patch. They only occur in a handful of stages and they're pretty easy to circumvent if you know what you're looking for. You can find more details on the Dolphin wiki page for Sonic Colors. These problems don't occur on Sonic Colors DX, but again, I couldn't get it to work to a satisfying degree.
I also strongly recommend downloading Decky and using the PowerTools plugin. Disabling SMT using PowerTools monumentally smooths out the frame pacing of Dolphin emulation and makes the experience much more playable.
If you don't want to go the emulation route, Sonic Colors Ultimate is available on Steam now and is marked as Verified, but I can't say I really recommend that port for a variety of reasons that are well documented online.
As of a few weeks ago, HedgeModManager got some pretty hefty updates with Linux specifically in mind, all of which have vastly simplified the process for getting HMM up and running. Simply follow the instructions on the GitHub page and you'll be in business pretty quickly! Additionally, you should be able to skip the steps listed in "Install mod loader dependencies" as HedgeModManager now links the required dependencies automatically. All I had to do to get mods working on a fresh install was follow the guide for getting things running on Bottles.
Once again, you can find good mod recommendations from the Perfect System doc. I have not experienced crashes with any mods yet, I was even able to use the newly released Customizable Sonic by Lady Lunanova and co. with no issue!
As of a few weeks ago, HedgeModManager got some pretty hefty updates with Linux specifically in mind, all of which have vastly simplified the process for getting HMM up and running. Simply follow the instructions on the GitHub page and you'll be in business pretty quickly! Additionally, you should be able to skip the steps listed in "Install mod loader dependencies" as HedgeModManager now links the required dependencies automatically. All I had to do to get mods working on a fresh install was follow the guide for getting things running on Bottles.
One thing to consider is that, in my experience, load times get pretty bad on Sonic Lost World if you have the mod loader installed on it, which can be a bit of a damper. If you're willing to stomach waiting 10-15 seconds-ish every load screen then you'll probably be fine, but it's a blemish on an otherwise stable experience.
Sonic Lost World doesn't have as many mods as some of its contemporaries, but the lack of quantity is made up for by the sheer quality of what's out there. I can confidently endorse the DLC Restoration mod by ĐeäTh and a whole host of other contributors, which adds the Yoshi's Island Zone and Legend of Zelda Zone DLC levels from the Wii U version, with all mechanics intact. It's really cool, and a shining example of the preservation that the Sonic community is well known for! You can even keep Sonic's Link costume on in every level if you want!
As of a few weeks ago, HedgeModManager got some pretty hefty updates with Linux specifically in mind, all of which have vastly simplified the process for getting HMM up and running. Simply follow the instructions on the GitHub page and you'll be in business pretty quickly! Additionally, you should be able to skip the steps listed in "Install mod loader dependencies" as HedgeModManager now links the required dependencies automatically. All I had to do to get mods working on a fresh install was follow the guide for getting things running on Bottles. This should work regardless of what version of Proton you are on, so no more messing with Proton 5.0!
All mods I have tried worked just fine, with the big ones being Showin and The Duck Dealer's Classic Sonic Improvement mod and the recently released Sonic Forces Re-imagined SHC 2022 demo by brandonj and co (you can find the full list of credits on the SHC page!). Do note these two aren't currently compatible with each other, I tried them separately.
As of a few weeks ago, HedgeModManager got some pretty hefty updates with Linux specifically in mind, all of which have vastly simplified the process for getting HMM up and running. Simply follow the instructions on the GitHub page and you'll be in business pretty quickly! Additionally, you should be able to skip the steps listed in "Install mod loader dependencies" as HedgeModManager now links the required dependencies automatically. All I had to do to get mods working on a fresh install was follow the guide for getting things running on Bottles. This should work regardless of what version of Proton you are on, so no more messing with Proton 5.0!
If you want some extra performance, I recommend selecting the "Disable Shadows" code in HMM and downloading the SimpleFoliage mod by WaferKat. In terms of other mods, anything should work so you can choose whatever fits your tastes! Personal recommendations from me include Outfit Fixes by M&M, Boss Select by acrolo, PHANTOM RUSH - Combat Unlimited by NiniTrance, and the JP Exclusive DLC Restoration.
Sonic 3D Blast comes in two flavors, Mega Drive/Genesis or Saturn. I am not nearly informed enough on Sonic 3D Blast to comment on which version is best, but either version should emulate fine, so pick your poison.
However, what I do know is that Jon Burton, the programmer for the Mega Drive/ Genesis version, released a patch for the MD/GS version that adds a slew of quality of life features and neat additions, such as the ability to play as Super Sonic. If you're interested in that, you can find the patch on his official website. Simply find a good ROM of Sonic 3D Blast and patch with the xdelta patcher. If you're on Linux, you can run the xdelta patcher through Wine and it should operate just fine.
32X emulation is supported via PicoDrive on EmuDeck, if you've chosen to install it. Knuckles' Chaotix should play just fine, but I haven't tested it yet. As far as I know, there are no improvement ROM Hacks for Knuckles' Chaotix, so you'll have to stick with the vanilla version.
That's right. The game you've been clamoring to play portably is finally here. Learning is so fun.
Installation steps have been massively simplified! I would like to give a big thank you to chaomix for helping me out with testing and optimizing the install process. Go check him out! I followed all of these steps on the Steam Deck's Desktop mode.
Step 1: Find an ISO for Sonic's Schoolhouse. Google is your friend here. Once you have it, extract it to a folder in your Documents called "Schoolhouse" for easy access.
Step 2: Ensure you have run at least one Windows exe file using Wine before following these instructions, otherwise the folders you need may not exist yet. Open up the SONIC folder and copy "SONICSH.INI". Paste it into "/home/deck/.wine/drive_c/windows/". You may also need to copy "WING32.DLL" from "home/deck/Documents/Schoolhouse/DRIVERS/WING" and paste it into "/home/deck/.wine/drive_c/windows/syswow64".
Step 3. Download QSynth. This will interpret Sonic's Schoolhouse's MIDI music as there is no native MIDI interpreter on the Deck. Head to the Discover store and install the QSynth flatpak. You will also need to download a Soundfont. I recommend Scc1t2.sf2, which is designed to sound as similar to old Windows-era MIDI instruments as possible. Extract Scc1t2.sf2 wherever you like. I put it in the Schoolhouse folder for easy access.
Step 4. Now it's time to set up QSynth! Open it up and hit the "Setup" button right under the Gain knob. Click on the Soundfonts tab, hit Open, and navigate to "Scc1t2.sf2". Hit okay and close the setup window. Then, head to options. Check "Enable system tray icon" and "Start minimized to system tray." Hit OK.
Step 5. Now that we have that set up, it's time to set up Sonic's Schoolhouse to be run via Lutris. This is preferable as it will access the default Wine prefix rather than Proton, which makes individual prefixes for each game. Open Lutris, and click the plus icon on the top left. Hit "Add a locally installed game", set the runner to Wine, and set the name as Sonic's Schoolhouse. Now, click the Game options tab and select Sonic Schoolhouse's executable. For me this was "/home/deck/Documents/Schoolhouse/SONIC/SONIC.EXE". No, not the creepypasta.
Step 6. Hit save and play Sonic's Schoolhouse via Lutris and confirm everything works. If you hear the MIDI music, QSynth is configured properly! You can now close the game.
Step 7. Now here's where things get a little funky. The only way I could get QSynth to reliably start up alongside Sonic's Schoolhouse in Game Mode was to create a shell script and add that as a Steam shortcut. Create a new text file and name it "start.sh". Open it with your text editor of choice. On Line 1, write "#!/bin/bash". On line 2, write "flatpak run org.rncbc.qsynth & ". Right click on Sonic's Schoolhouse in Lutris and create a desktop shortcut. Now right click on that, click Properties, then the Application tab. Copy everything in the "Command" section and paste it into your shell script on line 2. Your shell script should now look like this:
"#!/bin/bash
flatpak run org.rncbc.qsynth & env LUTRIS_SKIP_INIT=1 flatpak run net.lutris.Lutris lutris:rungameid/<lutris game number>".
Step 8: Save the script and close your text editor. Now that you have that saved, right click on "start.sh", go to Properties, and check "Is executable." Finally, right click on "start.sh" one last time and hit Add to Steam.
Step 9: You're just about done! Right click on start.sh in Steam and set its name to "Sonic's Schoolhouse." Grab some art from SteamGridDB (Trust me, I'm just as surprised as you are that there's a page for it…), apply it to your shortcut in Steam, and you are now ready to experience peak gaming.
Sonic Shuffle works well at 30 FPS on Flycast via EmuDeck, with some minor visual bugs that don't affect the gameplay experience. You may be able to resolve these visual bugs by doing some configuration on your own. In order to see your cards you will need to enable the VMU display. To do this, press down on both control sticks to open up the RetroArch quick menu. Go to Core Options, then scroll down to Visual Memory Unit. Set VMU Screen 1 Display to on. You may also change the position, size, and opacity of the VMU display to whatever you want. Personally, I have mine in the lower right at 2x size.
Sonic the Fighters does not have a native PC port, however I can say that the game runs excellently via RPCS3 on the Deck. In fact, performance is so stable that I didn't notice any frame drops whatsoever in my testing! I chose the PS3 version over Gems collection and Sega Model 2 emulation as the PS3 release is the most stable and has restored cut content from the original releases, with Honey the Cat being the star of the show here. Simply source the .pkg and .rap files for the PSN release of Sonic the Fighters and install them into RPCS3. You can find a guide to rip your legally purchased copy of Sonic the Fighters off your PS3 via homebrew rather easily. Steam Rom Manager will handle all the art and automatically add a shortcut to STF.
As a bonus, RPCS3 recently got netplay support via RPCN, an open-source server solution that emulates the same P2P netplay used on PSN. This means that not only can you play Sonic the Fighters on a handheld, you can play with other people online!!
To get set up with RPCN, simply follow the steps outlined on the official RPCS3 Netplay wiki page. Make sure you follow the steps outlined in "Game-specific configuration" so STF can properly utilize RPCN's servers.
Note that if you choose to play Netplay, I recommend running RPCS3 itself through Game Mode rather than a direct shortcut to Sonic the Fighters. This will allow easy access to RPCN's menus, which is required to add friends and get into lobbies.
If you're looking for people to play with, the Sonic the Fighters Discord is a great place to find matches. Not only that, but it's filled with helpful resources such as basic tutorials, frame data, and hurtboxes. They also run tournaments regularly. Despite what the single player Arcade mode might suggest, STF actually has quite a bit of depth to it's gameplay!
Sonic and the Secret Rings runs great on the Deck, and can be played rather smoothly with traditional gamepad controls rather than motion controls. You shouldn't have to do any special configuration for it to run well in Dolphin, aside from an optional 60 FPS patch. I use this Xbox UI pack by Accelerate in order to switch the button prompts to Xbox to match the Deck's controls. Simply extract the RSRE8P folder from this pack to "/home/deck/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/Load/Textures". Make sure that Load Custom Textures and Prefetch Custom Textures are enabled in Dolphin.
Included is a controller profile, but it didn't work out of the box for me as the way the Deck interprets button presses is different from a traditional Xbox controller. To save you some time, I made a modified version of the controller profile that should work great for the Deck. Drop the INI file into "/home/deck/.var/app/org.DolphinEmu.dolphin-emu/config/dolphin-emu/Profiles/Wiimote" and it will show up in the Controller config menu in Dolphin.
If you are interested in the 60 FPS patch, right click Secret Rings in Dolphin and hit properties. Navigate to Gecko codes, hit "Add New Code…" and copy "040B6878 3800003C" into the Code field. Name it 60 FPS and hit Save. Be warned that there may be some issues with some missions at 60 FPS, so you may have to disable 60 FPS temporarily if you encounter any crashes.
Much like Secret Rings, Black Knight runs pretty perfectly in Dolphin and you should not need to do any special configuration to get it to run well, aside from the optional 60 FPS patch. I use this Xbox UI pack by Accelerate in order to switch the button prompts to Xbox to match the Deck's controls. Simply extract the RENE8P folder from this pack to "/home/deck/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/Load/Textures". Make sure that Load Custom Textures and Prefetch Custom Textures are enabled in Dolphin.
Included is a controller profile, but it didn't work out of the box for me as the way the Deck interprets button presses is different from a traditional Xbox controller. To save you some time, I made a modified version of the controller profile that should work great for the Deck. Drop the INI file into "/home/deck/.var/app/org.DolphinEmu.dolphin-emu/config/dolphin-emu/Profiles/Wiimote" and it will show up in the Controller config menu in Dolphin.
If you are interested in the 60 FPS patch, right click Black Knight in Dolphin and hit properties. Navigate to Gecko codes, hit "Add New Code…" and copy "040887D8 3800003C" into the Code field. Name it 60 FPS and hit Save.
Sonic 4: Episode 1 is listed as Unsupported on Deck. It crashes whenever you try to boot it up. Unfortunately, you can easily fix this by using this patched exe file. Simply replace the vanilla SonicLauncher.exe with the one provided by this zip. Optionally, you can bring your best Donald Duck impression in order to enhance the experience tenfold.
Unlike Episode 1, Sonic 4: Episode 2 runs great out of the box. Not really much to say about it but I figured it was worth mentioning since E1 has issues.
For better or for worse, Sonic Boom: Rise of Lyric runs basically perfectly on the Steam Deck via CEMU. I tested it briefly and had a fairly stable 30 FPS. I would say it runs just about as well as it does on the Wii U. Per the usual, I cannot help you find a copy of Sonic Boom: Rise of Lyric. Google is once again your friend!
I can already hear you asking "Why the HELL is ROBLOX in a doc about playing Sonic Games on the Steam Deck?!" and I don't blame you. However, I have a couple of Sonic-related reasons for wanting it on the Deck. Highlights include Classic Sonic Sim by VyrissDev, a remake of Classic Sonic's physics in ROBLOX complete with a level editor, and Despicable Forces by Shovelware Studios (rehosted by Despicable Boost), a Despicable Me-themed Sonic Forces spoof game that unironically ends up being a great boost-formula experience. And, of course, the most important Sonic-adjacent ROBLOX game of all… Cart Ride Into Get Eaten By Zavok Obby (Who Killed Zomom), a hilarious (citation needed), classic ROBLOX obby styled adventure cooked up by yours truly and my friends Rick and Hero! Be on the lookout for our next game, Find the Zavoks, which will be a full 3D collectathon platformer!
Okay, enough with shilling my own game. Let's get to installing ROBLOX.
Step 1: Download Grapejuice from the Discover store. Grapejuice is a Wine application wrapper that is tailor made to maximize functionality and performance for ROBLOX on Linux
Step 2: Open up Grapejuice. There should already be a premade ROBLOX installation called "Player". If there is not, create one.
Step 3: Click on Player and scroll down to Graphic Settings. Switch the renderer to Vulkan. This will give you a massive performance boost compared to the DirectX11 and OpenGL renderers!
Step 4: Hit save changes and close Grapejuice.
Step 5: Open Steam and hit Add a Game and click Add a Non-Steam Game. Roblox App should appear on this list. Check it and hit Add Selected Programs.
Step 6: Add art from SteamGridDB and you're done! Launch via Steam and log in.
Note that you may need to update ROBLOX manually occasionally by opening up Grapejuice. If you want easy access to Grapejuice via Game Mode, go ahead and add it as a Steam shortcut.
Due to ROBLOX rolling out its new 64-bit client with anti-cheat, Byfron, Roblox currently does not run natively on the Steam Deck due to incompatibilities with Wine. This is actually completely intentional by Roblox, as they specifically disabled playing Roblox via Wine. One of the staff members has stated they will likely get Wine working again in the future, but it's unknown when this will happen.
Similar to Roblox, you're probably thinking "Why the heck is Minecraft here?" Well, that's a much easier question to answer!
Back in December of 2021, An official Sonic-themed DLC pack was released for Bedrock Edition. It's not only a skin pack, but also houses practically an entire game inside of it!
MCBE doesn't have a native Linux version, but with Minecraft Bedrock Launcher, available as a flatpak on the Discover store, as long as you own Minecraft on the Google Play store you'll be able to play what is essentially the Android version of the game on your Deck with minimal compromises! Everything is accounted for, including controller support.
Initially the Marketplace was bugged in MCBL, but it was recently fixed and you can now purchase and download the Sonic DLC and play it on your Deck!
Simply add Minecraft Bedrock Edition's flatpak as a non-Steam game and it should work just fine right out of the box.
While not strictly Sonic related, Bedrock Edition allows you to play crossplay with Windows 10, any console, and any mobile device, so it's a great way to play Minecraft with friends easily!
Emulation for just about any handheld that Sonic games were published for is in a very good spot across the board. You shouldn't have any problems running anything. So far I have personally tested the Sonic Advance and Sonic Rush titles via melonDS on EmuDeck. They played just fine for the most part, with the only real problem being Sonic Rush and the way it uses both screens and expects you to switch which one you're looking at on the fly. It's definitely still possible to play them, but it's more obvious than any other title that you're not playing the game the way it was intended. melonDS has a few different screen layout configs that you can use to try and mitigate these problems but I could never get quite comfortable. Your mileage may vary, and it all boils down to personal preference.
Actually, I did test one other DS game. Sonic Chronicles: The Dark Brotherhood. Currently there is a bug with melonDS where the game will crash whenever it tries to load one of the tutorial FMVs, thus making the game unplayable. I like to consider this a feature and not a bug. You might have better luck with DeSmuME, but I'm not about to put that amount of effort into playing Sonic Chronicles.
I recommend EmuDeck as a one-stop solution for all your emulation needs. It makes things as simple as clicking a few buttons on an installer to get most major emulators configured with the Deck in mind. Here is a cheat sheet that lists every emulator currently supported.
There are a LOT of Sonic racing games. Which I guess isn't super surprising, considering Sonic's whole MO is speed. Luckily, practically all of them work great on the Deck and aren't too difficult to get running! Since there are so many of them, I'm going ahead and putting them in their own category.
The 1998 PC version of Sonic R is the most easily accessible version, and CheatFreak over on GameBanana did the world a solid and made the Sonic R Updater tool, which will automatically update the 1998 version to the more mod-friendly and stable 2004 PC port. I opted to do this process on Windows and transfer the files to my Deck via Warpinator.
Step 1: Mount your Sonic R CD/ISO and run Setup.exe. Install the game wherever you want, I chose the default "C:/Sega/Sonic R" path. Say no to installing both DirectX 6 and DirectPlay as they are unnecessary. Ignore any warnings that the installer spits at you.
Step 2: Run the Sonic R Updater exe and select the path that you installed Sonic R onto. This will patch your installation, update it to the 2004 port, and automatically install Sonic R Mod Manager.
Step 3: Send the SonicR folder to your Deck. I do this using Warpinator. Place it in your Documents folder for easy access.
Step 4: Now it's time to add SonicR.exe as a non-Steam game. Go to your Library in Steam, hit Add a Game, and then hit Add a Non-Steam Game. Hit browse and navigate to "/home/deck/Documents/SonicR"
Step 5: Right click on SonicR.exe and click on Properties. While you're here, Go ahead and rename it to Sonic R. Click on Compatibility and check "Force the use of a specific Steam Play compatibility tool". Select Proton Experimental.
Step 6: Normally this is where I'd say open it to check if it works, but when I opened it I was unable to close it on Desktop mode unless I used a task manager. I am reasonably certain it will work well for you.
You can open the Sonic R Mod Manager by using Wine, and Sonic R mods can be found here. I would give Tracker's Perfect System doc a look as there's a solid list of improvement mods there. Art can be sourced from SteamGridDB, per the usual. I sound like a broken record, don't I…?
Admittedly, I haven't played much of the Riders games, so my suggestions may not be the most informed, but all of my friends who enjoy the Riders series swear by Sonic Riders DX by Extreme Gear Labs. Normally, I would opt for the PC port for maximum compatibility and mod support, but this is one of the rare cases where the state of modding seems to be better on the console version.
Step 1: Source your own copy of Sonic Riders for the GameCube in either .iso or .nkit.iso format.
Step 2: You must then use the patcher to convert it to Riders DX. I opted to run the installer on Windows and send the patched ISO over Warpinator, so I can't guarantee that the patcher will run well on Linux. If you run into issues try running it via Bottles.
Step 3: Download the Sonic Riders DX HD Texture Pack. I grabbed the 720p version, as the Deck's screen is only 800p and 1440p sounded a bit overkill. The 1440p version probably also works fine, I just use 720p in the interest of saving space.
Step 4: Once the patcher has finished up, copy the patched ISO it gave you into wherever you store your Dolphin ISOs. I use EmuDeck on my SD Card, so I put mine in "mmcblk0p1/Emulation/roms/gc".
Step 5: Navigate to "/home/deck/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/Load/Textures" and extract the "GXEE8P" folder from the HD Texture Pack into the Textures directory.
Step 6: We are now ready to add the game to Steam. Use Steam Rom Manager to automatically add a shortcut in Steam and grab art from SteamGridDB.
Step 7: From here on out, all you need to do is configure the controls and settings. I used the same exact graphics settings I detailed in the Sonic Colors section and Riders DX runs at a locked 60 for me. Make sure that Load Custom Textures and Prefetch Custom Textures are both enabled in Dolphin!
Optionally, to squeeze even more performance out of the Deck, I recommend downloading Decky and using the PowerTools plugin. In my experience, Dolphin emulation smooths out a lot if you open PowerTools and disable SMT
If you're interested in playing Netplay, the Extreme Gear Labs Discord is the best place to find players. It also provides several resources and tutorials on how to play on a competitive level! If you want to play netplay, you should use Extreme Gear Labs' custom build of Dolphin, ExGL Dolphin. This build is made specifically with Riders netplay in mind and is the preferred way to play online. Luckily, a Linux AppImage is provided, so setup should be pretty simple!
If I didn't know much about the preferred way to play Sonic Riders, then that means I know even less about the preferred way to play Zero Gravity. I've heard great things about Regravitified, also made by Extreme Gear Labs, but I haven't tried it up until trying to get it to work for the purposes of this guide. The process is largely the same as it was with Riders DX.
Step 1: Source your own copy of Sonic Riders: Zero Gravity for the Wii in either .iso or .wbfs format. Note that it CANNOT be an .nkit.iso file, and it MUST be a good dump. Per the comment from Sewer56 on the SHC2021 page, "A known good WBFS dump has an MD5 checksum of 6c784b8b7684bf39fef965040a809f6d (in Dolphin) and 49f4dc1ef32a543a95d9fe506a4b6c87 (file)."
Step 2: You must then use the patcher to convert it to Regravitified. I opted to run the installer on Windows and send the patched ISO over Warpinator, so I can't guarantee that the patcher will run well on Linux. If you run into issues try running it via Bottles. Select your ISO/WBFS as the Original. Name the output file "SRRG1.0.iso".
Step 3: Download the RG Texture Pack.
Step 4: Once the patcher has finished up, copy the patched ISO it gave you into wherever you store your Dolphin ISOs. I use EmuDeck on my SD Card, so I put mine in "mmcblk0p1/Emulation/roms/wii".
Step 5: Navigate to "/home/deck/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/Load/Textures" and extract the "SRZE8P" folder from the RG Texture Pack into the Textures directory.
Step 6: We are now ready to add the game to Steam. Use Steam Rom Manager to automatically add a shortcut in Steam. There is currently not a ton of art for Sonic Riders Regravitified on SteamGridDB so I recommend subbing in whatever's missing with normal Sonic Riders Zero Gravity assets or making your own.
Step 7: From here on out, all you need to do is configure the controls and settings. For good measure, use the settings from the Sonic Colors section. Make sure that Load Custom Textures and Prefetch Custom Textures are both enabled in Dolphin!
Optionally, to squeeze even more performance out of the Deck, I recommend downloading Decky and using the PowerTools plugin. In my experience, Dolphin emulation smooths out a lot if you open PowerTools and disable SMT
If you're interested in playing Netplay, the Extreme Gear Labs Discord is the best place to find players. It also provides several resources and tutorials on how to play on a competitive level! If you want to play netplay, you should use Extreme Gear Labs' custom build of Dolphin, ExGL Dolphin. This build is made specifically with Riders netplay in mind and is the preferred way to play online. Luckily, a Linux AppImage is provided, so setup should be pretty simple!
By default, SASR suffers heavily from stuttering due to shader compilation. They will go away the more you play and the more shaders you build up, but you can expect the game to freeze up for upwards of 5 seconds whenever you see just about anything for the first time in-game. When doing my first Grand Prix race, the game froze on the loading screen for well over two minutes.
Luckily, I was able to fix this by using Proton Experimental and adding "DXVK_ASYNC=1 %command%" to the launch options. This will make it so the game continues to run even if it runs into something that isn't cached. It might look a little goofy however, as things not already cached won't render for a second or two. I found this to be a good compromise, and it made for a pleasant experience from what I tried.
Unlike its older brother, SASRT runs like a dream without having to mess with any settings. I did not have to use any launch options or manually change which Proton version I was using. I highly recommend playing this, as it's easily my favorite game in the Kart Racing genre, barring fangames. Also, this one has Team Fortress 2 characters, which makes it an inherent improvement over SASR.
Despite being marked as Unsupported on Deck, this game runs absolutely flawlessly. Definitely WAY better than how SASR ran and that's marked as playable. TSR will work right out of the box with no launch options or configuration necessary.
Fan games are an absolute essential part of the Sonic community at large, and there are some genuine must plays to sink your teeth into that blur the line between fan project and fully realized game. We already talked about Project 06 earlier on in the doc, so it won't be covered here, but I felt it was only right to shine a spotlight on some of my favorite fan games!
Sonic Robo Blast 2 by Sonic Team Jr. is very painless to set up, as there's a flatpak for it available on the Discover store. Simply install it and it will show up in your installed programs on Desktop Mode. From there, you can add it to your Steam library by going to Library, Add a Non-Steam Game, and it should show up in the default list of programs. You can even add whatever addons you want! To access SRB2's addons folder, make sure that you have "show hidden files" enabled on your file manager and navigate to "/home/deck/.var/app/org.srb2.SRB2/.srb2/addons". From there, you can copy any .pk3 or .wad files you download from the SRB2 forums into this directory and they will show up within SRB2's addons menu in-game.
As usual, art can be sourced from SteamGridDB!
Much like its older brother, SRB2 Kart, by Kart Krew, is also available as a flatpak on the Discover store.
No tinkering is necessary here, you get the full SRB2K experience right out of the box. Just like the Flatpak version of SRB2, you can add this to Steam by going to Library, Add a Non-Steam Game, and checking its box on the list.
To access SRB2Kart's addons folder, make sure that you have "show hidden files" enabled on your file manager and navigate to "/home/deck/.var/app/org.srb2.SRB2Kart/.srb2kart/addons". From there, you can copy any .pk3 or .wad files you download from the SRB2 forums into this directory and they will show up within SRB2Kart's addons menu in-game.
As usual, art can be sourced from SteamGridDB!
SRB2 Persona's multiplayer demo, by Lat', is also available as a flatpak on the Discover store. The steps to allow it to show up in Steam are the exact same as with SRB2 and Kart.
To access SRB2Persona's addons folder, make sure that you have "show hidden files" enabled on your file manager and navigate to "/home/deck/.var/app/org.srb2.SRB2Persona/.srb2/addons". From there, you can copy any compatible .pk3 or .wad files from either the SRB2 forums or the GameBanana page. Make sure any addons you grab from the forums are specifically noted to be compatible with SRB2P. I recommend the Super Mario Bros!
To get it to show up in Steam, I simply added the AppImage as a non-Steam game. Finally, go ahead and run over to… what was it called again… Oh, right! SteamGridDB to get some art to pretty SRB2P up and you're just about done!
Sonic Triple Trouble 16-Bit by Noah Copeland and co. runs great through Proton! Simply download it, extract the files into a folder in your Documents called "tripletrouble" for easy access, and then add the .exe file as a non-Steam game as we did with the other Classic games. Go into Properties, change the name to Sonic Triple Trouble 16-Bit, go to Compatibility, check "Force the use of a specific Steam Play compatibility tool" and set it to Proton Experimental. Something something SteamGridDB.
Sonic Smackdown by ArcForged is a pretty awesome Sonic fighting game that takes a lot of inspiration from the Marvel vs Capcom series. I was able to get it to run the same way I did Triple Trouble. Go into Properties, change the name to Sonic Smackdown, go to Compatibility, check "Force the use of a specific Steam Play compatibility tool" and set it to Proton Experimental. When you open it for the first time you will get an error prompting you to install some files. Hit yes and it will automatically install. Sonic Smackdown will now boot. Now you can go ahead and add some art to it in Steam. Can you guess where you can easily get some art?
You can customize the Steam Deck boot video by downloading "Steam Deck Repo Manager" on Desktop mode, and there's a wide variety of Sonic and Sega related videos available!. To give my Deck a bit more Sega flavor, I use this Sega Dreamcast styled boot video by Sonni Boi and it's awesome! If you want something more "Sonic" specifically, this Sonic Frontiers styled boot video by Shaktimus is also exceptional. You will have to download and install it manually though, as it's not available on Steam Deck Repo Manager. And finally, if you're looking for a more classic feeling, this Sega CD Style boot intro by ZippyVirus is great too!
Wow. Writing this section much after when I initially started this project, but now we have every single mainline Sonic game working on the Steam Deck, plus a ton more!! I kind of can't even believe that this is even possible. Every single game!! On a handheld!! With mod support for nearly every game!!! I hope that this doc has been helpful for those wanting to play their Sonic games on the Deck. I think I can consider this doc basically complete!
If I may take a second to self promote, I would really appreciate it if you checked me out on Twitch. I play a ton of weird licensed platformers and Sonic-adjacent games for your enjoyment and usually my detriment! My community is very tight knit and welcoming and we'd all love to see you there!