Forked and inspired by:
WARNING: This works for me, it might not work for you. Please take caution and review this script as a whole before installing it, and adjust it to your needs. I will not be maintaining this other than for my own use.
This suspend fix has been tested on the following MacBook Pro models with T2 security chips:
- CPU: 9th Gen Intel i7 | GPU: AMD 5300M 4GB | RAM: 64GB | SSD: 1TB
- Triple Boot: MacOS Tahoe 120GB | Windows 11 400GB | CachyOS 400GB
- Boot Manager: rEFInd
- Desktop: COSMIC
- CPU: 10th Gen Intel i7 | GPU: Intel iGPU | RAM: 32GB | SSD: 1TB
- Triple Boot: MacOS 120GB | Windows 11 400GB | CachyOS 400GB
- Boot Manager: rEFInd
- Desktop: Niri
Other T2 MacBook models may work but have not been tested. The installer automatically detects your hardware and only installs services needed for your specific configuration.
The installer automatically detects your hardware configuration and stores it in /etc/t2-suspend-fix/hardware.conf. This allows services to be installed only for your specific setup (e.g., GMUX services are only installed on dual-GPU systems).
The installer will check for and require:
brightnessctl- Backlight controlswayidle- Idle monitoring (for keyboard backlight auto-off)wpctl- PipeWire control
git clone https://github.com/benstaker/T2Linux-Suspend-Fix.git
cd T2Linux-Suspend-Fix
./t2-suspend-fix.shRecommended kernel parameters for T2 MacBooks:
i915.enable_guc=3 mem_sleep_default=deep pcie_aspm=off intel_iommu=on iommu=pt pcie_ports=compat
If upgrading from an earlier version:
- Uninstall first: Run
./t2-suspend-fix.shand select uninstall - Install fresh: Run
./t2-suspend-fix.shand select install - The new hardware detection will automatically configure services for your model
Legacy script names are still cleaned up during uninstall for backward compatibility.
- NoaHimesaka1873/tiny-dfr-arch
- brightnessctl (via pacman)
- auto-cpufreq
- Suspends within ~4 seconds, can hear the fans go off completely.
- Waking: Screen on ~14 seconds + ~4 seconds for restarting display.
- Battery life consumed when suspended around 0.5% - 0.75% per hour.
- If you force shutdown, you will need to boot into MacOS, then restart from the login screen and then boot back into linux. Otherwise some devices do not work.
- Using
pcie_ports=nativeslows waking by a lot. - Tried using deqrocks/apple-bce-drv, however this caused issues with the touchbar working after waking.
- Putting the laptop to sleep whilst USB-C charging prevents the touchbar waking up - unplugging and then suspending / waking fixes this.
- Plugging in a USB-C charger whilst the lid is closed prevents the touchbar waking up - unplugging and then suspending / waking fixes this.
- Using
intel_pstate=disableto disable intel's governor slows waking by a lot.