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

Proton games played through Steam Link unplayable due to mouse input corruption #6501

Open
s-daveb opened this issue Jan 30, 2023 · 12 comments

Comments

@s-daveb
Copy link

s-daveb commented Jan 30, 2023

This only happens when playing Windows games in Proton, and attempting to stream the game to another computer with Steam Link.
(edit: This also happens over VNC clients. The problem seems to lie in Proton?)

Ssystem information

  • Steam client version (build number or date): Dec 15, 2022
  • Distribution (e.g. Ubuntu): Arch, but it also happened on Ubuntu
  • Opted into Steam client beta?: No, but it also happens on the beta.
  • Have you checked for system updates?: Yes
    All of my Steam Link clients are running on macOS or iPadOS and I have the latest build from the App Store.

Please describe your issue in as much detail as possible:

Hello,

I've been having this problem ever since I started playing with Proton and Steam Link last year. I first noticed while playing Dragon Age: Origins, but I've since seen it in many, including Kerbal Space Program, and other third-party Unity3D games I've added to Steam.

The common denominator is that the game has right-click + drag camera controls, that you run the game in proton, and try to control it via Steam Link.

When you run a game in proton that that implements camera controls with right-click, and you try to change the camera angle, for some reason, the screen begins to spin like crazy, as if a WINE feature called 'mouse warping' is enabled.

I've been lucky enough to be able to some games 'natively' (ie. in Mono) on Linux, and the issue doesn't happen, but other games leave me with no choice but to play on the physical hardware.

Basically any game that implements right-click mouselook seems to be broken if you play them through Steam Link.

Steps for reproducing this issue:

Steps to recreate:

  1. Run Kerbal Space Program, or Dragon Age: Origin in Proton on a Linux computer w/ Remote Play enabled
  2. Connect to your gaming PC with your Steam Link client. I've seen this problem on iPad and macOS Steam Link, but it probably affects others.
  3. Load up the game, and get to a scene where you can change the camera angle.
  4. Right-click, and move the cursor. Enjoy the spins.
@s-daveb s-daveb changed the title Proton games played through Steam Link unplayable. Proton games played through Steam Link unplayable due to input corruption Jan 30, 2023
@Disk1of5
Copy link

Disk1of5 commented Feb 1, 2023

This also impacts Steam remote play with a linux host to ANY device, Steam Deck, Steam Link, Android App, Linux Desktop this has been an issue for about a month now.
i have tested Stable to Stable (not working) Beta to Beta.. no combo is working at the moment.

edit
One more thing. if you shift+Tab on the host to Steam overlay, the host computer will get the remote input presses but just not the game... and if you exit the overlay and go back to the game you will still have no remote inputs.

@s-daveb
Copy link
Author

s-daveb commented Feb 2, 2023

This also impacts Steam remote play with a linux host to ANY device, Steam Deck, Steam Link, Android App, Linux Desktop

Thanks for looking into the other platforms! I suspected as much.

this has been an issue for about a month now. i have tested Stable to Stable (not working) Beta to Beta.. no combo is working at the moment.

That is one thing I forgot to mention. I first used Steam Link in January of 2022 and I had this problem, but I thought it was on proton’s end, and understood the Steam Deck wasn’t out.

It’s still not fixed after the Steam Deck release.

Would it help to also open an issue on the Proton GitHub?

@Disk1of5
Copy link

Disk1of5 commented Feb 2, 2023

Would it help to also open an issue on the Proton GitHub?

Im not sure, because i tried different version of proton, and would rolling back to an early 7.x or 6.x version of proton to restore functionality and that also doesn't work...
but here is the odd thing..

I can remote start a game, go to the host, alt-tab startup start up jstest-gtk and i see all the buttons work.... its just like there is some API call that's missing back to the game to say here is your joystick input..

@kisak-valve
Copy link
Member

kisak-valve commented Feb 2, 2023

Hello @s-daveb, while I don't have any particular insight into this issue, I do think this should be looked at from the Steam Remote Play side first, and I also think that discussion of this issue shouldn't be fragmented across multiple issue reports. If you find a decent hint that the root cause of this issue is in Proton, then add a note here explaining it and give me a ping requesting that this issue be transferred to the Proton issue tracker instead of creating a duplicate issue report.

@Disk1of5
Copy link

Disk1of5 commented Feb 2, 2023

@kisak-valve i think i figured out a part of the issue, i think there is an problem with the focus being handed back to the game when it starts.

For example.. right now on games like God of War or Deep Rock Galatic, Without streaming in Linux with Proton if you plugin in a controller after it loads then it still won't recognize the new input.. I have a theory that maybe with remote play its not passing the input back to the game as its loading quick enough hence, it never loads with controller support... and that is why Steam's UI can detect the button presses, why jstest-gtk can see the button presses.. but the game doesn't..

i think whats happening is /dev/input/joystick0 isn't being generated quick enough before proton starts the game. thus we never get input...

@Disk1of5
Copy link

Disk1of5 commented Feb 2, 2023

but ... i dunno.. im not familiar with how steam is doing things under the hood.. so maybe im part way there... 🤷

@kisak-valve
Copy link
Member

You've described ValveSoftware/steam-for-linux#9150.

@Disk1of5
Copy link

Disk1of5 commented Feb 3, 2023

@kisak-valve yes i think that these bugs are related and Streaming is broken as a side effect of how inputs are handled while the game is running. Maybe this issue be merged as one bug wiht the streaming + 3rdparty game + Controller labels.

and with a high priority flag 😅 lol

Thanks!

@s-daveb
Copy link
Author

s-daveb commented Feb 3, 2023

Hello @s-daveb, while I don't have any particular insight into this issue, I do think this should be looked at from the Steam Remote Play side first, and I also think that discussion of this issue shouldn't be fragmented across multiple issue reports. If you find a decent hint that the root cause of this issue is in Proton, then add a note here explaining it and give me a ping requesting that this issue be transferred to the Proton issue tracker instead of creating a duplicate issue report.

@kisak-valve Funny that you mention that, I just tried to control a Proton-wrapped game through a VNC client, and I got the exact same spinning behavior. So my inclination is that the problem is in Proton as you mentioned....

I do think this issue should be transferred. I'm not sure how to do that, but please close this issue and send me the issue # in the proton bugtracker so I can help, if needed (and because I can't wait to play these games 😅)

Thank you both for being so responsive!

@kisak-valve kisak-valve transferred this issue from ValveSoftware/steam-for-linux Feb 3, 2023
@s-daveb s-daveb changed the title Proton games played through Steam Link unplayable due to input corruption Proton games played through Steam Link unplayable due to mouse input corruption Feb 3, 2023
@Disk1of5
Copy link

as per #9150 i have tested and the latest Linux Runtime is working for me now.

@s-daveb
Copy link
Author

s-daveb commented Feb 22, 2023

Some additional data:
I found that if I stream the proton game using Sunshine instead of Steam Link, the random rotating mouse corruption does not happen by default.

However, if I check off "Optimize mouse for remote desktop instead of games," the Moonlight client behaves identically to Steam Link, causing a nauseating rotation.

@kisak-valve Maybe part of this problem can be fixed within Steam Link? I can't really be sure now.

@dgudim
Copy link

dgudim commented Jun 24, 2024

I stumbled upon the exact same issue today, bumping for visibility

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants