Repository navigation
netbird-ui 0.75.0 crashes on Ubuntu/Pop!_OS 22.04 due to GTK 4.14-only gdk_monitor_get_scale symbol #6890
Replies: 2 comments 2 replies
|
Your diagnosis is correct: this is an ABI compatibility regression in the 0.75.0 UI binary, not a daemon/configuration problem. There are two source-level clues that line up exactly with the runtime error:
Because the UI uses CGO, it is linked against the GTK ABI available in the build environment. Ubuntu 24.04 supplies GTK 4.14, so the resulting binary has a hard dynamic-symbol reference to You can verify that independently with: pkg-config --modversion gtk4
objdump -T /usr/local/bin/netbird-ui | grep gdk_monitor_get_scale
ldd /usr/local/bin/netbird-ui | grep -E 'gtk|gdk'No application preference or reinstall of the same 0.75.0 package can fix this. I would not replace Jammy's system GTK with a PPA/manual copy; GTK and WebKitGTK are foundational desktop libraries and that risks breaking other packages. Safe temporary options are:
For the project, the robust fix is to build Linux UI releases against the oldest supported distro/sysroot (currently Ubuntu 22.04 if the support matrix is authoritative) and add a Jammy launch smoke test. Building against an older GTK ABI normally lets the binary run on both old and new distributions. If Wails itself now unconditionally calls GTK 4.14 APIs, that call needs a runtime-gated fallback or a Wails version compatible with the chosen minimum. If NetBird intentionally raises the minimum to GTK 4.14 instead, the package must declare a versioned dependency such as In short: 0.75.0 was built with a newer GTK ABI than Jammy provides; downgrading/holding the UI is the safe immediate workaround, and building against the minimum supported GTK is the backward-compatible release fix. |
|
Hello! |
Uh oh!
There was an error while loading. Please reload this page.
Before posting
Affected area
Desktop UI
Deployment type
Self-hosted - quickstart script
Operating system or environment
Linux
NetBird version and upgrade status
0.75.0
Did this work before?
Yes, this worked before
Regression details
.
Summary
After upgrading netbird-ui to 0.75.0, the desktop UI/system tray no longer starts on Pop!_OS 22.04.
The NetBird daemon itself continues to run and the peer remains connected normally. The issue appears isolated to the redesigned 0.75.0 desktop UI.
Launching netbird-ui manually results in the application initializing successfully, connecting to the running daemon, and then terminating with:
netbird-ui: symbol lookup error: netbird-ui: undefined symbol: gdk_monitor_get_scale
gdk_monitor_get_scale() was introduced in GTK 4.14, while Ubuntu 22.04 / Pop!_OS 22.04 provides GTK 4.6.9.
This appears to make the NetBird 0.75.0 Linux UI binary incompatible with Ubuntu 22.04 despite Ubuntu 22.04 being listed in the NetBird Linux support matrix.
Current behavior
UI won't load/no tray icon
The UI begins initializing:
INF Platform Info: ID=pop Name=Pop!_OS Version=22.04 Branding=22.04 LTS GTK=4.14.5 WebKitGTK=2.52.3
INF Build Info: Wails=v3.0.0-alpha2.117 ... netbird/version.version=0.75.0
INFO client/ui/tray_theme_watcher_linux.go:74: tray theme: panel dark mode = true
INFO client/ui/tray_icon.go:24: tray applyIcon: connected=false hasUpdate=false status="" goos=linux
INFO client/ui/tray_profiles.go:146: tray fillProfileSubmenu: 1 profile(s) for user "josh", active="default"
INFO client/ui/services/daemon_feed.go:400: backend event: status status="Connected" peers=16
INFO client/ui/tray_session.go:60: ... connected=true
INFO client/ui/tray_icon.go:24: tray applyIcon: connected=true hasUpdate=false status="Connected" goos=linux
Expected behavior
Desktop UI works
netbird-ui should run on Ubuntu 22.04 using the GTK version provided by the distribution, or the package should declare a minimum GTK dependency that prevents installation on incompatible distributions.
NetBird's Linux support matrix currently lists Ubuntu 22.04 as a tested distribution.
Steps to reproduce
Install NetBird using the official APT repository on Ubuntu 22.04 or Pop!_OS 22.04.
Upgrade netbird-ui to 0.75.0.
Start the NetBird daemon and connect normally.
Launch:
netbird-ui
Environment and topology
OS: Pop!_OS 22.04 LTS
Base: Ubuntu 22.04 / Jammy
Architecture: amd64
netbird-ui: 0.75.0
GTK runtime: 4.6.9
NetBird daemon: running and connected normally
Installed GTK packages:
libgtk-4-1 4.6.9+ds-0ubuntu0.22.04.2
libgtk-4-bin 4.6.9+ds-0ubuntu0.22.04.2
libgtk-4-common 4.6.9+ds-0ubuntu0.22.04.2
libgtk-4-dev 4.6.9+ds-0ubuntu0.22.04.2
Self-hosted details, if available
No response
Logs, status output, or debug evidence
Related issues or discussions
No response
Impact
No response
Additional context
Why this appears to be a NetBird 0.75.0 regression
GTK documents:
gdk_monitor_get_scale()
as being available only since GTK 4.14.
Ubuntu 22.04 provides GTK 4.6.x through its supported repositories.
The official NetBird Linux installation documentation for the redesigned desktop application instructs Debian/Ubuntu users to install:
sudo apt-get install libgtk-4-1 libwebkitgtk-6.0-4 xdg-utils
On Ubuntu 22.04, that correctly installs GTK 4.6.x, but netbird-ui 0.75.0 subsequently attempts to resolve a GTK 4.14-only symbol at runtime.
Therefore either:
the Linux UI needs to avoid APIs newer than the minimum GTK version supported by the distributions NetBird supports, or
the package needs to require GTK >= 4.14 and the documented/support matrix needs to exclude distributions that cannot provide it.
Currently the package installs successfully on Ubuntu 22.04 but cannot execute.
All reactions