Keyboard input freezes app when running under XWayland with input method enabled
- Dominant language
- Rust
- Stars
- 32.7k
- Forks
- 4.3k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 253
Description
**Describe the bug**
When launching the Buzz desktop AppImage with GDK_BACKEND=x11 on Wayland (required for correct UI rendering on NVIDIA), keyboard input causes the application to freeze completely. The UI renders correctly and clicking on form fields to set focus works, but attempting to type any text immediately freezes the app. No text is inputted and the application becomes unresponsive.
This occurs when an input method framework (fcitx5) is active. The issue can be bypassed by setting GTK_IM_MODULE=gtk-im-context-simple and XMODIFIERS="", but this disables CJK (Chinese/Japanese/Korean) input method support entirely.
**Steps to reproduce**
1. Run a Wayland compositor (niri) with NVIDIA GPU and an input method framework (fcitx5)
2. Launch Buzz AppImage with GDK_BACKEND=x11
3. Navigate to any text input field (e.g., relay URL on setup screen)
4. Click on the field — focus works correctly
5. Attempt to type any text
6. App freezes immediately
**Expected behavior**
Keyboard input should work without freezing when an input method framework is active. If input method handling fails, the app should fall back gracefully rather than freezing. CJK input should remain functional.
**Version and platform**
- Buzz version: 0.5.5
- OS: NixOS 26.11, niri (Wayland), NVIDIA driver 595.84, fcitx5
**Logs / additional context**
Workaround environment variables that restore keyboard input (but disable CJK input):
export GTK_IM_MODULE=gtk-im-context-simple
export XMODIFIERS=""
export QT_IM_MODULE=""
Related issues: #4305 (UI freeze on Wayland), #3654 (WEBKIT_DISABLE_DMABUF_RENDERER crash on NVIDIA)
Contributor guide
Research direction
Start by reproducing the freeze with the Buzz AppImage under XWayland, fcitx5, and GDK_BACKEND=x11, then compare it with the documented GTK_IM_MODULE and XMODIFIERS workaround. Test typing in the relay URL field on the setup screen. Done means keyboard input works without freezing and CJK input remains functional.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100