Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Steam Input remains in desktop mode instead of switching to gamepad mode when running some apps. #10551

Closed
ClaudeLib opened this issue Feb 29, 2024 · 70 comments
Labels
Distro Family: Arch General controller / Steam Input non-Steam application Shortcut added to Steam with the "Add a non-Steam Game..." option

Comments

@ClaudeLib
Copy link

Your system information

  • Steam client version (build number or date): 1708985249

  • Distribution (e.g. Ubuntu): Arch

  • Opted into Steam client beta?: No

  • Have you checked for system updates?: Yes

  • Steam Logs: steam-logs.tar.gz

  • GPU: AMD

Please describe your issue in as much detail as possible:

When running certain apps, notably flatpaks but not only them, my Steam Controller keeps emulating keyboard and mouse instead of the virtual gamepad. This was not an issue before the yesterday's update. The affected apps are:

PCSX2, installed from https://flathub.org/apps/net.pcsx2.PCSX2 https://i.imgur.com/I3GHF0c.png https://i.imgur.com/0Z5F3EU.png https://i.imgur.com/PXXb8vo.png
Ryujinx, installed from https://flathub.org/apps/org.ryujinx.Ryujinx https://i.imgur.com/M1dgepO.png https://i.imgur.com/Vblrlqt.png https://i.imgur.com/aNfZGup.png https://i.imgur.com/SOsHRSz.png
Ryujinx, installed from https://aur.archlinux.org/packages/ryujinx-bin https://i.imgur.com/TIMUvNC.png https://i.imgur.com/zpYFsFE.png https://i.imgur.com/OJS0ZpC.png
Toggling "Use Desktop Configuration in Launcher" doesn't do anything.

Some other apps, like https://aur.archlinux.org/packages/pcsx2-latest-bin, or Xenia emulator running via Proton are not affected.
I've also encountered this exact same issue on my LCDeck, it also started happening just yesterday, however running apps from the game mode, rather than desktop mode, seems to help avoid the issue. I can attach logs a bit later if needed.

Steps for reproducing this issue:

  1. Add third party apps as Non-Steam games to the library
  2. Launch them via Steam
@kisak-valve kisak-valve added Distro Family: Arch General controller / Steam Input non-Steam application Shortcut added to Steam with the "Add a non-Steam Game..." option labels Feb 29, 2024
@ClaudeLib
Copy link
Author

ClaudeLib commented Feb 29, 2024

The issue still persists on my Deck, after installing the update that dropped an hour ago.

  • Steam client version (build number or date): 1709168962
  • Distribution (e.g. Ubuntu): SteamOS
  • Opted into Steam client beta?: No
  • Have you checked for system updates?: Yes
  • Steam Logs: steam-logs.tar.gz
  • GPU: AMD

It also affects both Steam Controller (gordon) and Steam Deck builtin controls (neptune).

As a test, I added Ark (the KDE Archiving tool) to Steam and when I launch it, Steam Input seems to switch to gamepad mode just fine, as in, the right touchpad (or right stick) doesn't move the mouse around.
https://i.imgur.com/XtYuJ0I.png

