m4dEngi / RemotePlayWhatever

Tiny application that lets you force remote play together any game you have in your steam library including non-steam ones.
MIT License
1.02k stars 38 forks source link

Can't exit RemotePlayWhatever from within Steam Deck Game Mode #69

Open Ihmoda opened 1 year ago

Ihmoda commented 1 year ago

As of the latest update, it's now possible to add the AppImage of RemotePlayWhatever as a non-Steam game, and then launch from Game Mode to create invite/links.

Unfortunately, once a link has been created in the app, it is impossible to shutdown RemotePlayWhatever, and attempting to do so can cause the system to freeze, requiring restart.

m4dEngi commented 1 year ago

Looks like it's just the way steam client in gampadui mode handles non-steam games at the moment. I was able to reproduce similar behavior launching multiple non-steam processes through clients gamepadui library.

joamjoamjoam commented 1 year ago

I have run into other instances of this in gamemode but most apps do exit cleanly so it should be possible?

Hmm it causes the hooked game to fail to close sometimes too. Maybe something in the Steam Stuff is preventing it from releasing the gamescope window.

Ive also seen some weirdness before on linux with gtk apps where the instance of a popup window isn't released. So when you try to quit the app it doesn't exit since its waiting in the popup to close.

m4dEngi commented 1 year ago

Well here's the neat thing, the whole point of RPW is to avoid hooking and use provided client api instead.

I was able to reproduce same behavior with two non-steam games launched simultaneously without RPWs "help", one tracked non-steam process gets stuck no mater what, you can verify with ps that process is indeed closed, but still displayed in running apps list on deck side.

joamjoamjoam commented 1 year ago

Ah I see what your saying now. I was able to reproduce it also. I think ill put some more focus on getting this working through decky. That way one can avoid having to start a second non steam process.

joamjoamjoam commented 1 year ago

While working on the RPW Decky plugin I noticed that sending guest invites freezes the UI when trying to close the "hooked" game but the same is not true for inviting friends directly via id. I suggest using the friends ID way of inviting people until this is resolved.

Ihmoda commented 1 year ago

@joamjoamjoam amazing that you are doing this! Just curious if canceling the guest link and then attempting to shutdown helps at all. Personally I love the guest links as I have friends who join with tablets or phones who don't have Steam accounts. Doesn't seem like we can cancel guest links via RPW CLI at the moment, but curious if canceling via the QAM UI and then shutting down does anything.

joamjoamjoam commented 1 year ago

I did try canceling via the ui and had the same freezing issue. Ill double check tommorow and update my comment. For friend links via the ui you have to cancel the session first too otherwose it will freeze so its possible the guest links work too.

Another issue we were seeing was when a guest link was active trying to access your friends would lock up the deck too. The steam client really didnt like the guest link for some reason.

Edit: Yup cancelling a guest link and then quitting a non steam still locks up the deck.