protonscr

In Steam Deck Desktop Mode, non-Steam games always use Desktop controller layout

steamclosed Steam clientDistro Family: SteamOSGeneral controller / Steam Inputnon-Steam application
ValveSoftware/steam-for-linux#8904 · opened 2022-11-09 by XanderXAJ · updated 2026-01-24 · 14 comments · github
XXanderXAJ 2022-11-09 github

This issue is an updated version of what I've posted this on the Steam Deck Bug Report forums. I now figure this might have been a better place to post it. If this is considered multi-posting, let me know and I'll close this issue.

Your system information

  • Steam client version (build number or date): 1667952052
  • Distribution (e.g. Ubuntu): SteamOS 3.3.2
  • Opted into Steam client beta?: Yes
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

When in Desktop Mode, using the Steam Deck's built-in controls, launching a non-Steam game/app via Steam will result in no change in controller layout for that app. The Desktop controller layout will still be in effect.

I believe this has been broken for months for me. It's only recently I started trying things in Desktop Mode more and realising the issue affected all non-Steam games and not just the odd thing.

I'm only using the Steam Deck's built-in controls (Neptune) and have not connected any external controllers.

Note that controller layouts work as expected in Game Mode -- this issue only occurs in Desktop Mode.

With help from friends, I've reproduced this on 3 different Steam Decks logged in to 3 different accounts, using Stable and Beta update channels. This rules out my initial theory that bad configuration was syncing to the Deck via my account.

Steps for reproducing this issue:

  1. Boot the Deck and switch to Desktop Mode
  2. Boot a non-Steam game
  3. Verify that the controls on the Deck are still using the Desktop layout, even when the non-Steam game is focussed or fullscreen

Steps using Firefox/Chrome

  1. Boot the Deck and switch to Desktop Mode
  2. Run a non-Steam game. This is easy to reproduce with Firefox or Chrome. It'll work with any non-Steam game however. I'll use Firefox as an example.
    • Go to Start > Firefox > Add to Steam to add it as a non-Steam game.
  3. In Steam, go to Firefox > Cog button > Manage > Controller layout. Confirm that the controller layout is not the desktop layout. In this case, Steam smartly detects Firefox and uses the Web Browser controller layout.
  4. For testing, note differences between selected layout for non-Steam game and desktop layout. In my case, L5 is middle-click for Firefox and Mouse Back for Desktop, so we can use that. Note that all buttons are affected, and it doesn't matter if the layout is emulating a gamepad or a KB+M, but we want an obvious difference for testing.
  5. In Steam, launch Firefox/Chrome.
  6. With the browser selected, press L5. The web browser layout is supposed to middle mouse click, which would open or close a tab, or activate autoscroll. Instead, it gets Mouse Back, which sends the tab back in its history (although this can vary based on your local Desktop controller layout).
  7. Try other buttons and confirm it affects all inputs, not just the one button. L4 and R4 for example should do nothing in Firefox's layout, but instead are Page Down and Space respectively as per the Desktop layout -- especially clear when the address bar is focussed.

Attempted fixes

  • Using beta channel.
  • Modifying the controller layouts for non-Steam games.
  • Resetting controller layouts for non-Steam games and Desktop using recommended/community layouts.
  • Re-imaging the Deck (twice, once during my debugging, once as requested by Steam support).
  • Clearing download cache, restarting Deck and logging back in.
  • Deleting userdata/<user_id>/config and restarting Deck.
  • Deleting all controller profiles inside of steamapps/common/Steam Controller Configs (while a game is running to ensure the deletions are synced) and then restarting the Deck
DDoubleMunch 2022-12-23 github

With the latest version (Steam Deck OS 3.4.2), i think that you can switch to Gamepad layout mode from desktop mode with a long press on the right pause button (3 strokes). Can you check ?

XXanderXAJ 2022-12-23 github

Thanks for reaching out @DoubleMunch. You are correct, the Desktop layout got patched with a "Desktop" and "Gamepad" action sets some time back (on preview channel at least). The "Gamepad" action set is a stock gamepad layout and is a useful workaround for the issue in some circumstances, e.g. to play DRM-free games or emulators in desktop mode, so long as you want a stock gamepad.

This doesn't resolve the above issue -- if you want to customise controls on a per non-Steam game or app basis, you're out of luck -- but it's a good option to have.

GGiovanH 2022-12-24 github

I can confirm that I am experiencing this same issue, and that holding down the start button switches between the Desktop and Gamepad action sets, as expected in desktop mode but not as expected given my controller layout selection.

AAndyDurden 2023-03-01 github

I'm having the same issue. Can confirm what @DoubleMunch and @XanderXAJ say about the new default layout by ScottD having a Gamepad actionset. I imagine ScottD had to do something special to create this config, because in the current UI there is no way to add gamepad commands to desktop configs. Would be nice to have this feature so we can at least customize more action sets.

As for customizing on a per-game/app basis, I don't know much about steaminput internals, but I imagine the difficulty is in deciding which X windows to switch configs for, especially when the non-steam game is an arbitrary command and not confined to a gamescope instance. I think the solution would involve some mapping between the current set of X windows and the process tree spawned by the non-steam command. (relevant stack exchange)

Another workaround for this could involve some more support for running apps in gamescope from desktop mode. It's currently possible to run non-steam games inside gamescope in desktop mode, but steaminput still doesn't want to activate their per-game configs.

Mmiromarszal 2023-10-06 github

Could https://github.com/ValveSoftware/steam-for-linux/issues/8952 be related? I managed to get the gamepad working in non-flatpak Chrome. Verified with gamepad tester that inputs are correct. I'm not on Deck but on Ubuntu though.

AAndyDurden 2023-10-09 github

I believe this issue was fixed a few months ago. I've been able to run non-steam native linux applications and windows applications through proton with per-game steaminput configs for a while (also, the overlay does work in these cases). Can't comment on flatpak applications though.

Bbjoern-tantau 2023-10-09 github

It does not work with flatpaks. At least when I run a game installed through Lutris on the Steam Deck through Steam in desktop mode it does not switch to the Steam Input layout.

Kkisak-valve maintainer 2023-11-13 github

I'm going to go ahead and close this because it appears to have been resolved per @AndyDurden's comment.

Hello @miromarszal @bjoern-tantau, we know that there are parts of the Steam overlay and Steam Input that get loaded up at the same time, so the flatpak variant of these symptoms could indeed be the issue tracked at #8952.

XXanderXAJ 2023-11-16 github

I can confirm this is working for the cases I specified in the OP. I'll keep an eye on the Flatpak issue. Thank you very much for looking into and fixing this. ♥️

PPeglinX 2024-03-13 github

I am having the issue again. I had no previous encounters of this but my non-Steam Games did use the same controllers. Now they dont

Ccreativecoder 2024-03-27 github

Looks like there's a regression for this issue. There's a new issue that's been opened at https://github.com/ValveSoftware/steam-for-linux/issues/10551 that looks like the same problem.

WWibbbs 2024-08-22 github

Can confirm I am having this same issue as well. Added bolt launcher (Runescape) as a non steam game, custom controls worked perfectly in game mode but when launched in desktop mode, custom controls are not used and desktop configuration is used.

VVeiranx 2025-04-04 github

Confirm this is still a problem for me. Steam game configuration for non-Steam games in Desktop mode is not accessible after launch. Game configuration for non-Steam games in Game Mode are accessible.

Ppiercegwang 2026-01-24 github

+1 Same problem here in latest version of everything. Works in game mode but not in desktop mode.