From aeeacce566fd62ceeddf01c662e34d3e8b06fe19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20H=2E=20Johansen?= Date: Thu, 1 Oct 2026 18:42:43 +0200 Subject: [PATCH 1/3] Name apple-bcm-firmware-fetcher in the T2 package list --- install/hardware/apple/fix-t2.sh | 2 +- install/omarchy-other.packages | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/install/hardware/apple/fix-t2.sh b/install/hardware/apple/fix-t2.sh index 948828d4..377bc37d 100644 --- a/install/hardware/apple/fix-t2.sh +++ b/install/hardware/apple/fix-t2.sh @@ -7,7 +7,7 @@ if lspci -nn | grep "106b:180[12]" >/dev/null; then linux-t2 \ linux-t2-headers \ apple-t2-audio-config \ - apple-bcm-firmware \ + apple-bcm-firmware-fetcher \ t2fanrd # Enable T2 fan control diff --git a/install/omarchy-other.packages b/install/omarchy-other.packages index ee7607a7..a6e61656 100644 --- a/install/omarchy-other.packages +++ b/install/omarchy-other.packages @@ -64,7 +64,7 @@ dell-xps13-sidecar-amps lsp-plugins-lv2 # T2 MacBook support packages -apple-bcm-firmware +apple-bcm-firmware-fetcher apple-t2-audio-config linux-t2 linux-t2-headers From 25db463cd9b509340ed006e29d3e5d7365fa6784 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20H=2E=20Johansen?= Date: Thu, 1 Oct 2026 19:40:35 +0200 Subject: [PATCH 2/3] fix(t2): drop the superseded firmware package before adding the fetcher --- install/hardware/apple/fix-t2.sh | 11 +++++++++++ test/shell.d/t2-hardware-test.sh | 10 ++++++++++ 2 files changed, 21 insertions(+) diff --git a/install/hardware/apple/fix-t2.sh b/install/hardware/apple/fix-t2.sh index 377bc37d..ea15af3a 100644 --- a/install/hardware/apple/fix-t2.sh +++ b/install/hardware/apple/fix-t2.sh @@ -3,6 +3,17 @@ if lspci -nn | grep "106b:180[12]" >/dev/null; then echo "Detected MacBook with T2 chip. Installing support items..." + # The fetcher replaced the packaged firmware upstream and declares + # Conflicts=apple-bcm-firmware, so a machine that already carries the old + # package (an earlier install) must drop it first or the noninteractive + # transaction fails. Fresh installs have nothing to drop, which is a no-op. + omarchy-pkg-drop apple-bcm-firmware + + # apple-bcm-firmware-fetcher reads its firmware off an on-disk macOS volume — + # Wi-Fi firmware for T2 Macs is only legally obtainable from there. A + # single-boot install that wiped macOS has no such volume, so the fetch comes + # up empty; those machines need the firmware supplied from a macOS copy or a + # downloaded recovery image instead. omarchy-pkg-add \ linux-t2 \ linux-t2-headers \ diff --git a/test/shell.d/t2-hardware-test.sh b/test/shell.d/t2-hardware-test.sh index 8b2c478b..c7cf388b 100644 --- a/test/shell.d/t2-hardware-test.sh +++ b/test/shell.d/t2-hardware-test.sh @@ -20,6 +20,16 @@ grep -Fq 'KERNEL_CMDLINE[default]+=" intel_iommu=on iommu=pt pm_async=off mem_sl fail "T2 setup leaves optional Touch Bar customization uninstalled" ! grep -qx 'tiny-dfr' "$other_packages" || fail "the ISO no longer caches tiny-dfr" +grep -Fq 'apple-bcm-firmware-fetcher' "$fix_t2" || + fail "T2 setup installs the firmware fetcher" +grep -Fq 'omarchy-pkg-drop apple-bcm-firmware' "$fix_t2" || + fail "T2 setup drops the superseded firmware package before the fetcher conflicts with it" +! grep -Fq 'apple-bcm-firmware \' "$fix_t2" || + fail "T2 setup no longer adds the superseded firmware package" +grep -Fq 'apple-bcm-firmware-fetcher' "$other_packages" || + fail "the default package list installs the firmware fetcher" +! grep -qx 'apple-bcm-firmware' "$other_packages" || + fail "the default package list no longer names the superseded firmware package" pass "fresh T2 setup uses t2bce-compatible suspend, fan, and Touch Bar defaults" test_tmp=$(mktemp -d) From 885e3390371adb3174afdb0116417ddb150638e2 Mon Sep 17 00:00:00 2001 From: Ryan Hughes Date: Sun, 4 Oct 2026 19:22:04 -0400 Subject: [PATCH 3/3] Drop superseded T2 firmware handling from the install script --- install/hardware/apple/fix-t2.sh | 6 ------ test/shell.d/t2-hardware-test.sh | 6 ------ 2 files changed, 12 deletions(-) diff --git a/install/hardware/apple/fix-t2.sh b/install/hardware/apple/fix-t2.sh index ea15af3a..90d4a7df 100644 --- a/install/hardware/apple/fix-t2.sh +++ b/install/hardware/apple/fix-t2.sh @@ -3,12 +3,6 @@ if lspci -nn | grep "106b:180[12]" >/dev/null; then echo "Detected MacBook with T2 chip. Installing support items..." - # The fetcher replaced the packaged firmware upstream and declares - # Conflicts=apple-bcm-firmware, so a machine that already carries the old - # package (an earlier install) must drop it first or the noninteractive - # transaction fails. Fresh installs have nothing to drop, which is a no-op. - omarchy-pkg-drop apple-bcm-firmware - # apple-bcm-firmware-fetcher reads its firmware off an on-disk macOS volume — # Wi-Fi firmware for T2 Macs is only legally obtainable from there. A # single-boot install that wiped macOS has no such volume, so the fetch comes diff --git a/test/shell.d/t2-hardware-test.sh b/test/shell.d/t2-hardware-test.sh index c7cf388b..850f37c5 100644 --- a/test/shell.d/t2-hardware-test.sh +++ b/test/shell.d/t2-hardware-test.sh @@ -22,14 +22,8 @@ grep -Fq 'KERNEL_CMDLINE[default]+=" intel_iommu=on iommu=pt pm_async=off mem_sl fail "the ISO no longer caches tiny-dfr" grep -Fq 'apple-bcm-firmware-fetcher' "$fix_t2" || fail "T2 setup installs the firmware fetcher" -grep -Fq 'omarchy-pkg-drop apple-bcm-firmware' "$fix_t2" || - fail "T2 setup drops the superseded firmware package before the fetcher conflicts with it" -! grep -Fq 'apple-bcm-firmware \' "$fix_t2" || - fail "T2 setup no longer adds the superseded firmware package" grep -Fq 'apple-bcm-firmware-fetcher' "$other_packages" || fail "the default package list installs the firmware fetcher" -! grep -qx 'apple-bcm-firmware' "$other_packages" || - fail "the default package list no longer names the superseded firmware package" pass "fresh T2 setup uses t2bce-compatible suspend, fan, and Touch Bar defaults" test_tmp=$(mktemp -d)