ValveSoftware / gamescope

SteamOS session compositing window manager
Other
2.99k stars 198 forks source link

No controller input for non-steam games with Switch Pro Controller #822

Open szszoke opened 1 year ago

szszoke commented 1 year ago

Hello!

I am trying to run Steam in gamescope because things like big picture or in-home streaming works better (or at all). I use a Nintendo Switch Pro Controller.

I launch Steam like this:

gamescope -e -f -W 2201 -w 2201 -H 1080 -h 1080 -r 60 -- steam -tenfoot -steamos

This gets me a full screen Steam Big Picture window. At this point my controller is detected and I can use it to navigate the big picture UI. The controller also works as expected in games that I purchased from Steam. I tested with Cyberpunk 2077, Shadow of the Tomb Raider, Uncharted.

I also have some games from GOG.com that I installed via Heroic Launcher. Those games are added to Steam.

When I launch Steam directly (without gamescope) my GOG.com games also detect my controller.

When I launch Steam via gamescope however then launch one of my GOG.com games, they do not react to controller input. They still detect that a controller is connected (and detect a disconnection if I turn off my controller).

The Steam overlay works if I press the home button on my controller.

It might be that I am having the same issue as https://github.com/Plagman/gamescope/issues/502 or https://github.com/Plagman/gamescope/issues/502.

If I launch gamescope with the --debug-hud and --debug-events flags, I can see a lot of event 91 and at least in one game, Horizon Zero Dawn, if I load a level with mouse and keyboard, then turn on my controller, the game thinks I am holding the left trigger down.

szszoke commented 1 year ago

In the meantime I realized that my kernel (6.2) has built-in support for my controller so I blacklisted the ff_memory and hid_nintendo.

I did this to avoid conflicts between the kernel and the Steam controller drivers.

It didn't make a difference.

Joshua-Ashton commented 1 year ago

Gamescope has no relation to controller or gamepads in any way fwiw. Its likely the combo of flags you are passing to Steam that is causing an issue.

szszoke commented 1 year ago

If I run Steam directly with the same flags then my controller is working as expected.

steam -tenfoot -steamos

I think gamescope is still involved somehow.

czak commented 1 year ago

I am observing the same behavior.

My minimal test scenario:

  1. Add xInput Controller Tester as a non-Steam game
  2. Run Steam (either with or without Gamescope)
  3. Force a Proton version under "Compatibility"
  4. PLAY the ControllerTester.exe and observe gamepad input

Results:

My reasoning: something is different between Proton 6.3-8 and Proton 7.0-6 and it affects the input handling or focus and it manifests itself when run inside Gamescope.

Some notes:

DocMAX commented 7 months ago

i have same issue. using gamescope makes my controller (ps5 bluetooth) not work. but it works without gamescope. also i am not able to click on buttons with mouse cursor.

JoshElias commented 6 months ago

Same issue here