diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 3e9f43976..958f22572 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -76,6 +76,17 @@ pub fn run() { if std::env::var_os("__NV_PRIME_RENDER_OFFLOAD").is_none() { std::env::set_var("__NV_PRIME_RENDER_OFFLOAD", "1"); } + let is_wayland = std::env::var("XDG_SESSION_TYPE") + .map(|session| session.eq_ignore_ascii_case("wayland")) + .unwrap_or(false) + || std::env::var_os("WAYLAND_DISPLAY").is_some(); + let has_nvidia = std::path::Path::new("/proc/driver/nvidia/version").exists(); + if is_wayland + && has_nvidia + && std::env::var_os("WEBKIT_DISABLE_DMABUF_RENDERER").is_none() + { + std::env::set_var("WEBKIT_DISABLE_DMABUF_RENDERER", "1"); + } // Work around sporadic blank WebKitGTK renders on X11 by disabling compositing mode. if std::env::var_os("WEBKIT_DISABLE_COMPOSITING_MODE").is_none() { std::env::set_var("WEBKIT_DISABLE_COMPOSITING_MODE", "1");