Skip to content

03-optimise.sh ​

Status: Recommended

Applies post-install system optimisations for the MacBook Air 2020 running CachyOS. Covers kernel parameters, sysctl tuning, TLP power management, PipeWire audio, BTRFS options, suspend/resume, and package installation.

Usage ​

bash
# Full system optimisation (requires root)
sudo bash scripts/03-optimise.sh

# Audio fix only (no root required)
bash scripts/03-optimise.sh --audio-only
systemctl --user restart pipewire pipewire-pulse

# Preview without changes
sudo bash scripts/03-optimise.sh --dry-run
bash scripts/03-optimise.sh --help
FlagDescription
--dry-runPreview all actions without modifying the system
--audio-onlyApply PipeWire audio config only (no root required)
--helpShow usage information and exit

Execution Model ​

InvocationSections
sudo bash 03-optimise.shKernel params, sysctl, TLP, BTRFS, sleep, packages, ZRAM check, power profiles; then calls --audio-only as $SUDO_USER
bash 03-optimise.sh --audio-onlyPipeWire audio config only (user-level)
bash 03-optimise.sh (no sudo)Audio fix, ZRAM check, power profiles check

What It Does ​

1. Kernel Parameters ​

Appends to /etc/kernel/cmdline: intel_idle.max_cstate=4, snd_hda_intel.power_save=0, mem_sleep_default=deep. Skips any parameter already present.

2. sysctl Rules ​

Writes /etc/sysctl.d/99-macbook-air-2020.conf with vm.swappiness=133 (optimised for ZRAM), vm.vfs_cache_pressure=50, NVMe-friendly writeback intervals (1500 centisecs), TCP Fast Open, and NMI watchdog disabled.

3. TLP Drop-in Config ​

Writes /etc/tlp.d/10-macbook-air-2020.conf with Ice Lake CPU tuning, Wi-Fi power management disabled, USB autosuspend disabled, and T2 audio power save disabled.

4. BTRFS Mount Options ​

Displays recommended fstab options (noatime,compress=zstd:1,space_cache=v2,discard=async). Applies noatime live via remount. The root UUID is detected automatically.

5. PipeWire Audio ​

Writes ~/.config/pipewire/pipewire.conf.d/10-t2-macbook-audio.conf with quantum=1024, min-quantum=256, max-quantum=2048 at 48 kHz.

6. Suspend / Resume ​

Confirms deep sleep is active. Installs macbook-suspend-fix.service that reloads apple-bce on resume.

7. ZRAM Verification ​

Confirms ZRAM is configured (no changes made).

8. Intel i915 GUC/HUC ​

Writes /etc/modprobe.d/i915.conf with enable_guc=3 enable_fbc=1 to offload GPU scheduling and video decode to firmware. Reduces CPU load during video playback on the Ice Lake Iris Plus G7.

9. RTC UTC Clock Sync ​

Sets the hardware clock to UTC (timedatectl set-local-rtc 0) to match macOS, which also uses UTC. Prevents the clock from jumping by several hours each time you switch operating systems.

10. Power Profiles Check ​

Warns if both TLP and power-profiles-daemon are active. Does not disable either — this is a manual decision.

Files Modified ​

PathPurpose
/etc/kernel/cmdlineKernel boot parameters
/etc/sysctl.d/99-macbook-air-2020.confsysctl tuning rules
/etc/tlp.d/10-macbook-air-2020.confTLP power management drop-in
~/.config/pipewire/pipewire.conf.d/10-t2-macbook-audio.confPipeWire audio buffer config
/etc/systemd/system/macbook-suspend-fix.serviceSuspend resume fix
/etc/modprobe.d/i915.confIntel GUC/HUC firmware offloading

Prerequisites ​

  • Root access for all sections except --audio-only
  • TLP installed (pacman -S tlp) for power management section
  • PipeWire running for audio section

Source

View the full source on GitHub.

✓ Verified on Invalid Date · MacBook Air 2020 · CachyOS 6.19.x-cachyos