Files
omarchycn/install/hardware/apple/fix-t2.sh
T
David Heinemeier HanssonandGitHub 9cb3640c9f Fix T2 Mac suspend and fan defaults (#6562)
* Fix T2 Mac suspend and fan defaults

* Avoid repeated T2 boot image rebuilds

* Harden T2 migration test matching
2026-08-07 11:15:28 +02:00

57 lines
1.6 KiB
Bash

# Detect T2 MacBook models using PCI IDs
# Vendor: 106b (Apple), Device IDs: 1801 or 1802 (T2 Security Chip)
if lspci -nn | grep -q "106b:180[12]"; then
echo "Detected MacBook with T2 chip. Installing support items..."
omarchy-pkg-add \
linux-t2 \
linux-t2-headers \
apple-t2-audio-config \
apple-bcm-firmware \
t2fanrd
# Enable T2 fan control
systemctl enable t2fanrd.service
mkdir -p /etc/modules-load.d
{
echo "t2bce_vhci"
echo "hci_bcm4377"
} > /etc/modules-load.d/t2.conf
# linux-t2 7.1.4 replaced the apple-bce driver with t2bce; t2bce_vhci is the
# virtual USB host controller the internal keyboard hangs off, and mkinitcpio
# pulls t2bce_core/t2bce_dma in via module dependencies.
mkdir -p /etc/mkinitcpio.conf.d
echo "MODULES+=(t2bce_vhci usbhid hid_apple hid_generic xhci_pci xhci_hcd)" > \
/etc/mkinitcpio.conf.d/apple-t2.conf
mkdir -p /etc/modprobe.d
cat > /etc/modprobe.d/brcmfmac.conf <<'EOF'
# Fix for T2 MacBook WiFi connectivity issues
options brcmfmac feature_disable=0x82000
EOF
mkdir -p /etc/limine-entry-tool.d
cat > /etc/limine-entry-tool.d/t2-mac.conf <<'EOF'
# Generated by Omarchy installer for T2 Mac support
KERNEL_CMDLINE[default]+=" intel_iommu=on iommu=pt pm_async=off mem_sleep_default=deep"
EOF
# t2fanrd only reads sections for detected fans, so Fan2 is harmless on
# single-fan models and required on dual-fan MacBooks.
cat > /etc/t2fand.conf <<'EOF'
[Fan1]
low_temp=55
high_temp=75
speed_curve=linear
always_full_speed=false
[Fan2]
low_temp=55
high_temp=75
speed_curve=linear
always_full_speed=false
EOF
fi