block / block/buzz

Bug: Desktop UI freezes on Linux Wayland (WebKitGTK DMABUF sync issue)

Open
#4,305 0 comments 1 reaction 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.