hmlendea / gfn-electron

Linux Desktop client for Nvidia's GeForce NOW game streaming service
GNU General Public License v3.0
489 stars 61 forks source link

[BUG] [Steam Deck] Doesn't detect the Deck controllers when launching through Steam #105

Closed kuynh closed 1 year ago

kuynh commented 2 years ago

Describe the bug

I am running this app through steam as a non-steam game so that the steam virtual controls can be passed through to the game. However, there seems to be an issue where the GeForce application does not see the controller and will only respond through keyboard inputs. Also, this issue may or may not be related to the issue mentioned above but when trying to type numbers into any game that is being streamed, only values of 1 are being sent.

To Reproduce

  1. Add geforce now-electron as a non-steam game.
  2. Launch GeForce now through steam.
  3. Play a game such as cyberpunk 2077 and steam controllers will not be detected.

Screenshots

No response

Operatingsystem

SteamOS

Desktop Environment

SteamOS

Installation method

flatpak

Version

1.1.12

Additional context

No response

hmlendea commented 2 years ago

I will try investigating this as soon as I can but my first impression is that this might be an Electron issue.

Chrome itself had issues with controller support on the Steam Deck, so we might have to wait until the fixes reach Electron.

In any case, I'll know for sure when I can actually take a close look into it. Unfortunately though I cannot test a Steam Deck directly as I don't (yet) have one, and am away from home so I don't have access to my Steam Controller either (which would have been a good enough substitute). I can only test it with a PS5/DualSense one.

ilovespicynoodles commented 2 years ago

This SHOULD be fixed now. Valve fixed it in one of their latest updates.

hmlendea commented 2 years ago

If someone with a Steam Deck could confirm it would be great! Mine will only arrive after Q3, sadly.

ilovespicynoodles commented 2 years ago

If someone with a Steam Deck could confirm it would be great! Mine will only arrive after Q3, sadly.

I got on and just tested it and it works perfectly through the google chrome browser. the gfn-electron app does not sadly. I will test the chromium browser later today when i have a moment to see if this is purely on GOOGLE chrome or not.

hmlendea commented 2 years ago

Thanks! I will also update to Electron 18 and fingers crossed that will help with the controls. But until I get a Deck, or someone with a Deck can contribute to the code, I'm just shooting in the dark here :P

I'll only be able to do that in the weekend tho, not today.

ilovespicynoodles commented 2 years ago

Thanks! I will also update to Electron 18 and fingers crossed that will help with the controls. But until I get a Deck, or someone with a Deck can contribute to the code, I'm just shooting in the dark here :P

I'll only be able to do that in the weekend tho, not today.

I have personally not used Electron in any of my projects yet but i took a quick look at the code and it doesn't seem that hard for me to learn quickly. So i'd love to help out 😄 I don't have a lot of time right now either but as soon as i have time in the next few days I'll get busy with it 😃 This project has helped me a ton so why not help work on it 😃!

ilovespicynoodles commented 2 years ago

I updated Electron and it indeed fixed it. The Steam Deck controller now gets detected properly.

I send in a pull request with Electron updated 😃.

kuynh commented 2 years ago

I am able to now properly use the steam keyboard to type in my password to login into games but a new issue has occurred which is that the joystick/buttons do not work anymore. I have to navigate with my trackpad on the steam deck but I can not do anything else but click and move a cursor around. I am on the latest version of 1.5.2.

ilovespicynoodles commented 2 years ago

I am able to now properly use the steam keyboard to type in my password to login into games but a new issue has occurred which is that the joystick/buttons do not work anymore. I have to navigate with my trackpad on the steam deck but I can not do anything else but click and move a cursor around. I am on the latest version of 1.5.2.

This is fixed in the pull request i submitted today #130 😊 When i wake up i will finish the last few things and the new version should be out asap!

strktt commented 2 years ago

How do i install the newest version on steam deck? The one on the discover store doesnt work with controller yet... seems like its the older version.

