From 41cbc1dd6fd9da9196912b5017642ab69f42cd98 Mon Sep 17 00:00:00 2001 From: rope Date: Sat, 25 Jul 2026 08:54:10 +0100 Subject: [PATCH] macbook: patch aquamarine legacy-iface cursor null bug --- hosts/hardware/FredOS-Macbook.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/hosts/hardware/FredOS-Macbook.nix b/hosts/hardware/FredOS-Macbook.nix index f5656eb..c1cc68c 100644 --- a/hosts/hardware/FredOS-Macbook.nix +++ b/hosts/hardware/FredOS-Macbook.nix @@ -54,6 +54,19 @@ # wait_prepare/wait_finish were removed from struct vb2_ops in Linux 6.8 nixpkgs.overlays = [ + # Legacy DRM iface (AQ_NO_ATOMIC): every commit without cursor flags + # hits the else-branch and nulls the cursor plane → cursor vanishes + # whenever it isn't moving (vfr=false commits every frame). Only null + # it when the cursor is actually meant to be hidden. Bug present + # upstream as of aquamarine 0.11.0 / main (July 2026). + (final: prev: { + aquamarine = prev.aquamarine.overrideAttrs (old: { + postPatch = (old.postPatch or "") + '' + sed -i 's|} else if (drmModeSetCursor(|} else if (!connector->output->cursorVisible \&\& drmModeSetCursor(|' \ + src/backend/drm/impl/Legacy.cpp + ''; + }); + }) (final: prev: { linuxPackages_6_12 = prev.linuxPackages_6_12.extend (lpFinal: lpPrev: { facetimehd = lpPrev.facetimehd.overrideAttrs (old: {