mullvad / mullvadvpn-app

The Mullvad VPN client app for desktop and mobile
https://mullvad.net/
GNU General Public License v3.0
4.99k stars 334 forks source link

Fedora 36 Nvidia system with Wayland black screen issue #3570

Closed KissesRefined closed 2 years ago

KissesRefined commented 2 years ago

Issue report

Operating system: Fedora 36

App version: 2022.1.0-1

Issue description

I have just installed Fedora 36 (upgrade from Fedora 35) on a system with only Nvidia GPU, the default windowing systems is Wayland and for the first time ever everything seems to work! Except the Mullvad client GUI:

Screenshot-from-2022-05-11-13-21-35.png

According to https://mullvad.net/en/check/ I am still connected, but GUI only displays black screen.

Is there a way to make the app work properly again under Wayland?

faern commented 2 years ago

The app should still run under X11 (Xwayland) by default. But you can try forcing the app to use X11 and wayland respectively and see if you get any different results. Try running the GUI in both these ways please:

/opt/Mullvad\ VPN/mullvad-vpn --ozone-platform=x11
/opt/Mullvad\ VPN/mullvad-vpn --ozone-platform=wayland

And report back if both or only one end up with a black window.

KissesRefined commented 2 years ago

If I login using the default GNOME menu option (logging screen menu, bottom right corner) resulting in

$ echo $XDG_SESSION_TYPE
wayland

Then both command arguments result in the same black screen. With "GNONE on Xorg" the app works as before.

artkol commented 2 years ago

same system (Fedora 36, wayland, nvidia GPU) same issue.

faern commented 2 years ago

Try starting the GUI with --disable-gpu:

/opt/Mullvad\ VPN/mullvad-vpn --disable-gpu
artkol commented 2 years ago

Try starting the GUI with --disable-gpu:

/opt/Mullvad\ VPN/mullvad-vpn --disable-gpu

unfortunately, no luck

faern commented 2 years ago

The symptoms here are different than in #3575 but they could be related. Try running the GUI without the sandbox and see if that helps. See this comment: https://github.com/mullvad/mullvadvpn-app/issues/3575#issuecomment-1124193971

artkol commented 2 years ago

@faern thanks! it's working now /opt/Mullvad\ VPN/mullvad-vpn --no-sandbox

Raul-Prisecaru commented 2 years ago

I tried running the no sandbox command but no luck for me. Same with the other commands posted up there.

faern commented 2 years ago

@Raul-Prisecaru Are you also running an Nvidia GPU? The proprietary driver? Are you also getting a black window only?

Could you try disabling both the sandbox and the GPU acceleration please?

 /opt/Mullvad\ VPN/mullvad-vpn --no-sandbox --disable-gpu
faern commented 2 years ago

To everyone with the black window issue: Could you please post the terminal output of trying to start the GUI without any flags at all? The state that makes it render only a black window

raksooo commented 2 years ago

@KissesRefined @artkol @Raul-Prisecaru Could you try this development build to see if it behaves differently. One change that could affect this issue is that we've upgraded from Electron 16 to 18. https://releases.mullvad.net/builds/2022.1-dev-61c0bc/MullvadVPN-2022.1-dev-61c0bc_x86_64.rpm.

Note that this is a development build that is only intended for testing. It's more likely to contain bugs and hasn't gone through the same testing and validation process as our stable releases.

Raul-Prisecaru commented 2 years ago

@Raul-Prisecaru Are you also running an Nvidia GPU? The proprietary driver? Are you also getting a black window only?

Could you try disabling both the sandbox and the GPU acceleration please?

 /opt/Mullvad\ VPN/mullvad-vpn --no-sandbox --disable-gpu

This seems to fix the black screen issue (forgot to mention that I do run a nvidia gpu with proprietary driver)

Raul-Prisecaru commented 2 years ago

@KissesRefined @artkol @Raul-Prisecaru Could you try this development build to see if it behaves differently. One change that could affect this issue is that we've upgraded from Electron 16 to 18. https://releases.mullvad.net/builds/2022.1-dev-61c0bc/MullvadVPN-2022.1-dev-61c0bc_x86_64.rpm.

Note that this is a development build that is only intended for testing. It's more likely to contain bugs and hasn't gone through the same testing and validation process as our stable releases.

Yea this fixes the black screen issue.

image

faern commented 2 years ago

Great that the latest build of our app seems to fix the issue. We are working on releasing a public beta shortly. But until then I'd recommend using --no-sandbox --disable-gpu on our last stable release (2022.1)

KissesRefined commented 2 years ago

@faern I guess I'll just wait for the new release. No combination of --no-sandbox and --disable-gpu fix it for me. No terminal output when I am issuing the command with or without the optional keywords.

Only vaguely related logs I could find were from the initial app launch at login:

