Hi all,
decided to make an account here because I have been trying to solve Dolphin's poor performance on Steam Deck for over 2 months now. It's a real shame because Dolphin on the Steam Deck is one of the reasons I bought it in the first place.
Just want to preface this by saying there could be incorrect information here, I don't know enough about the Steam Deck/Dolphin infrastructures to make conclusions, I'm just mainly trying solutions from the various posts I've read. Everything here is anecdotal.
To echo what others have said, the issue primarily pertains to the frame timing and the general 'feeling' that games are just not smooth - completely breaking immersion. I have tested the following games: Pokemon Colosseum, Mario Kart: Double Dash, Spyro: A Hero's tail. I'm testing these games because firstly I own them on my Gamecube and I've played them enough to know what 'normal' should feel like, but also because I've played them on my Windows 10 machine and they run flawlessly.
What does the issue look like: Smooth and perfect emulation followed by a couple of seconds of choppiness or stuttering, rinse and repeat. I have found there are specific areas in the games I've played that induce this stuttering. Does NOT affect the FPS of the games. They are rock solid for the most part.
I have seen various posts suggesting all is fine and dandy on the Steam Deck with regards to Dolphin and I honestly have a difficult time believing this given that I have explored many Youtube videos on Dolphin emulation for the Steam Deck, most of which I have been able to identify the choppiness/micro-stuttering. In addition to this, I have tested Dolphin on 2 separate Steam Decks and both have presented similar problems. For comparison, the other emulator I use is Cemu which I'm running through Proton, this issue of choppiness/stuttering doesn't exist there (I do get FPS drops, but this isn't the same thing).
I should also mention I have tried 3 different ways of installing Dolphin:
The general consensus it that it might be due to the power saving features on the Steam Deck, the CPU isn't providing enough juice and when it ramps up to provide that power we see sudden frametime changes/choppiness/stuttering. I think it really boils down to this or shader compilation.
Here are the fixes I've tried in no particular order and the impact on stutter:
Edit 1: added my v_sync attempt
Edit 2: added gpu overclock attempt
decided to make an account here because I have been trying to solve Dolphin's poor performance on Steam Deck for over 2 months now. It's a real shame because Dolphin on the Steam Deck is one of the reasons I bought it in the first place.
Just want to preface this by saying there could be incorrect information here, I don't know enough about the Steam Deck/Dolphin infrastructures to make conclusions, I'm just mainly trying solutions from the various posts I've read. Everything here is anecdotal.
To echo what others have said, the issue primarily pertains to the frame timing and the general 'feeling' that games are just not smooth - completely breaking immersion. I have tested the following games: Pokemon Colosseum, Mario Kart: Double Dash, Spyro: A Hero's tail. I'm testing these games because firstly I own them on my Gamecube and I've played them enough to know what 'normal' should feel like, but also because I've played them on my Windows 10 machine and they run flawlessly.
What does the issue look like: Smooth and perfect emulation followed by a couple of seconds of choppiness or stuttering, rinse and repeat. I have found there are specific areas in the games I've played that induce this stuttering. Does NOT affect the FPS of the games. They are rock solid for the most part.
I have seen various posts suggesting all is fine and dandy on the Steam Deck with regards to Dolphin and I honestly have a difficult time believing this given that I have explored many Youtube videos on Dolphin emulation for the Steam Deck, most of which I have been able to identify the choppiness/micro-stuttering. In addition to this, I have tested Dolphin on 2 separate Steam Decks and both have presented similar problems. For comparison, the other emulator I use is Cemu which I'm running through Proton, this issue of choppiness/stuttering doesn't exist there (I do get FPS drops, but this isn't the same thing).
I should also mention I have tried 3 different ways of installing Dolphin:
- I played Dolphin through Emudeck - one of the admins on this forum suggested Dolphin is running via Retroarch with an outdated core, which made me think the choppiness was due to that, I did a complete refresh of the Steam Deck in order to wipe Emudeck from my system. (I believe Emudeck installs the standalone version of Dolphin)
- Installed Dolphin via the Discover store, no difference to choppiness
- Downloaded the Windows version of Dolphin.exe and playing it through Proton on Steam. I added this as a non-Steam game. The stuttering was the worst here and I soon abandoned this version.
The general consensus it that it might be due to the power saving features on the Steam Deck, the CPU isn't providing enough juice and when it ramps up to provide that power we see sudden frametime changes/choppiness/stuttering. I think it really boils down to this or shader compilation.
Here are the fixes I've tried in no particular order and the impact on stutter:
- Playing Dolphin in desktop mode - improved stutter slightly (I assume again due to power saving differences between Gamemode and desktop mode?). From here all of 'fixes' will be done in Desktop mode.
- Installing the Powertools plugin via Decky Plugin Loader, turning off SMT and reducing cores to 4 - no difference to stutter. Note: I do want to say, this particular 'solution' is the most common one, you'll find it in most posts regarding dolphin stutter on the steam deck. I do think Powertools has a function for specific games in order to boost FPS, however, this particular stuttering issue doesn't seem to be affected. In general how it works, you deactivate the other cores and ramp up the power in the remaining ones, seemed like a very promising candidate for removing stutter. It does improve FPS in some games, so this is worth a shot (though it did lead to a lot of crashes on my Steam Deck so your mileage may vary.)
- Changed the CPU governor from 'Schedutil' to 'Performance' and played in desktop mode - no difference to stutter than already playing in desktop mode itself. The command I used in Konsole is: echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
- Changed all shader compilation methods: Specialised - worst stuttering. Hybrid Ubershaders - better than specialised, but still choppiness. Exclusive Ubershaders - slightly better than Hybrid. Skip drawing - the best to remove stuttering but results in split second black screens in some of the games I've tried.
- Graphics backend, there's really only Vulkan or OpenGL. I did see some recommendations for OpenGL, but this option for me resulted in some stuttering transforming into downright split second freezing in the game. I do not recommend OpenGL for the Steam Deck, stick to Vulkan. Your mileage mary vary.
- Changing the native resolution. I want to emulate games at 2x the native resolution, I don't think this should pose a problem for Steam Deck. However I tested the games above both at 2x resolution and native. Interestingly, I thought this would at least remove some of the stuttering and to an extent it 'smooths' out some of the stuttering, but the problem areas in the games still clearly stutter. I don't think the resolution is the issue here.
- Enabled emulated CPU clock override in config - has a decent impact on stuttering, I set this to 150%. I don't know if it's stable or not for prolonged use, but seemed to make the experience a lot smoother.
- Anti-alising and anistropic filtering were set to the minimum values at all time, I won't even begin to mess around with these options until the stuttering is gone.
- Enabled Skip EFB access from CPU - no impact on stuttering
- Texture Cache, tested 'fast' and 'safe' - no impact on stuttering
- Turning V_sync on in Dolphin and settings the refresh rate of the Steam Deck to that of the game - removes a decent chunk of stuttering. For instance, Pokemon Colosseum runs at 30 fps, so I turned on V_sync and set the refresh rate of the Deck to 30. The issue here is that the menu (which runs at 60fps) becomes super sluggish
- Turning on GPU overclock to various values, from 600 to 1600 mhz - no impact on stuttering
Edit 1: added my v_sync attempt
Edit 2: added gpu overclock attempt