Bug: Desktop UI freezes on Linux Wayland (WebKitGTK DMABUF sync issue)
- Dominant language
- Rust
- Stars
- 32.7k
- Forks
- 4.3k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 253
Description
# Bug: Desktop UI freezes on Linux Wayland (WebKitGTK DMABUF sync issue)
### Description
On certain Linux Wayland environments (specifically Pop!_OS / COSMIC desktop), the Buzz desktop app UI will suddenly freeze and stop updating.
While the screen is completely frozen, the application logic itself is still perfectly healthy and running in the background. Inspecting the logs reveals that the frontend is still establishing live subscriptions, receiving events, and handling Rust callbacks correctly.
Additionally, manually minimizing and maximizing the window triggers a single-frame redraw that successfully updates the UI to the current state, proving the application is not deadlocked.
### Root Cause
This is a known issue with the WebKitGTK `DMABUF` hardware-accelerated renderer on Wayland losing synchronization with the compositor. The frames are being rendered by the application, but they are not successfully being handed over to the Wayland compositor to be drawn on screen.
### Workaround
Prefixing the launch command with the `WEBKIT_DISABLE_DMABUF_RENDERER=1` environment variable completely resolves the issue by falling back to a shared memory rendering path, restoring continuous UI updates.
### Environment
- **OS**: Pop!_OS (Ubuntu-based)
- **Desktop Environment**: COSMIC (Wayland)
- **Launch Command**: `pnpm exec tauri dev` (or desktop launcher)
### Proposed Solution
Buzz already has a `webkit_rendering.rs` workaround module that applies `WEBKIT_DISABLE_DMABUF_RENDERER=1` heuristically (for NVIDIA GPUs and AppImages). It might be worth expanding this heuristic to include COSMIC desktop environments, or providing a more visible troubleshooting note in the documentation for users on Wayland who encounter the freezing bug.
Contributor guide
Assessment
This issue has not been assessed yet.