However, when launching PPSSPP (https://flathub.org/apps/org.ppsspp.PPSSPP), it still emulates the desktop controls.
https://i.imgur.com/8iMAN7E.png

EDIT: It does not seem to affect games installed from Steam, only some third party ones.

@prodbyloti
Copy link

happening to me too. mainly an issue for me rn bc it breaks Moonlight, the button combo to close it doesnt work. started after the newest update.

@prodbyloti
Copy link

still not fixed after the newest update

@Lazorne
Copy link

Lazorne commented Mar 1, 2024

I can confirm this is happening on both the Steam Flatpak version and Native in Fedora as well when running any none Steam Apps via Steam.

I have also tried to disable both Steam Input on the Game and on Desktop and vice versa.

Even sometimes I get a weird behavior when both profiles are used in the same time and sends dual inputs, but even then if I turn of the Desktop Profile it stops the game profile from working.

I have tried even to load a game profile as a Desktop profile, without any success.

Our controller profiles:

https://github.com/XargonWan/RetroDECK/tree/cooker-0.8.0b/emu-configs/defaults/retrodeck/controller_configs

@prodbyloti
Copy link

i have a feeling that Valve wont do anything since its affecting such a small amount of people. really wish there was an official way to roll back farther.

@Porkch0p
Copy link

Porkch0p commented Mar 3, 2024

I'm seeing this regression with an LCD Steam Deck running RetroArch (flatpak) installed via Emudeck.

On Desktop, controls that were previously a gamepad layout (both internal controls and a wired gamepad) are now acting as the desktop profile after the client update of Feb 27.

The regression may not be limited to Desktop mode. In Game Mode, I'm finding the app will load with the correct mappings, but changing the brightness level via chord (Three Dot + Joystick Up) is enough to break the controls in the same way, silently changing application inputs to desktop profile.

After some testing, the behavior appears different in Game Mode if the Steam button has been pressed. With an overlay active, the gamepad profile of the running application does not appear to be lost.

@Aepoh
Copy link

Aepoh commented Mar 4, 2024

I am also experiencing this on my Steam Deck with Dolphin. This is a high priority fix to me.

@ClaudeLib
Copy link
Author

It also happens on LMDE, based on Debian.

Your system information

  • Steam client version (build number or date): 1709168962
  • Distribution (e.g. Ubuntu): Linux Mint Debian Edition
  • Opted into Steam client beta?: No
  • Have you checked for system updates?: Yes
  • Steam Logs: steam-logs.tar.gz
  • GPU: AMD

yuzu installed from Flathub (https://flathub.org/apps/org.yuzu_emu.yuzu) does have this issue.
Screenshot from 2024-03-05 06-48-00

yuzu installed from Debian (https://debian.pkgs.org/12/debian-main-amd64/yuzu_0-1335+ds-1+deb12u1_amd64.deb.html) does not, Steam Input switches to gamepad emulation just fine and I'm able to configure the controls in the app's settings.
Screenshot from 2024-03-05 06-47-35

As a test I tried adding Text Editor and Archive Manager as non-Steam games and they also seem to have this issue, despite not being flatpaks.
Screenshot from 2024-03-05 06-45-45
Screenshot from 2024-03-05 06-45-55

@ClaudeLib
Copy link
Author

The issue is still there as of build 1709846872.

@ClaudeLib
Copy link
Author

Build 1710458266, the issue is still present.

@Aepoh
Copy link

Aepoh commented Mar 15, 2024

Can confirm the issue is still present and still irritating.

@creativecoder
Copy link

I'm also experiencing this with non-Steam flatpak games launched through Steam. It seems similar to (and possibly a regression of) #8599.

For me

  • Flatpak games launched through Steam don't receive any controller input at all, unless Steam input is disabled for that game.
  • Once Steam input is disabled, the desktop configuration for the controller is used for that game, if the controller has a desktop profile.
  • Steam client version (build number or date): 1709846872
  • Distribution (e.g. Ubuntu): Pop!_OS 22.04 LTS
  • Opted into Steam client beta?: [Yes/No] No
  • Have you checked for system updates?: [Yes/No] Yes
  • GPU: AMD

@creativecoder
Copy link

Possible duplicate: #10430

@Managor
Copy link

Managor commented Mar 27, 2024

I came here to report the same issue that using chords through the QAM button causes non-steam game binding to be overridden with the desktop config until you press the QAM button. Using chords through the STEAM button does not have this effect
Here's a demonstrative video: https://youtu.be/_7q7VCEgV24
I reported this previously on the Steam Forums. https://steamcommunity.com/app/1675200/discussions/1/3642874410681493222/

@creativecoder
Copy link

I did a little more testing on Steam Deck and my Linux desktop launching non-Steam games from Steam that run as flatpak apps (in my case, game launched from Steam but run through Heroic launcher flatpak). In all cases, Steam input was enabled with a custom controller configuration for the non-Steam game.

Steam Deck

Desktop mode

  • Controller uses the Desktop configuration instead of the game specific configuration for the (built-in) controller

Game mode

  • The correct controller configuration is used (but I didn't test activating the overlays)

Linux Desktop
(tested both a Steam Controller and a PS5 controller, wired and bluetooth)

Desktop mode

  • Controller uses the Desktop configuration instead of the game specific configuration

Big Picture mode

  • Controller does not work at all

@ShayBox
Copy link

ShayBox commented Apr 8, 2024

I can't believe I spent all day trying every combination of RetroArch from pacman/steam, every input/controller driver, and steam running/not just to find out it's a bug.

If you want a workaround you can manually swap the desktop profile to gamepad, or you can use action sets to swap profiles with buttons on the controller. steam://controllerconfig/413080/909196706

@JamesBCrazy
Copy link

If you want a workaround you can manually swap the desktop profile to gamepad, or you can use action sets to swap profiles with buttons on the controller.

I wouldn't call manually changing the controls every time you want to change games a "workaround," not to mention that it messes with your regular desktop controls.

@ShayBox
Copy link

ShayBox commented Apr 11, 2024

Yeah manually switching is inconvenient, but it'll let you use your steam controller at all so it does partially work around the issue of a completely unusable controller, but I recommend action sets, it's very convenient to switch between desktop and game pad with a button, whether in desktop or a game.

@Managor
Copy link

Managor commented Apr 12, 2024

The default desktop config, at least for the Deck, contains a gamepad action set that you switch to by holding Start.

@ClaudeLib
Copy link
Author

ClaudeLib commented Apr 12, 2024

The default deskto config, at least for the Deck, contains a gamepad action set that you switch to by holding Start.

Woah, nice. Thanks, gonna be using that for the time being. Sadly it doesn't seem to work for Steam Controller, though.

@Managor
Copy link

Managor commented Apr 12, 2024

SC doesn't probably have it by default. You need to create it yourself.

@ClaudeLib
Copy link
Author

After the update 3.5.19 the issue is still there. I guess that's because the client is still 1710458266.

@JamesBCrazy
Copy link

Confirming. Issue still exists on 3.5.19 (20240422.1) on both Stable and Preview.

This is a major issue as it renders a number of games (particularly those that rely on multiple windows and/or the system mouse cursor) virtually unplayable on Steam Deck.

@ShayBox
Copy link

ShayBox commented Apr 25, 2024

The default deskto config, at least for the Deck, contains a gamepad action set that you switch to by holding Start.

Woah, nice. Thanks, gonna be using that for the time being. Sadly it doesn't seem to work for Steam Controller, though.

Correct, the Steam Controller doesn't have that by default, this one does though
steam://controllerconfig/413080/909196706

@sairuk
Copy link

sairuk commented Jul 10, 2024

Ran into similar recently on manjaro and deb12 with later steam builds both stable and beta channels, I am using 4xDS4 controllers as the default inputs on this machine, however users were free to BYOD a device due to SI, my experience seems close enough to behaviours reported in this issue.

As a carry over/workaround from old SBP limitations I do have my desktop configuration set to default to gamepad (first action set) with k/m as a secondary action set, so i can just disable SI and get a gamepad in desktop mode, but its interactions with new SBP needs more review.

Enabling steam input (SI) on a flatpak based application creates the x360 virt js device as expected however in flatpak applications it is (now) not detected although the flatpak may say a device is connected it does not detect the steam virtual device. It does detect the initial js host device however the host js device inputs are nuked by steam. On non-flatpak based applications SI is fine. Supporting this, if i launch pegasus (non-flatpak) with SI enabled controls work until I launch a flatpak based application from pegasus then input on the launched application is also dead.

This all used to work fine and all my non-steam applications were configured to use SI for the flexibility of BYOD. I do not know what build this started on as broken controls in applications was only reported to me yesterday, my users report this "has been happening for a while". Having a look into it last night it is only flatpak applications (ryu, ppsspp, simple64, gzdoom, etc) experiencing the issue. I am willing to ack this may be related to linux or flatpak changes, not explicitly steam.

reviewing some of the flatpak perms

  • had device=all perms.
  • No [global] overrides in regards to devices are present on the system.
  • one filesystems override to add some additional ro pathing access for game storage
  • adding a global override for the new device=input also had no affect.

if i disable steam input and configure the inputs separately within the flatpak directly the controls are fine but rely on whatever limitations the applications have for configuration and BYOD becomes infinitely more painful. I'd prefer to use SI as baseline input for all non-steam stuff where possible.

@Wibbbs
Copy link

Wibbbs commented Aug 22, 2024

Just wanted to give this a bump as this issues still seems to persist.

Added bolt launcher (Runescape) as a non steam game.
Custom controls work perfectly in game mode.
Launch in desktop mode, custom controls are not used and desktop configuration is used.

If anyone has found any workaround for this please let us know. Doesn't look like it will be fixed anytime soon.

@ClaudeLib
Copy link
Author

ClaudeLib commented Aug 22, 2024

Yeah, the issue is still there, actually. As a matter of fact, I've tried all three branches (Stable, Beta, Preview) earlier this week on my Deck and the issue still plagued the experience, I just never got around to reporting it here.

@ClaudeLib
Copy link
Author

Steam Client version 1726088054, the issue is still present.

@ClaudeLib
Copy link
Author

Steam Client version 1726256783, the issue is still there.
I don't want to sound annoying or impatient, but this has been broken for more than half a year and it's quite literally game breaking. Though I admit some might call the cases when it happens very specific.

@Managor
Copy link

Managor commented Sep 16, 2024

Well you do sound annoying and impatient.

@Aepoh
Copy link

Aepoh commented Sep 16, 2024

Oh no how dare someone expect a device they paid half a thousand dollars for to work properly and not commonly regress and stay regressed on bugs like this. How dare they!

@ClaudeLib
Copy link
Author

No need to stoop to that. I do report every now and then that the issue still exists, which can possibly get annoying after a while.

@Managor
Copy link

Managor commented Sep 16, 2024

I personally do my bug reporting with the fire and forget mentality. There are some reports from me that date back to 2018 and it can get annoying when you constantly encounter it. But seeing how many side projects there are in maintaining and improving more immediate things, I don't bother to complain.

Since this issue is easily worked around by using the default desktop config and holding START, it feels a bit overkill to comment here after every update.

EDIT: Oh right. But the default Steam Controller config doesn't have it implemented. That is of course a separate issue. It's a shame that the May 28th update only touched on the chord configs https://store.steampowered.com/news/group/4397053/view/4146204937627686654?l=english

@Aepoh
Copy link

Aepoh commented Sep 16, 2024

I think bugs related to Steam Input should be higher priority than a lot of other bugs and new feature implementations. Steam Input is how the user interfaces with the device, if it isn't working properly then everything else doesn't matter because the user can't interface with the system in the way they need to.

@Managor
Copy link

Managor commented Sep 16, 2024

I do agree. It's not even a personal grievance. They should focus on that so that there are less people who try PC gaming and leave with the opinion that PC is buggy.
I have like 70 Steam Input bug reports open that I'm involved with and I wish one dev went through them because some of them are just simple UI bugs.

@ClaudeLib
Copy link
Author

Felt like trying out Beta once more and as of version 1728093750, this issue seems to finally be fixed.

@ClaudeLib
Copy link
Author

That up there was on my LCDeck, now I tried that on my main rig running ChimeraOS, jumping back and forth between Stable 1726683985 and Beta 1728093750, and indeed, on Beta the issue is gone, and after going back to Stable it reappears. I'll also try to test this on my laptop running Manjaro.

@Wibbbs
Copy link

Wibbbs commented Oct 7, 2024

@ClaudeLib Thanks for the update. I am going to have to switch my steam deck over to beta this evening and try this out.

@ClaudeLib
Copy link
Author

ClaudeLib commented Oct 7, 2024

No problem, glad to be of help. However, it seems that it needs some more work. I tested this on my laptop with Manjaro and the issue still persists on both Stable (for some reason 1726604483 and says it's up to date) and Beta 1728093750. This is weird.
EDIT. Wait, no, that's probably me. On my main PC I tested it in PPSSPP and PCSX2 and the issue was gone, but on my laptop I tested it in yuzu and the issue was there. Now I tested yuzu on my main PC and the issue is also still there, which is double weird, as I've been playing yuzu today on my Deck without the issue. Argh, my head.

@Managor
Copy link

Managor commented Oct 7, 2024

Slowly getting there.

@ClaudeLib
Copy link
Author

ClaudeLib commented Oct 7, 2024

Okay, let me sum it up. I tested PCSX2, PPSSPP and yuzu, all installed via Flatpak, on two systems, running ChimeraOS and Manjaro Linux with Steam Client installed natively. On Stable branch (1726683985 on ChimeraOS, 1726604483 on Manjaro) Steam Input consistently does NOT switch to ingame layout/gamepad emulation for any of the three apps on both systems. On Beta branch (1728093750 on both) Steam Input DOES switch for PCSX2 and PPSSPP, but not for yuzu (which is strange because I remember playing yuzu on my Deck earlier today and I was in desktop mode).
EDIT. At least Ryujinx works.

@ClaudeLib
Copy link
Author

Back at my Deck, tested Citra, yuzu, Ryujinx, PCSX2, PPSSPP, Flycast, Dolphin, Kodi, all Flatpaks. Steam Input seems to correctly switch to ingame layout/gamepad emulation in all cases. SteamOS Beta 3.6.17 Build 20241003.100, Steam Client Build 1728093750.

@Lazorne
Copy link

Lazorne commented Oct 8, 2024

Good testing CloudeLib. I will test RetroDECK later on multiple systems and report back here by editing the comment :)

Edit Update:

On SteamOS the Steam Deck:

In Desktop Mode it does seams to work.

On Bazzite-Deck:

This image I got on a AMD desktop and I'm getting some weird issues using our controller profile.

I think this is just some local issue.

On Bazzite:

No issues

On Manjaro:

No issues.

Update Update:

Looks good to me.

@ClaudeLib
Copy link
Author

Can somebody else please check yuzu specifically? It's still physically hosted on Flathub and can be installed from the console with

sudo flatpak install org.yuzu_emu.yuzu

I'm really confused why Steam Input refuses to switch to ingame layout for it on my main rig, but does so on my Deck.

@aewhite
Copy link

aewhite commented Nov 11, 2024

I'm really confused why Steam Input refuses to switch to ingame layout for it on my main rig, but does so on my Deck.

FWIW, my Deck still has the issue with the latest beta.

@aewhite
Copy link

aewhite commented Nov 12, 2024

I'm curious if there is any reasonable workarounds for the Steam Deck in particular that I've missed. So far, my only ideas are:

  1. Install a non-flatpak version of the game
  2. Create a dedicated actionset/layer in the desktop profile and switch to that ingame

Is there any file that can be modified to override Steam to use the game profile? Is there any setting to completely disable the desktop profile for a game? Are there any special "wapper" processes that might be able to resolve the issue? Or maybe a special hidden steam button combo that can do some soft of manual switch in game?

@ClaudeLib
Copy link
Author

I've just tested this on my LCDeck running latest Stable. In Desktop mode, all of my flatpaks, including yuzu, correctly switched Steam Input to gamepad mode, without any workarounds. I will test my regular Linux laptop when I get home later today.

@casasfernando

This comment was marked as resolved.

@casasfernando

This comment was marked as resolved.

@kisak-valve
Copy link
Member

Closing as fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Distro Family: Arch General controller / Steam Input non-Steam application Shortcut added to Steam with the "Add a non-Steam Game..." option
Projects
None yet
Development

No branches or pull requests