Dolphin, the GameCube and Wii emulator - Forums

Full Version: Steam Deck Thread
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7
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:
  • 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.
So currently I'm using the standalone version because I thought let's ensure no extraneous variables are affecting the stuttering.

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
I think that pretty much sums up my main attempts. I'm not giving up though. I don't know if this issue is on Valve's side or Dolphin's side, but something's not playing nice here. At some point I may record some gameplay once I have some time to show off the issue. 

Edit 1: added my v_sync attempt

Edit 2: added gpu overclock attempt
Are there any plans to supply official images for the program itself for the steam deck? It would be 4 images, i think:

grid image, which is the game icon in game mode in the library. Changed in desktop mode in the steam app, right click when the title is on the right side of the screen, manage, set custom artwork

hero image, which is the image that is displayed, when the app is selected. When the app is selected, right click where the image would be, set custom background

logo, (optional), which replaces the name of the app with an image on top of the hero image/background. Same place where you change the custom background/hero image, select set custom logo

icon, displayed in desktop mode in the game list on the left. Go to the properties, under Shortcut, click on the empty space next to the app name

The grid image seems to be the most difficult one to get right. In the grid view, it's a 600x900 image, but under recently played, it's a wide screen image, zoomed into the middle of the grid image. At least, that's how it looks to me, there's something weird with the different images, and i haven't figured it out yet.

Might not be a bad idea to submit those images to:
https://www.steamgriddb.com/search/grids?term=Dolphin
(at least none of the images there seem to be official)
(09-20-2022, 11:34 PM)Burnstrike Wrote: [ -> ]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 don't suppose further insight could be gained by testing the native Linux version of Cemu?

Also, if you really want to try covering all angles, I don't suppose you can try running a different OS installation on the deck, whether Windows or Linux? (Manjaro KDE is the most similar to SteamOS according to Valve) From there you could even try running one of the unofficial SteamOS images on a desktop PC (ideally with a similar architecture but that may be difficult).
(09-21-2022, 08:39 AM)Nintendo Maniac 64 Wrote: [ -> ]I don't suppose further insight could be gained by testing the native Linux version of Cemu?

Also, if you really want to try covering all angles, I don't suppose you can try running a different OS installation on the deck, whether Windows or Linux? (Manjaro KDE is the most similar to SteamOS according to Valve) From there you could even try running one of the unofficial SteamOS images on a desktop PC (ideally with a similar architecture but that may be difficult).

Thanks for the recommendations, definitely some good suggestions here that I will have a look into at some point (most likely starting with the Linux version of Cemu)
Hello, just wanting to make a comment in here to ask a question if any developers can give any updates on this. When it comes to optimisation of this emulator for the Deck the solution, I've seen a lot to get the CPU to work at 3.4ghz is to install custom plugins with Decky Loader and using PowerTools to disable SMT and reduce the threads from 8 to 3-4, this boosts performance for Dual Core applications a lot and seems to fix a lot of the harder to run games on the Deck such as Mario Galaxy. Now doing this isn't too difficult but it has run into a lot of problems as Valve is constantly updating the OS and its breaking Decky Loader. Personally I have not used this on my Deck but it is tempting I just don't really want to constantly babysit and check performance to see if it's affecting the Deck every update.

So, to not be so long-winded Deck performance for this emulator is shoddy still without the use of this plugin so my main question is do the Dolphin developers actually have a solution for Deck performance in the short term or is it out of their hands and relies on Valve to push forward better ways for Dual Core applications to run faster?

An official version of changing SMT and Core count by Valve would be a solution but it's not normal to just turn off threads like that, normally that requires entering the bios and making those changes, maybe Valve could do it without requiring users to tinker in bios, it's something the community has been posting about in Steam Discussions but hasn't gotten a response by Valve or any of the key developers who talk about Deck updates on Twitter.

Lastly in the first blog post about the Steam Deck for Dolphin Emulator, it mentioned that there will be an easier way to install Dolphin and performance suggestions, told us to check the forums for information about Deck on Dolphin. This seems to be the only big thread about it, will the next blog mention news about Deck and its future with Dolphin?
Any idea if the stutters were fixed as of the changes mentioned here?

https://www.gamingonlinux.com/2023/01/ga...team-deck/
I haven't tested as of late, but it appears there's improvements being made for games that require SMT to be disabled

https://steamdeckhq.com/news/steamos-3-5...rovements/
Does it have built in Bluetooth? Which chip?

Any test for emulated and passthrough modes?
I recently discovered something extremely interesting regarding SMT.

On a Haswell (Intel 4th gen) 4c/8t CPU, on Linux Mint 20.3, I notice vastly slower performance when running the luabench.dol file from the Dolphin 5.0 benchmark in the latest flatpak version on Dolphin when SMT is enabled (interestingly, running the Dolphin 5.0 "for Windows dummies" CPU benchmark set to OpenGL renderer via Wine looses nowhere near as much performance with SMT enabled).

However, simply doing the very same test but with Linux Mint 21 doesn't have this issue at all and performance is the same regardless of whether SMT is enabled or disabled.

Curiously, using kernel 5.15 in combination with Linux Mint 20.3 did not alleviate the SMT issue even though that's what Linux Mint 21 uses by default...

Regardless, my point is that I wonder if this is highly related to the whole idea that disabling SMT improves (or at least improved at one time?) the performance in Dolphin on the Steam Deck.
And now, OLED 7.4" 1280x800 90hz, 6nm version OUT !
Pages: 1 2 3 4 5 6 7