$ journalctl -b | grep mullvad      
May 12 16:26:44 ows systemd[5414]: Started app-glib-mullvad\x2dvpn-10549.scope - Application launched by gnome-session-binary.
May 12 16:26:44 ows systemd[5414]: Started app-gnome-mullvad\x2dvpn-10549.scope - Application launched by gnome-session-binary.
May 12 16:26:44 ows mullvad-vpn.desktop[10549]: [2022-05-12 16:26:44.862][verbose] Chromium sandbox is enabled
May 12 16:26:44 ows mullvad-vpn.desktop[10549]: [2022-05-12 16:26:44.864][info] Running version 2022.1
May 12 16:26:45 ows mullvad-vpn.desktop[10549]: [2022-05-12 16:26:45.177][info] Detected locale: en-US
May 12 16:26:45 ows mullvad-vpn.desktop[10549]: [2022-05-12 16:26:45.188][info] Connected to the daemon
May 12 16:26:45 ows mullvad-vpn.desktop[10848]: libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
May 12 16:26:45 ows mullvad-vpn.desktop[10549]: [2022-05-12 16:26:45.282][info] Autoconnect the tunnel
May 12 16:26:45 ows mullvad-vpn.desktop[10549]: [10549:0512/162645.303588:ERROR:browser_main_loop.cc(269)] GLib-GObject: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

According nvidia-smi I got driver version 510.68.02 installed if that could of use.

$ uname -a                                                                                                                                  
Linux ows 5.17.6-300.fc36.x86_64 #1 SMP PREEMPT Mon May 9 15:47:11 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
faern commented 2 years ago

@KissesRefined Does the development build linked above work for you then? That would be great to know, since that's what we aim to put into production, and we hope it fixes these issues.

KissesRefined commented 2 years ago

@faern the development build fixed the issue for me as well!

Although I am still getting some errors in the log that I cannot decipher myself:

user1@ows ~> journalctl -b | grep mullvad                                                                                                              
Hint: You are currently not seeing messages from other users and the system.
      Users in groups 'adm', 'systemd-journal', 'wheel' can see all messages.
      Pass -q to turn off this notice.
May 13 12:38:03 ows systemd[7580]: Started app-glib-mullvad\x2dvpn-9267.scope - Application launched by gnome-shell.
May 13 12:38:03 ows systemd[7580]: Started app-gnome-mullvad\x2dvpn-9267.scope - Application launched by gnome-shell.
May 13 12:38:03 ows mullvad-vpn.desktop[9267]: [2022-05-13 12:38:03.771][verbose] Chromium sandbox is enabled
May 13 12:38:03 ows mullvad-vpn.desktop[9267]: [2022-05-13 12:38:03.772][info] Running version 2022.1-dev-61c0bc
May 13 12:38:03 ows mullvad-vpn.desktop[9267]: [2022-05-13 12:38:03.773][verbose] Creating gui-settings file and writing the default settings to it
May 13 12:38:03 ows mullvad-vpn.desktop[9267]: [2022-05-13 12:38:03.979][info] Detected locale: en-US
May 13 12:38:03 ows mullvad-vpn.desktop[9267]: [2022-05-13 12:38:03.989][info] Connected to the daemon
May 13 12:38:04 ows mullvad-vpn.desktop[9337]: libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
May 13 12:38:04 ows mullvad-vpn.desktop[9337]: MESA-LOADER: failed to retrieve device information
May 13 12:38:04 ows mullvad-vpn.desktop[9337]: MESA-LOADER: failed to open nvidia-drm: /usr/lib64/dri/nvidia-drm_dri.so: cannot open shared object file: Permission denied (search paths /usr/lib64/dri, suffix _dri)
May 13 12:38:04 ows mullvad-vpn.desktop[9337]: failed to load driver: nvidia-drm
May 13 12:38:04 ows mullvad-vpn.desktop[9337]: MESA-LOADER: failed to open kms_swrast: /usr/lib64/dri/kms_swrast_dri.so: cannot open shared object file: Permission denied (search paths /usr/lib64/dri, suffix _dri)
May 13 12:38:04 ows mullvad-vpn.desktop[9337]: failed to load driver: kms_swrast
May 13 12:38:04 ows mullvad-vpn.desktop[9337]: MESA-LOADER: failed to open swrast: /usr/lib64/dri/swrast_dri.so: cannot open shared object file: Permission denied (search paths /usr/lib64/dri, suffix _dri)
May 13 12:38:04 ows mullvad-vpn.desktop[9337]: failed to load swrast driver
May 13 12:38:04 ows mullvad-vpn.desktop[9267]: [2022-05-13 12:38:04.066][info] Skip autoconnect because account token is not set
May 13 12:38:04 ows mullvad-vpn.desktop[9267]: [2022-05-13 12:38:04.067][error] Failed to request the version info: 5 NOT_FOUND: no version cache
May 13 12:38:04 ows mullvad-vpn.desktop[9267]: [9267:0513/123804.085273:ERROR:browser_main_loop.cc(269)] GLib-GObject: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
May 13 12:38:04 ows mullvad-vpn.desktop[9267]: [2022-05-13 12:38:04.252][error] Failed to check autostart file: ENOENT: no such file or directory, access '/home/user1/.config/autostart/mullvad-vpn.desktop'
raksooo commented 2 years ago

The beta has now been released: https://github.com/mullvad/mullvadvpn-app/releases

raksooo commented 2 years ago

I'll close this since the Electron upgrade seemed to fix this for everyone.