From 964f593dcb68c9be87ea8b1b2fd5c093c81a3e1c Mon Sep 17 00:00:00 2001 From: ccicnce113424 Date: Sat, 4 Apr 2026 22:58:21 +0800 Subject: [PATCH 1/2] cargo-tauri: fix NVIDIA issue by disabling explicit sync https://github.com/tauri-apps/tauri/issues/9394#issuecomment-3795449374 This approach fixes the issue without disabling the DMABUF renderer and should have better performance. --- pkgs/by-name/ca/cargo-tauri/hook.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/ca/cargo-tauri/hook.nix b/pkgs/by-name/ca/cargo-tauri/hook.nix index cb829f9a96a5..d432d79c67d9 100644 --- a/pkgs/by-name/ca/cargo-tauri/hook.nix +++ b/pkgs/by-name/ca/cargo-tauri/hook.nix @@ -41,6 +41,9 @@ makeSetupHook { --prefix WEBKIT_GST_ALLOWED_URI_PROTOCOLS : "asset" # Not picked up automatically by the wrappers from the propagatedBuildInputs. --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "${cargo-tauri.gst-plugin}/lib/gstreamer-1.0/" + # fix NVIDIA issues with Tauri + # https://github.com/tauri-apps/tauri/issues/9394#issuecomment-3795449374 + --set-default __NV_DISABLE_EXPLICIT_SYNC 1 ) ''; From 90f8af0c4f9e4db25f67bcf779e980b3344b9ed5 Mon Sep 17 00:00:00 2001 From: ccicnce113424 Date: Sat, 4 Apr 2026 23:10:47 +0800 Subject: [PATCH 2/2] treewide: re-enable hardware renderer for tauri apps https://github.com/tauri-apps/tauri/issues/9394#issuecomment-3795449374 suggested that disabling explicit sync on NVIDIA GPUs can solve Tauri issues with less or no performance cost. This was applied in 79cfdf. Therefore, this commit reverts the workaround for NVIDIA GPUs in the affected apps, which should improve performance on those platforms. --- pkgs/by-name/ci/cinny-desktop/package.nix | 6 ------ pkgs/by-name/fe/fedistar/package.nix | 7 ------- pkgs/by-name/fi/firezone-gui-client/package.nix | 2 -- pkgs/by-name/fl/flying-carpet/package.nix | 5 ----- pkgs/by-name/re/readest/package.nix | 13 ------------- pkgs/by-name/ya/yaak/package.nix | 7 ------- 6 files changed, 40 deletions(-) diff --git a/pkgs/by-name/ci/cinny-desktop/package.nix b/pkgs/by-name/ci/cinny-desktop/package.nix index d4e8c53f6159..b54b24734e26 100644 --- a/pkgs/by-name/ci/cinny-desktop/package.nix +++ b/pkgs/by-name/ci/cinny-desktop/package.nix @@ -64,12 +64,6 @@ rustPlatform.buildRustPackage (finalAttrs: { $out/share/applications/Cinny.desktop ''; - preFixup = '' - gappsWrapperArgs+=( - --set-default WEBKIT_DISABLE_DMABUF_RENDERER "1" - ) - ''; - nativeBuildInputs = [ cargo-tauri.hook ] diff --git a/pkgs/by-name/fe/fedistar/package.nix b/pkgs/by-name/fe/fedistar/package.nix index e0c91d88ef31..cc2a133525c9 100644 --- a/pkgs/by-name/fe/fedistar/package.nix +++ b/pkgs/by-name/fe/fedistar/package.nix @@ -62,13 +62,6 @@ rustPlatform.buildRustPackage (finalAttrs: { doCheck = false; # This version's tests do not pass - # A fix for a problem with Tauri (tauri-apps/tauri#9304) - preFixup = '' - gappsWrapperArgs+=( - --set-default WEBKIT_DISABLE_DMABUF_RENDERER 1 - ) - ''; - passthru.updateScript = nix-update-script { extraArgs = [ "--subpackage" diff --git a/pkgs/by-name/fi/firezone-gui-client/package.nix b/pkgs/by-name/fi/firezone-gui-client/package.nix index d4772f53b473..4a5530b6878a 100644 --- a/pkgs/by-name/fi/firezone-gui-client/package.nix +++ b/pkgs/by-name/fi/firezone-gui-client/package.nix @@ -135,8 +135,6 @@ rustPlatform.buildRustPackage rec { preFixup = '' gappsWrapperArgs+=( - # Otherwise blank screen, see https://github.com/tauri-apps/tauri/issues/9304 - --set WEBKIT_DISABLE_DMABUF_RENDERER 1 --prefix PATH ":" ${ lib.makeBinPath [ zenity diff --git a/pkgs/by-name/fl/flying-carpet/package.nix b/pkgs/by-name/fl/flying-carpet/package.nix index 4517e303918f..d4cc33651216 100644 --- a/pkgs/by-name/fl/flying-carpet/package.nix +++ b/pkgs/by-name/fl/flying-carpet/package.nix @@ -65,11 +65,6 @@ rustPlatform.buildRustPackage (finalAttrs: { install -Dm644 "Flying Carpet/src-tauri/icons/128x128@2x.png" "$out/share/icons/hicolor/256x256@2/apps/FlyingCarpet.png" ''; - preFixup = '' - # https://github.com/tauri-apps/tauri/issues/9304 - gappsWrapperArgs+=(--set WEBKIT_DISABLE_DMABUF_RENDERER 1) - ''; - passthru.updateScript = nix-update-script { }; meta = { diff --git a/pkgs/by-name/re/readest/package.nix b/pkgs/by-name/re/readest/package.nix index 38f4a137501b..f53582d7fbf7 100644 --- a/pkgs/by-name/re/readest/package.nix +++ b/pkgs/by-name/re/readest/package.nix @@ -18,10 +18,6 @@ moreutils, jq, gst_all_1, - - # NOTE: this is enabled by default for better compatibility, but it may slow - # down performance. - withNvidiaFix ? true, }: rustPlatform.buildRustPackage (finalAttrs: { pname = "readest"; @@ -95,15 +91,6 @@ rustPlatform.buildRustPackage (finalAttrs: { pnpm setup-vendors ''; - preFixup = lib.optionalString withNvidiaFix '' - # fix Nvidia issues with Tauri - # https://github.com/tauri-apps/tauri/issues/9394 - # https://github.com/tauri-apps/tauri/issues/9304 - gappsWrapperArgs+=( - --set-default WEBKIT_DISABLE_DMABUF_RENDERER 1 - ) - ''; - passthru.updateScript = nix-update-script { }; meta = { diff --git a/pkgs/by-name/ya/yaak/package.nix b/pkgs/by-name/ya/yaak/package.nix index 8f0795275211..61e5b734b3ab 100644 --- a/pkgs/by-name/ya/yaak/package.nix +++ b/pkgs/by-name/ya/yaak/package.nix @@ -138,13 +138,6 @@ rustPlatform.buildRustPackage (finalAttrs: { popd ''; - postFixup = lib.optionalString stdenv.hostPlatform.isLinux '' - wrapProgram $out/bin/yaak-app \ - --inherit-argv0 \ - --set-default WEBKIT_DISABLE_DMABUF_RENDERER 1 \ - --set-default WEBKIT_DISABLE_COMPOSITING_MODE 1 - ''; - passthru.updateScript = nix-update-script { }; meta = {