Portmaster UI: crashes / white window on Wayland with NVIDIA driver 580.82.07 β works with software-rendering env-vars
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
- Install Portmaster on Fedora 42 (systemd service) using the .rpm package.
- Boot to Plasma (Wayland session).
- Start Portmaster normally (via service or portmaster binary).
- 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.
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.
Hi, Could you also share the Portmaster version youβre using?
Right, sorry, kind of missed that one. I'm on 2.0.25 stable release
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.
I had the same issue and export WEBKIT_DISABLE_COMPOSITING_MODE=1 in terminal fixed the problem. Thanks Stenya!
I have the same issue/experience ^
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.
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.
Iβve added this to the backlog. Weβll consider how we can address it in future releases.