hmlendea / gfn-electron

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

[BUG] [Steam Deck] add "pretend you are Windows" #159

Closed 538023 closed 1 year ago

538023 commented 1 year ago

Describe the bug

Some games are not showing up only because the browser says you are on a linuex device. If you change it to windows it should work.

To Reproduce

  1. Install
  2. Run
  3. Search for genshin

Screenshots

No response

Version

Steamos 3.3

Is this a fresh install of the app or an update from a past version?

fresh

Did this issue appear right away upon installation/updating, or spontaneously?

yes

Additional context

https://stackoverflow.com/questions/35672602/how-to-set-electron-useragent

538023 commented 1 year ago

Already done

538023 commented 1 year ago

But doesn't work. I tried to add --spoof-windows on the Steam Deck

andrewbaxter commented 1 year ago

Ah, I realize this is out of scope but if this could be supported it would really help me too. Genshin is apparently only supported on Windows/Mac/Chromebook, but I think Chromebook browser is forbidden (only the app, for all 3). Setting a ChromeOS user agen't didn't work for me either.

broscar1 commented 1 year ago

This'd be really useful. I switched to fedora full time and I haven't been able to play genshin since. All other games work great on GFN Electron though.

dubfib commented 1 year ago

But doesn't work. I tried to add --spoof-windows on the Steam Deck

that won't work, like andrewbaxter said its only available for the app not browser which this linux app is using the only way to do this if this program was ran geforce now under wine (a program that allows linux users to run windows apps)

hmlendea commented 1 year ago

The useragents for the --spoof-* parameters are being updated in #164 This will hopefully help with this problem

The real issue here is that Nvidia has multiple checks to determine the platform that the user runs GFN on, not just the user agent. It is incredibly hard to bypass all their checks especially since they constantly change and improve all the time. It's a cat-and-mouse game that this project simply cannot afford to compete in, since Nvidia is a big company with paid developers working full-time on this thing.

Besides, GeForce NOW belongs to Nvidia - if they wish to restrict games on certain platforms, it is their call, and all we can do is simply to kindly ask them not to. While I'm ok with spoofing user agents, since that is actually a choice intended to be in the hands of the users (on browsers in general), I don't think it would be very nice (or even allowed, I'm really not sure) to actively circumvent Nvidia's platform validation measures.

felipemarins commented 1 year ago

The spoof option doesn't work for me. I don't know if it's useful, but Genshin Impact can be played through Chrome by changing the user agent by this extension. Strangely enough, the official one made by Google doesn't work for this purpose in GeForce Now. Maybe there is something that can be related to the spoof parameter in this case.

hmlendea commented 1 year ago

Closing, as this should have been fixed as part of already-merged PRs. If it still persists, feel free to comment and/or reopen this issue.