ilovespicynoodles commented 2 years ago

How do i install the newest version on steam deck? The one on the discover store doesnt work with controller yet... seems like its the older version.

Is the one you installed from Flathub version 1.6.0?

strktt commented 2 years ago

I dont think it is. It says version 1.6 (82mb) on the page but controller does not work in both desktop mode or steamos... whereas if i download the .zip or appimage directly from github, controller does work in desktop mode on the steam deck. (It does not launch through steamos though).

ilovespicynoodles commented 2 years ago

I dont think it is. It says version 1.6 (82mb) on the page but controller does not work in both desktop mode or steamos... whereas if i download the .zip or appimage directly from github, controller does work in desktop mode on the steam deck. (It does not launch through steamos though).

This sounds like a permission issue. Flatpak apps run in a sandbox. Could you install Flatseal to manage permissions of Flatpak apps and give it permission to access devices?

hmlendea commented 2 years ago

@strktt try setting the permissions like @ilovespicynoodles said. You can follow the instructions from Microsoft Edge (but use io.github.hmlendea.geforcenow-electron instead of com.microsoft.Edge)

strktt commented 2 years ago

I used flatseal to give the electron 1.6 version access to devices... still doesnt work. I also put the command in but it says permission denied

strktt commented 2 years ago

Alright added the command.. needed to put --user. Controller doesnt work after both flatseals access and that command

ilovespicynoodles commented 2 years ago

Alright added the command.. needed to put --user. Controller doesnt work after both flatseals access and that command

Let me go get my steam deck and see if i can figure this out for you :)

strktt commented 2 years ago

Alright cool. Imma catch some sleep its 4 am here. Ill try out any solutions if you find any in the morning. Appreciate the help!

ilovespicynoodles commented 2 years ago

I figured it out. It was indeed a permission issue. Just follow the instructions in my pictures. The text you write at the end is: --filesystem=/run/udev:ro

@hmlendea I'm not sure how to add that permission to a flatpak at build though.

1 2 3

hmlendea commented 2 years ago

@ilovespicynoodles I'm not sure either... but I will try researching this matter more.

But for now I will add your instructions to the readme, and create a help page on the wiki that will also include your pictures (if you allow it)

ilovespicynoodles commented 2 years ago

@ilovespicynoodles I'm not sure either... but I will try researching this matter more.

But for now I will add your instructions to the readme, and create a help page on the wiki that will also include your pictures (if you allow it)

Sure no problem! 😊

strktt commented 2 years ago

It works! Thanks so much. Just to be clear.. for next time, do i just add the command in launch options or do all 3 steps (flatseal, the command in terminal, and launch options)?

auyx commented 2 years ago

I have the following in the launch options box in steam using V1.7 from flathub.

"run --branch=stable --arch=x86_64 io.github.hmlendea.geforcenow-electron flatpak override --filesystem=/run/udev:io.github.hmlendea.geforcenow-electron --filesystem=/run/udev:ro --user"

and Ive enabled all devices in flatseal and the deck controller isn't working. Am I missing something?

hmlendea commented 2 years ago

@auyx try the other fix also: https://github.com/hmlendea/gfn-electron/wiki/Troubleshooting#gamepad-controls-are-not-detected

auyx commented 2 years ago

@auyx try the other fix also: https://github.com/hmlendea/gfn-electron/wiki/Troubleshooting#gamepad-controls-are-not-detected

Thanks, adding the specific folder in flatseal fixed it.

hmlendea commented 1 year ago

Closed as fixed. Feel free to comment and/or re-open this issue if it persists for you.

razaretiwala commented 7 months ago

Is this broken for anyone else again? Followed all instructions, but still not getting it to work :/ Can someone copy/paste their launch options here for me? Unsure if that's the piece that's breaking. I've attempted both the console approach and flatseal to give access to /run/udev:ro, neither made a difference.

When I run the console command, should flatseal automatically update to show /r/udev:ro? That doesn't happen either, for some reason.