portmaster icon indicating copy to clipboard operation
portmaster copied to clipboard

Portmaster UI: crashes / white window on Wayland with NVIDIA driver 580.82.07 β€” works with software-rendering env-vars

Open szpijon opened this issue 3 months ago β€’ 9 comments

Environment

  • Distribution: Fedora 42
  • Kernel: Linux fedora 6.16.7-200.fc42.x86_64 # 1 SMP PREEMPT_DYNAMIC Thu Sep 11 17:46:54 UTC 2025 x86_64 GNU/Linux
  • Portmaster: 2.0.25 STABLE started via portmaster / systemd service (see logs)
  • Desktop: KDE Plasma on Wayland (kwin_wayland present in GPU process list)
  • GPU / driver: NVIDIA GeForce RTX 2060, Driver 580.82.07 (from nvidia-smi)
  • WebKit / GTK: webkit2gtk4.1-2.48.5-1.fc42.x86_64, javascriptcoregtk4.1-2.48.5-1.fc42.x86_64, gtk4-4.18.6-1.fc42.x86_64

Reproduction steps

  1. Install Portmaster on Fedora 42 (systemd service) using the .rpm package.
  2. Boot to Plasma (Wayland session).
  3. Start Portmaster normally (via service or portmaster binary).
  4. Observe UI crashes or displays a white / blank window (or, previously, distorted UI under X11 before graphics driver change).

Observed behavior

  • UI process crashes (Wayland protocol error).
  • Starting with software-rendering env-vars makes the UI render fine and usable: $ GSK_RENDERER=cairo WEBKIT_DISABLE_COMPOSITING_MODE=1 LIBGL_ALWAYS_SOFTWARE=1 portmaster
  • Using GDK_BACKEND=x11 initially allowed the app to appear but GUI elements were distorted; after installing NVIDIA driver, X11 produced a blank white window until the software-rendering combo was used.

Log user@fedora:~$ portmaster [2025-09-18][21:05:00][portmaster::config][ERROR] failed to load config file returning default config (portmaster:8967): libayatana-appindicator-WARNING **: 23:05:00.800: libayatana-appindicator is deprecated. Please use libayatana-appindicator-glib in newly written code. [2025-09-18][21:05:00][portmaster::portmaster][DEBUG] not yet connected to Portmaster API, calling on_disconnect() [2025-09-18][21:05:00][portmaster::portmaster::websocket][DEBUG] Trying to connect to websocket endpoint [2025-09-18][21:05:00][portmaster::portmaster::websocket][INFO] Successfully connected to portmaster [2025-09-18][21:05:00][portmaster::portmaster][DEBUG] connection to portmaster established, calling handlers [2025-09-18][21:05:00][portmaster::portmaster][DEBUG] number of registered handlers: 1 [2025-09-18][21:05:00][portmaster::portmaster][DEBUG] executing handler.on_connect() [2025-09-18][21:05:00][portmaster::portmaster][DEBUG] calling registered handler: main-handler [2025-09-18][21:05:00][portmaster][INFO] connection established, creating main window [2025-09-18][21:05:00][portmaster::window][DEBUG] [tauri] creating main window [2025-09-18][21:05:00][portmaster][DEBUG] created main window [2025-09-18][21:05:00][portmaster::portapi::client][DEBUG] Sending websocket frame: 0|qsub|query runtime:subsystems/ [2025-09-18][21:05:00][portmaster::portapi::client][DEBUG] Sending websocket frame: 1|qsub|query runtime:spn/status [2025-09-18][21:05:00][portmaster::portapi::client][DEBUG] Sending websocket frame: 2|qsub|query config:spn/enable [2025-09-18][21:05:00][portmaster::portapi::client][DEBUG] Sending websocket frame: 3|sub|query runtime:modules/core/event/shutdown [2025-09-18][21:05:00][portmaster::portapi::client][DEBUG] Sending websocket frame: 4|qsub|query notifications: [2025-09-18][21:05:00][portmaster::traymenu][DEBUG] SPN status update: disabled [2025-09-18][21:05:00][portmaster::config][ERROR] failed to load config file returning default config [2025-09-18][21:05:01][portmaster::window][DEBUG] [tauri] main window page loaded: http://127.0.0.1:817/ui/modules/portmaster/ [2025-09-18][21:05:01][portmaster::window][DEBUG] [tauri] main window page loaded: http://127.0.0.1:817/ui/modules/portmaster/ [2025-09-18][21:05:01][tungstenite::handshake::client][DEBUG] Client handshake done. [2025-09-18][21:05:01][reqwest::connect][DEBUG] starting new connection: http://127.0.0.1:817/ [2025-09-18][21:05:01][cookie_store::cookie_store][DEBUG] inserting Set-Cookie 'Cookie { cookie_string: Some("Portmaster-API-Token=psPKjhmVj1ZsIP-4hJUbSmA6kr-m3e2hCkOyTH7qlVc; Path=/; HttpOnly; SameSite=Strict"), name: Indexed(0, 20), value: Indexed(21, 64), expires: None, max_age: None, domain: None, path: Some(Indexed(71, 72)), secure: None, http_only: Some(true), same_site: Some(Strict), partitioned: None }' [2025-09-18][21:05:01][portmaster::portmaster::commands][DEBUG] [tauri:rpc:should_show] application should show after bootstrap [2025-09-18][21:05:01][reqwest::connect][DEBUG] starting new connection: http://127.0.0.1:817/ [2025-09-18][21:05:01][reqwest::connect][DEBUG] starting new connection: http://127.0.0.1:817/ [2025-09-18][21:05:01][reqwest::connect][DEBUG] starting new connection: http://127.0.0.1:817/ Gdk-Message: 23:05:02.419: Error 71 (Protocol error) dispatching to Wayland display.

