diff --git a/systems/x86_64-linux/drivebystation-nix/mutter-tearing.nix b/systems/x86_64-linux/drivebystation-nix/mutter-tearing.nix index f1c26ed..4291c4b 100644 --- a/systems/x86_64-linux/drivebystation-nix/mutter-tearing.nix +++ b/systems/x86_64-linux/drivebystation-nix/mutter-tearing.nix @@ -14,6 +14,10 @@ in mutter = prev.mutter.overrideAttrs (old: { pname = "mutter-tearing"; + # nixpkgs leaves Mutter's verbose topics compiled out by default. + # This is required for MUTTER_DEBUG=kms to emit the async commit flags. + mesonFlags = (old.mesonFlags or [ ]) ++ [ "-Dverbose=true" ]; + # The MR currently targets Mutter 51. Apply it to the packaged Mutter # 50 source, then resolve the four small context conflicts separately. prePatch = '' @@ -44,7 +48,12 @@ in }) ]; - # Mutter keeps tearing support behind an experimental runtime switch. - environment.sessionVariables.MUTTER_DEBUG_EXPERIMENTAL_FEATURES = - lib.mkDefault "tearing"; + environment.sessionVariables = { + # Mutter keeps tearing support behind an experimental runtime switch. + MUTTER_DEBUG_EXPERIMENTAL_FEATURES = lib.mkDefault "tearing"; + + # Temporarily expose whether async atomic commits reach KMS or fall back + # to synchronized presentation. Remove this after collecting the log. + MUTTER_DEBUG = lib.mkDefault "kms"; + }; }