ValveSoftware / gamescope

SteamOS session compositing window manager
Other
3.08k stars 205 forks source link

No controller input #438

Open kaysur opened 2 years ago

kaysur commented 2 years ago

I set up gamescope on Fedora and when launching a game with it I have no controller input, however when using the -e flag I have controller input. gamescope wiki implies this is for Steam integration, so is this somehow related to controller input working? I don't have Steam Controller Input enabled for my games, so this doesn't make sense to me. I think this flag should be properly documented in the wiki and README with other flags because I already gave up on troubleshooting gamescope on one day and knowing this would have helped.

aqxa1 commented 2 years ago

I have the same issue, but the workaround isn't needed for all games, so it might just be an incompatibility with the particular game. E.g. it's broken with Chrono Trigger but not Desperados III or Ion Fury. Possibly a Proton issue given both of the working games are native releases.

kaysur commented 2 years ago

https://github.com/Plagman/gamescope/issues/420 Looks like this could be related. First report says mouse works in Proton experimental, but not 7.0-1, so when I play another round of Hades or something I can also try that.

AtilaSaraiva commented 2 years ago

It doesn't even work here with the -e option. I'm using the flatpak steam version with NixOS as the OS.

Holzhaus commented 2 years ago

I had the same issue with Rise of the Tomb Raider. When running it via Proton 7.0-1, mouse and controller input works, but when using gamescope, both mouse and controller stop working (keyboard input still works though).

I confirm that adding the -e flag fixes the problem:

gamescope -W 1920 -H 1080 -e -- %command%
cactushydrocodone commented 2 years ago

Using the -e flag too, no controller input for me :/

In LEGO Star Wars: The Complete Edition, the touchpad works on the PS4 Controller. But nothing else. Really strange

Funny enough, if one did something like this: gamescope -- alacritty and then runs jstest /dev/input/js0 inside the new window, the controller works perfectly. So this must be a weird issue with gamescope in combination with steam.

Holzhaus commented 2 years ago

Just a note, I have Steam Input enabled (because I'm mainly playing via Steam Link).

@cactushydrocodone maybe check if you have Steam Input enabled for PS4 controllers?

cactushydrocodone commented 2 years ago

Just a note, I have Steam Input enabled (because I'm mainly playing via Steam Link).

@cactushydrocodone maybe check if you have Steam Input enabled for PS4 controllers?

Damn that helped! Now i can press any button, which brings me to the controller configuration thingy of the game which looks a bit funky: image

Now, i cant press anything except the touchpad button anymore. :/

cactushydrocodone commented 2 years ago

Its not only LEGO Star Wars, none of the games i tested work.

cactushydrocodone commented 2 years ago

I FINALLY solved it. It wasnt a gamescope problem, it was a steam problem! I turned off the controller support for playstation and suddenly, it worked!

Those are my settings in steam now: image

opale95 commented 2 years ago

I have the problem on games ran with Proton at any higher version than 6.3-8. Keyboard and Mouse seems to work, but not my Xbox360 wired controller. Anything Steam Input related is disabled on my end (Globally and per-game). I tried disabling Steam in-game overlay or launching games via Big Picture Mode with no luck. I checked it was working fine without gamescope.

I'm running an updated Manjaro Linux system, DE is XFCE+i3, gamescope 3.11.28.beta2. It works with the -e option which maybe was made for this kind of situations but i didn't find documentation about this except the wiki which wasn't clear.

cactushydrocodone commented 2 years ago

@opale95 -e is not documented but it is required for every proton version after 6.3. Just use it, it does not hurt ;)

QushyQushy commented 2 years ago

I have the same issue with the Neptune Controller on the Steam Deck. In HZD neither the DualSense or Neptune controllers work. In Cybeprpunk the DualSense controller works (even though no Playsation Controller compatibility is enabled in Big picture Mode) but the Neptune doesn't. This is the command I'm using:

gamescope -e -U -f -w 960 -h 600 -W 1280 -H 800 -- mangohud %command%

Hydranet commented 2 years ago

I'm having the same issue with my mouse when using gamescope with Proton 7.x, so I was currently running al my games on Proton 6.3.8 where I wasn't have the issue. The solution mentioned here is to launch gamescope with the -e option, does anyone know what changed in Proton or gamescope that this option is needed?

@cactushydrocodone How did you find out that -e is needed for every Proton version after 6.3.x?

cactushydrocodone commented 2 years ago

I'm having the same issue with my mouse when using gamescope with Proton 7.x, so I was currently running al my games on Proton 6.3.8 where I wasn't have the issue. The solution mentioned here is to launch gamescope with the -e option, does anyone know what changed in Proton or gamescope that this option is needed?

@cactushydrocodone How did you find out that -e is needed for every Proton version after 6.3.x?

In every issue similar to this people say "use -e" and it works. Thats how i found out :P

sidebuster commented 2 years ago

I played State of Decay 2 an hour ago then came back to it an suddenly I couldn't use my mouse or Steam controller. Then I tried an old 360 controller and it still didn't work.

Tried -e and nothing changed. Disabled "Playstation Configuration Support" in the general controller settings and it worked again.

No idea if this is a gamescope issue or not, but this is the only game I've tried it on so far.

Tarch1 commented 2 years ago

Use -e option with Elden Ring make controller work again (and have steam overlay working).

Bitwolfies commented 2 years ago

Newest update no longer requires -e in my testing.

shaumux commented 2 years ago

I still get the issue if I enable steam input, if I disable steam input the controller works.

I'm using Gentoo and Proton-tkg along with a xbox one controller.

ddulic commented 2 years ago

I have an issue where I can achieve smooth performance only when running -b, but that is causing the controller to no longer work, even with the -e flag enabled as well.

More info in https://github.com/ValveSoftware/steam-for-linux/issues/7130#issuecomment-1217767064

UltraBlackLinux commented 2 years ago

I have a similar problem. Controller support does not work. Steam integration just causes the gamescope window to never render. Regardless, I am using https://github.com/kozec/sc-controller to handle my controller inputs, and not the native steam handler

AndyDurden commented 1 year ago

I'm on the steam deck, in desktop mode, running games from normal desktop steam with launch options: gamescope -- %command% (some games won't launch without -e, some games won't launch with -e)

My steaminput controller configuration is never applied in this case. When I run games without any launch options, steaminput controller configurations are applied, and when I tab in/out it will tab to the respective game/desktop controller configuration. I assume it should work the same way when explicitly running through gamescope? Tested on hl2, disgaea 2, and dungeon siege. I was originally trying to do this to get controller configurations to work on non-steam applications launched through steam, but as far as I can tell there's no way to do that atm.

minionprocyk commented 1 year ago

Chiming in here. I have a dell xps 15 9500 with a gtx 1650 ti and an Intel CometLake-H GT2. The 2 gpus are relevant because my nvidia gpu cannot load gamescope properly and fails during initialization. I have to load gamescope using the intel gpu Some games input worked, some games don't. The following were important fixes for me to get a working experience.

TLDR I wrapped up a shell script that looks like this and now I can play black mesa and alt-tab or un-fullscreen without crashing. I hope my nvidia gpu works with this in the future so i can try rendering 1920x1200 and upscale to 3840x2400.


#!/bin/bash
export INTEL_DEBUG=norbc
export mesa_glthread=true
exec gamescope -W 1920 -H 1200 -w 1440 -h 900 -r 60 -o 15 -U -e -- steam -gamepadui