hmlendea / gfn-electron

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

Empty screen after login #91

Closed globeone closed 2 years ago

globeone commented 2 years ago

Using the Snap version 1.1.10 on Ubuntu 20.04 The application starts I can log in to Geforce Now Then it says close this tab to continue the only option is to close the window which leaves an blank window behind it.

2021-11-11 21-19-44_GeForceNowAfterLogin

globeone commented 2 years ago

Here one can see that the login screen works as normal but the actual choose the game from your library screen is blank

2021-11-11_21-29-18_GeForceNowAfterLogin

globeone commented 2 years ago

Some more info to help debug: Was attempting to play on a Surface tablet running Ubuntu 20.04, which give a blank screen after login.

On the gaming rig also Ubuntu 20.04 am able to log in and play using geforcenow-electron and everything works fine.

Potemkinkuliss commented 2 years ago

I can confirm this issue on 0.3.2 on Ubuntu 20.04.3. (Snap install)

HiJackerRZ commented 2 years ago

Same problem

squalou commented 2 years ago

Same thing on pop02 20.04 (which is based on ubuntu 20.04).

One "interesting" thing : on this computer, playing through chrome-based browsers does not work, I have to tweak the user agent string. No idea if it can be related somehow. And even weirder : using an extension to tweak the user agent does not work either : I have to use developers tools / more tools / network conditions / untick 'use default agent' there and set chrome os user agent from there. Any other attempt will fail.

(while on another computer, using ubuntu, same chrome version, it works without issues. Yet, in order to get the keyboard selection menu I have to use chrome OS user agent)

using this one

Mozilla/5.0 (X11; CrOS x86_64 10066.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36
squalou commented 2 years ago

same thing on archlinux except my default chromum works and the fake useragent does not :-)

IgorKvasn commented 2 years ago

I tried it couple of hours back and it didn't work for me, either. I tried it once more right now and it works - I did no changes to the OS, GFN or anything else... so give it another try, maybe it was just some error on Geforce's side and they resolved it?

Potemkinkuliss commented 2 years ago

No change yet. I tried three times.

PopsicleEXE commented 2 years ago

i'm having this issue too

squalou commented 2 years ago

I've just had a success with electron 14 instead of electron 15

in package.json :

-        "electron": "^15.3.0",
+        "electron": "^14",

then npm install && npm start

hmlendea commented 2 years ago

I am still investigating it and am not really sure what is the true problem, or more to the point what actually should be done to fix this.

As a backup solution I might just downgrade Electron to a version that works. It's a bit hard though since on the systems that I can test on, it works with the latest version also.

Is anyone else able to confirm whether electron 14 works?

hmlendea commented 2 years ago

Might also be worth trying to wipe "~/.config/GeForce NOW" and see if that works. Note: Removing that will wipe your session (you'll have to log in again). Consider just renaming that directory to something else instead, so that you ca rename it back later if the problem persists.

squalou commented 2 years ago

(additional info : I can't seem to access the "change keyboard layout". From my experience, I had to untick "use default useragent" in developer tools and set chrome os to have access to it. Here, change the string in main.js does not help. Just like using an extension in chrome does not help. I wonder if setting the user agent string still works, be it on electron or chrome)

Potemkinkuliss commented 2 years ago

I can confirm: Downgrade to Electron 14 did the trick. Thank you!

squalou commented 2 years ago

I managed to have it work with electron15 with this minimal tweak in main.js

diff --git a/scripts/main.js b/scripts/main.js
index d5c4090..f9d6cf7 100644
--- a/scripts/main.js
+++ b/scripts/main.js
@@ -11,6 +11,7 @@ function createWindow() {
     webPreferences: {
       preload: path.join(__dirname, "preload.js"),
       contextIsolation: false,
+      nativeWindowOpen: false
     },
   });

nativeWindowOpen: true is the new default in electron 15.

This needs to be confirmed by others (with wiping cache and logout first and all)

hmlendea commented 2 years ago

I am pushing @squalou 's nativeWindowOpen: false change as a quickfix, which will hopefully fix it for everybody. I am still unable to reproduce the empty screen in any way :(

Thanks for the involvement, guys!