-
Notifications
You must be signed in to change notification settings - Fork 886
Description
Version
0.18.3
Operating System
Linux
Distribution Method
deb (Linux)
Describe the issue
I ran into this issue trying to use GitButler on my Debian machine. I figured out a workaround with Warp's help. Below is Warp's AI summary of what we found--apologies for the AI-generated issue, but it did a far better job of describing the problem than I would have done.
GitButler launches but displays only a blank window with a non-functional toolbar when using NVIDIA proprietary drivers on Linux. The UI completely fails to load due to NVIDIA GBM (Generic Buffer Management) driver errors.
Environment
- OS: Debian GNU/Linux
- GitButler version: 0.18.3
- GPU: NVIDIA with proprietary drivers
- Display server: X11/Wayland
Error Messages
src/nv_gbm.c:288: GBM-DRV error (nv_gbm_create_device_native): nv_common_gbm_create_device failed (ret=-1)
KMS: DRM_IOCTL_MODE_CREATE_DUMB failed: Permission denied
Failed to create GBM buffer of size 1340x1008: Permission denied
Logs
- Backend (Tauri/Rust) starts successfully and logs normally
ui-logs.logis completely empty - frontend never initializes- WebKitGTK webview fails to create rendering context
Workaround
Force Mesa EGL rendering instead of NVIDIA GBM:
LD_PRELOAD= \
GBM_BACKENDS_PATH=/usr/lib/x86_64-linux-gnu/gbm \
__EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json \
gitbutler-tauriRoot Cause
The NVIDIA GBM implementation in libnvidia-egl-gbm is incompatible with WebKitGTK's rendering requirements, preventing the webview from initializing.
Suggested Fix
Add environment variable detection for NVIDIA systems and automatically fall back to Mesa rendering, or provide a configuration option to select the rendering backend.