hmlendea/gfn-electron

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

kuynh opened this issue ยท 27 comments

kuynh commented

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

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.

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

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

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.

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.

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 ๐Ÿ˜ƒ!

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

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.

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!

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.

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?

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).

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?

@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)

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

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

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 :)

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!

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

@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 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! ๐Ÿ˜Š

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

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?

auyx commented

@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.

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

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.