What I tried (workarounds / tests)

  • GSK_RENDERER=ngl and GSK_RENDERER=gl β†’ garbage / distorted UI (no fix).
  • GDK_BACKEND=x11 β†’ UI displayed but glyphs/menus distorted; driver install later made X11 appear as blank white window.
  • GSK_RENDERER=cairo WEBKIT_DISABLE_COMPOSITING_MODE=1 LIBGL_ALWAYS_SOFTWARE=1 β†’ UI fully usable and responsive (works).
  • Installing NVIDIA driver using dnf (result: driver 580.82.07 installed). After driver install X11 rendering behavior changed and became unusable without software-rendering env-vars.
  • Verified webkit2gtk4.1 and javascriptcoregtk4.1 are installed, so the app has the WebKit runtime.

szpijon avatar Sep 18 '25 21:09 szpijon

Greetings and welcome to our community! As this is the first issue you opened here, we wanted to share some useful infos with you:

  • πŸ—£οΈ Our community on Discord is super helpful and active. We also have an AI-enabled support bot that knows Portmaster well and can give you immediate help.
  • πŸ“– The Wiki answers all common questions and has many important details. If you can't find an answer there, let us know, so we can add anything that's missing.

github-actions[bot] avatar Sep 18 '25 21:09 github-actions[bot]

Hi, Could you also share the Portmaster version you’re using?

stenya avatar Sep 18 '25 21:09 stenya

Right, sorry, kind of missed that one. I'm on 2.0.25 stable release

szpijon avatar Sep 19 '25 13:09 szpijon

Setting WEBKIT_DISABLE_COMPOSITING_MODE=1 should be sufficient. Portmaster already uses this parameter in its AUR package: https://aur.archlinux.org/cgit/aur.git/tree/portmaster-ui-start.sh?h=portmaster-bin

Currently, we do not plan to add this option to DEB/RPM package, since this is only a single report about this problem and it may potentially decrease UI performance.

stenya avatar Oct 03 '25 10:10 stenya

I had the same issue and export WEBKIT_DISABLE_COMPOSITING_MODE=1 in terminal fixed the problem. Thanks Stenya!

l3pr-org avatar Oct 10 '25 14:10 l3pr-org

I have the same issue/experience ^

MohamedWaheed avatar Oct 21 '25 13:10 MohamedWaheed

I have the very same issue on fedora 42 gnome wayland when I click on notifications to block or unblock a connection. it just crashes gnome. for whatever reason it does not crash when main window of portmaster is opened.

lsakdf avatar Oct 26 '25 09:10 lsakdf

Hi, just thought I'd mention that on Fedora 43 Wayland, I get this as well with version 2.0.25-1

Where can I set this variable for start up? I can't work out where portmaster runs from on start up so putting this variable in my user shell doesn't work with the initial start up.

Hydramus avatar Dec 10 '25 10:12 Hydramus

I’ve added this to the backlog. We’ll consider how we can address it in future releases.

stenya avatar Dec 10 '25 11:12 stenya