ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.16k stars 173 forks source link

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

Open ClaudeLib opened 4 months ago

ClaudeLib commented 4 months ago

Your system information

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
ClaudeLib commented 4 months ago

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

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 commented 4 months ago

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 commented 4 months ago

still not fixed after the newest update

Lazorne commented 4 months ago

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 commented 4 months ago

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 commented 4 months ago

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 commented 3 months ago

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

ClaudeLib commented 3 months ago

It also happens on LMDE, based on Debian.

Your system information

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 commented 3 months ago

The issue is still there as of build 1709846872.

ClaudeLib commented 3 months ago

Build 1710458266, the issue is still present.

Aepoh commented 3 months ago

Can confirm the issue is still present and still irritating.

creativecoder commented 3 months ago

I'm also experiencing this with non-Steam flatpak games launched through Steam. It seems similar to (and possibly a regression of) https://github.com/ValveSoftware/steam-for-linux/issues/8599.

For me

creativecoder commented 3 months ago

Possible duplicate: https://github.com/ValveSoftware/steam-for-linux/issues/10430

Managor commented 3 months ago

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 commented 2 months ago

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

Game mode

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

Desktop mode

Big Picture mode

ShayBox commented 2 months ago

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 commented 2 months ago

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 commented 2 months ago

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 commented 2 months ago

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

ClaudeLib commented 2 months ago

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 commented 2 months ago

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

ClaudeLib commented 2 months ago

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

JamesBCrazy commented 2 months ago

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 commented 2 months ago

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

bjoern-tantau commented 1 month ago

Happens with gamescope as well, which is especially annoying.

"/usr/bin/gamescope" -W 1280 -H 800 -r 60 -e -f --expose-wayland -- ./CGeniusExe

When I run CGeniusExe (or any other game) without gamescope I can control it just fine.

ClaudeLib commented 1 month ago

After long awaited Steam Client update 1714854927, despite numerous Steam Input fixes and improvements, this particular issue seems to still be there.

ClaudeLib commented 1 month ago

Steam Client 1715635533, the issue is still there.

ClaudeLib commented 1 month ago

Steam Client 1715891371, the issue still persists.

rKsanu2MMYvypWePtQWM commented 1 month ago

Can confirm I cannot play a non-steam game (that lives in Bottles from flathub) that previously (quite a while ago) worked fine. It seems that the entire steam overlay doesn't work, and without it there won't be any steam input either. It's not a problem with a Steam Deck, as controls work fine in Game Mode. However, there is no such workaround on my desktop PC, so I can't play such games with a controller anymore.

ClaudeLib commented 1 month ago

It's not a problem with a Steam Deck, as controls work fine in Game Mode. However, there is no such workaround on my desktop PC, so I can't play such games with a controller anymore.

You can run flatpaks from Big Picture for now, should work.

Merrit commented 1 month ago

It's not a problem with a Steam Deck, as controls work fine in Game Mode. However, there is no such workaround on my desktop PC, so I can't play such games with a controller anymore.

You can run flatpaks from Big Picture for now, should work.

Unfortunately doesn't work for me when launched from Big Picture either, even though the controller works fine in the Big Picture interface. Games see no controller at all, unless I disable Steam Input (which means no remapping or anything available).

creativecoder commented 1 month ago

For non-Steam flatpak games on desktop PCs, the only other workaround I've found is to change the Desktop layout for the controller to the one I want to use in the game, then launch the game in Desktop mode.

Note that this does not work for me in Big Picture mode. Like @Merrit , I get no controller input in Big Picture mode for games running through Bottles or Heroic Games Launcher.

creativecoder commented 1 month ago

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.

I've also experienced this multiple times, the custom controller profile becoming disabled in Game mode on the Steam Deck after using the right fly out menu or using the ... button + left stick to adjust brightness. It also happened once after a scheduled activation of night mode. In my case it was for a non-Steam game running through Heroic. I'm not sure if it happens for Steam games or not.

rKsanu2MMYvypWePtQWM commented 1 month ago

It's not a problem with a Steam Deck, as controls work fine in Game Mode. However, there is no such workaround on my desktop PC, so I can't play such games with a controller anymore.

You can run flatpaks from Big Picture for now, should work.

Does not work for me.

Merrit commented 1 month ago

I haven't tried Flatpak games myself, but for me no configuration of any kind can get Steam input working in non-steam games from sources like Lutris or Heroic.

Actual Steam games seem to get the overlay and Steam input just fine, even without Big Picture Mode.

ClaudeLib commented 1 month ago

Steam version 1716242052, the issue is still present. Also, yeah, I stand corrected, running the games via BP doesn't help.

ClaudeLib commented 1 month ago

Steam Client version 1716584667, the issue still persists.

ClaudeLib commented 1 month ago

Felt like trying the Preview Channel, SteamOS 3.6.3 build 20240516.100, Steam Client version 1716951179 (not sure if the Stable Channel got this update), the issue is still there.

Fatalution commented 1 month ago

Stumbled on this issue as I tried to use the 3rd party added app with native Steam Input API support - to no avail, simply can't get the app to detect it's running on a Steam Deck. So I'm stuck between either playing with "Gamepad" - or no input whatsoever, even when Steam Input is enabled and the bindings config is manually pasted into config folder.

I guess, this issue is the answer to my problems

ClaudeLib commented 4 weeks ago

Steam Client version 1717294964, the issue is still there.

ClaudeLib commented 2 weeks ago

Steam Client version 1718305227, the issue is still there.

ClaudeLib commented 1 week ago

I'm genuinely sorry for bringing this up every now and then, I really don't want to be annoying, I just want this issue to be resolved, but as of 1718521059, it's still there.

Aepoh commented 1 week ago

I'm genuinely sorry for bringing this up every now and then, I really don't want to be annoying, I just want this issue to be resolved, but as of 1718521059, it's still there.

Don't be sorry. You paid for your Steam Deck didn't you? You have every right as a customer to have a bug free system.

ClaudeLib commented 1 week ago

Steam Client version 1719010598, the issue is still there. I'm moving back to stable.