Intel MacBook Pro 全系安装 Ubuntu/Linux 完整配置指南
涵盖 2016–2020 年所有 Intel 版 MacBook Pro(13" / 15" / 16"), 包括无 Touch Bar 款、Touch Bar 款,以及 T2 安全芯片款。
系统版本:Ubuntu 24.04 LTS / 24.10 / 25.04 及衍生发行版(Pop!_OS、Linux Mint、Zorin OS 等)
机型速查
第一代:2016–2017(无 T2 芯片)
| 型号标识 | 年份 | 尺寸 | Touch Bar | Touch ID | 独显 | 声卡芯片 |
|---|---|---|---|---|---|---|
| MacBookPro13,1 | 2016 | 13" | ❌ | ❌ | ❌ | Cirrus CS8409 |
| MacBookPro13,2 | 2016 | 13" | ✅ | ✅ | ❌ | Cirrus CS8409 |
| MacBookPro13,3 | 2016 | 15" | ✅ | ✅ | ✅ AMD | Cirrus CS8409 |
| MacBookPro14,1 | 2017 | 13" | ❌ | ❌ | ❌ | Cirrus CS8409 |
| MacBookPro14,2 | 2017 | 13" | ✅ | ✅ | ❌ | Cirrus CS8409 |
| MacBookPro14,3 | 2017 | 15" | ✅ | ✅ | ✅ AMD | Cirrus CS8409 |
第二代:2018–2020(带 T2 安全芯片)
| 型号标识 | 年份 | 尺寸 | Touch Bar | Touch ID | 独显 | 声卡 |
|---|---|---|---|---|---|---|
| MacBookPro15,1 | 2018-19 | 15" | ✅ | ✅ | ✅ AMD | T2 (apple-bce) |
| MacBookPro15,2 | 2018-20 | 13" | ✅ | ✅ | ❌ | T2 (apple-bce) |
| MacBookPro15,3 | 2019 | 15" | ✅ | ✅ | ✅ AMD Vega | T2 (apple-bce) |
| MacBookPro15,4 | 2019-20 | 13" | ✅ | ✅ | ❌ | T2 (apple-bce) |
| MacBookPro16,1 | 2019 | 16" | ✅ | ✅ | ✅ AMD 5000M | T2 (apple-bce) |
| MacBookPro16,2 | 2020 | 13" | ✅ | ✅ | ❌ | T2 (apple-bce) |
| MacBookPro16,3 | 2020 | 13" | ✅ | ✅ | ❌ | T2 (apple-bce) |
| MacBookPro16,4 | 2020 | 16" | ✅ | ✅ | ✅ AMD 5000M | T2 (apple-bce) |
Apple Silicon(M1/M2/M3/M4)不在此文范围,请参考 Asahi Linux。
硬件兼容性总表
| 组件 | 2016–2017(无 T2) | 2018–2020(有 T2) |
|---|---|---|
| Intel 显卡 | ✅ 内核 i915 免驱 | ✅ 内核 i915 免驱 |
| AMD 独显 | ✅ 内核 amdgpu 免驱 | ✅ 内核 amdgpu 免驱 |
| 键盘 & 触控板 | ✅ 内核 applespi | ✅ apple-bce VHCI(需 T2 内核) |
| 内置扬声器 | ✅ 需第三方驱动 | ✅ 需 T2 内核 + apple-bce |
| 麦克风 | ⚠️ 部分正常 | ⚠️ 部分正常 |
| Wi-Fi | ⚠️ BCM43602 信号弱 | ✅ BCM43602 同,16寸款需额外固件 |
| 蓝牙 | ✅ 免驱 | ✅ 免驱 |
| 摄像头 | ✅ uvcvideo 免驱 | ✅ 通过 apple-bce 暴露为 USB |
| 屏幕 HiDPI | ✅ | ✅ |
| Touch Bar | ⚠️ 需 SPI 驱动 | ⚠️ 需 T2 内核 + tiny-dfr |
| Touch ID | ❌ 不支持 | ❌ 不支持 |
| 电池 | ✅ | ✅ |
| NVMe SSD | ✅ | ✅ |
| Thunderbolt | ✅ | ⚠️ 可能需禁用 IOMMU |
| 挂起/休眠 | ⚠️ 可能有问题 | ⚠️ 部分修复 |
| 风扇控制 | ✅ 内核自带 | ✅ t2fanrd 守护进程 |
第一章:2016–2017 款(无 T2 芯片)
1.1 安装概述
这些机型不需要特殊内核。标准 Ubuntu ISO 即可安装。安装后需要额外配置音频和 Touch Bar。
1.2 音频修复(Cirrus Logic CS8409)
所有六款 2016-2017 MacBook Pro 均使用 Cirrus Logic CS8409 HDA 编解码器,主线内核未包含完整驱动。
# 安装依赖
sudo apt install wget make gcc linux-headers-$(uname -r) git
# 克隆驱动
git clone https://github.com/davidjo/snd_hda_macbookpro.git
cd snd_hda_macbookpro
# 如果使用 HWE 内核(6.11+),需手动安装 linux-source
# 确认所需版本:
uname -r | cut -d- -f1 # 例:6.14.0
# 从 Ubuntu 新版仓库下载对应版本:
wget http://archive.ubuntu.com/ubuntu/pool/main/l/linux/linux-source-$(uname -r | cut -d- -f1)_*.deb
sudo dpkg -i linux-source-*.deb
# 编译安装(脚本会自动检测内核版本选择合适的分支)
sudo ./install.cirrus.driver.sh
# 重启
sudo reboot内核版本与脚本对应:
| 内核 | 脚本 | 说明 |
|---|---|---|
| < 6.17 | install.cirrus.driver.pre617.sh | 旧流程,提取 sound/pci/hda 编译 |
| ≥ 6.17 | install.cirrus.driver.sh | 新流程,适配重构后的内核源码树 |
注意事项:
- 每次内核更新后需重新运行安装脚本
- 耳机接口通常不受影响
- 如果
pavucontrol有跳动条但喇叭无声,检查是否静音或输出设备选错
1.3 Touch Bar 配置(13,2 / 13,3 / 14,2 / 14,3)
# 克隆 SPI 驱动
git clone https://github.com/almas/macbook12-spi-driver
cd macbook12-spi-driver
git checkout touchbar-driver-hid-driver
sudo ln -s "$(pwd)" /usr/src/applespi-0.1
sudo dkms install applespi/0.1 --force
# 添加模块到 initramfs
sudo tee -a /etc/initramfs-tools/modules >/dev/null <<'EOF'
applespi
apple_ib_tb
intel_lpss_pci
spi_pxa2xx_platform
EOF
echo -e "apple-ibridge\napple-ib-tb" | sudo tee -a /etc/modules
# 配置 Touch Bar 行为(fnmode=2 默认显示媒体键)
sudo tee /etc/modprobe.d/apple_ib_tb.conf >/dev/null <<'EOF'
options apple_ib_tb fnmode=2
options apple_ib_tb idle_timeout=60
EOF
# 修复 hid-sensor-hub 抢占总线
sudo tee /etc/udev/rules.d/90-apple-ibridge.rules >/dev/null <<'EOF'
ACTION=="add", SUBSYSTEM=="hid", ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="8600", ENV{HID_PHYS}=="*/input3", RUN+="/bin/sh -c 'echo %k > /sys/bus/hid/drivers/hid-sensor-hub/unbind 2>/dev/null; sleep 1; echo %k > /sys/bus/hid/drivers/apple-ibridge-hid/bind 2>/dev/null'"
EOF
sudo udevadm control --reload-rules
sudo update-initramfs -u -k $(uname -r)
sudo reboot1.4 Wi-Fi 信号优化(BCM43602)
所有 2016-2017 款以及部分 2018+ 款均使用 BCM43602。开源驱动 brcmfmac 信号偏弱。
# 部署调优 NVRAM 固件
sudo apt install iw
curl -L -o /tmp/brcmfmac43602-pcie.txt \
"https://gist.githubusercontent.com/cristianmiranda/ba9d64b4324f0803d9422d765de62252/raw/fa8c3db4ece70e21b9619d918a5e5bfb6a28d72b/brcmfmac43602-pcie.txt"
sudo cp /lib/firmware/brcm/brcmfmac43602-pcie.txt \
/lib/firmware/brcm/brcmfmac43602-pcie.txt.bak 2>/dev/null || true
sudo cp /tmp/brcmfmac43602-pcie.txt /lib/firmware/brcm/
sudo modprobe -r brcmfmac && sudo modprobe brcmfmac
# 关闭 Wi-Fi 省电模式
sudo tee /etc/NetworkManager/conf.d/wifi-powersave-off.conf >/dev/null <<'EOF'
[connection]
wifi.powersave = 2
EOF
sudo systemctl restart NetworkManager1.5 键盘 & 触控板
# 键盘重复延迟(蝶式键盘手感偏硬,调低延迟可改善)
gsettings set org.gnome.desktop.peripherals.keyboard delay 250
gsettings set org.gnome.desktop.peripherals.keyboard repeat-interval 25
# 触控板
gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true
gsettings set org.gnome.desktop.peripherals.touchpad natural-scroll true1.6 屏幕 HiDPI
# 开启分数缩放
gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']"- 13英寸(2560×1600)建议 175%–200%
- 15英寸(2880×1800)建议 150%–175%
第二章:2018–2020 款(T2 安全芯片)
2.1 T2 芯片简介
T2 是 Apple 自研安全芯片,负责:
- 键盘、触控板输入(通过 VHCI 虚拟 USB 控制器)
- 内置扬声器、耳机接口(通过 apple-bce 音频驱动)
- 摄像头(通过 apple-bce 暴露为 USB 设备)
- 风扇控制、SMC 系统管理
- 启动安全、加密存储
因此,T2 Mac 需要特制内核才能驱动这些设备。
2.2 安装方式
方式 A:使用 T2 定制 ISO(推荐)
t2linux 项目 提供预集成的 Ubuntu/Debian ISO,开箱支持键盘、触控板、音频。
# 下载 T2 Ubuntu ISO
# https://github.com/t2linux/T2-Ubuntu/releases
# 写盘启动,安装过程与标准 Ubuntu 一致方式 B:标准 ISO + 后装 T2 内核
如果已用标准 ISO 安装,手动替换内核:
# 添加 T2 APT 源
curl -fsSL https://raw.githubusercontent.com/AdityaGarg8/t2-ubuntu-repo/main/add repo.sh | sudo bash
# 安装 T2 内核(会自动拉入 apple-bce 等依赖)
sudo apt update
sudo apt install linux-t2 # 主线内核
# 或
sudo apt install linux-t2-lts # LTS 内核
# 添加必要内核参数
sudo tee /etc/default/grub.d/t2-params.conf >/dev/null <<'EOF'
GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT intel_iommu=on iommu=pt pm_async=off"
EOF
sudo update-grub
# 配置音频
sudo apt install apple-t2-audio-config
# 重启
sudo reboot方式 C:手动安装 T2 内核 deb
从 T2-Ubuntu-Kernel Releases 下载 linux-image-*t2*.deb 和 linux-headers-*t2*.deb:
sudo dpkg -i linux-headers-*.deb linux-image-*.deb
sudo update-grub
sudo reboot2.3 键盘 & 触控板(T2 款)
T2 款不需要 applespi。键盘、触控板通过 apple-bce 模块暴露为 USB HID 设备。安装 T2 内核后自动生效。
如果键位映射不对(Ctrl / Option / Command 错位),可配置 hid_apple 模块:
# 交换 Option 和 Command 键(PC 键盘布局习惯)
sudo tee /etc/modprobe.d/hid_apple.conf >/dev/null <<'EOF'
options hid_apple swap_opt_cmd=1
options hid_apple fnmode=2
EOF2.4 音频(T2 款)
T2 款音频通过 apple-bce 驱动,安装 T2 内核后需额外配置:
sudo apt install apple-t2-audio-config
# PipeWire 用户(Ubuntu 24.04+ 默认)还需:
sudo apt install pipewire-audio16寸机型(MacBookPro16,1 / 16,4)低音增强:
sudo apt install t2-apple-audio-dsp-speakers161麦克风修复(T2 款麦克风音量普遍偏低):
sudo apt install t2-apple-audio-dsp-mic2.5 Touch Bar(T2 款)
T2 款 Touch Bar 通过 tiny-dfr 驱动,可自定义显示内容:
sudo apt install tiny-dfr
sudo systemctl enable --now tiny-dfr2.6 风扇控制
T2 款没有传统 SMC,需用 t2fanrd 控制风扇:
sudo apt install t2fanrd
sudo systemctl enable --now t2fanrd配置文件 /etc/t2fanrd/config.toml:
# 温度阈值(摄氏度)
[[temperature_zones]]
name = "CPU"
high = 75
critical = 95
[[temperature_zones]]
name = "GPU"
high = 70
critical = 90
# 风扇转速映射
[fans]
min_speed = 2000
max_speed = 62002.7 已知问题(T2 款)
| 问题 | 说明 |
|---|---|
| Thunderbolt 热插拔 | IOMMU 配置不当可导致内核崩溃 |
| 音频输入/输出切换 | 插入耳机时自动切换偶有不灵 |
| 挂起恢复 | 部分内核版本有问题 |
| Touch ID | 完全无解 |
| 内置麦克风 | 音量低,需 DSP 配置 |
| 首次启动键盘不响应 | 偶发,重启 apple-bce 模块即可 |
第三章:通用配置与优化
3.1 Bluetooth BLE 延迟优化
sudo tee -a /etc/bluetooth/main.conf >/dev/null <<'EOF'
[LE]
MinConnectionInterval=6
MaxConnectionInterval=9
ConnectionLatency=0
ConnectionSupervisionTimeout=200
EOF
sudo systemctl restart bluetooth3.2 挂起修复
# 2016-2017 款
sudo tee /etc/default/grub.d/mbp-suspend-fix.conf >/dev/null <<'EOF'
GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT acpi_sleep=nonvs s2idle"
EOF
# T2 款需要不同的参数(已在 T2 内核安装时配置)
# 检查现有参数:
grep GRUB_CMDLINE_LINUX_DEFAULT /etc/default/grub
sudo update-grub3.3 AMD 独显功耗控制(15"/16" 双显卡机型)
sudo tee /usr/local/bin/gpu-mode >/dev/null <<'SCRIPT'
#!/bin/bash
[ "$1" != "low" ] && [ "$1" != "high" ] && [ "$1" != "auto" ] && {
echo "Usage: gpu-mode [low|high|auto]"; exit 1
}
echo "$1" > /sys/class/drm/card1/device/power_dpm_force_performance_level
notify-send "GPU 模式" "已切换至: $1"
SCRIPT
sudo chmod +x /usr/local/bin/gpu-mode3.4 省电设置
sudo apt install tlp tlp-rdw
sudo systemctl enable tlp
# Intel 显卡省电
sudo tee /etc/modprobe.d/i915-power.conf >/dev/null <<'EOF'
options i915 enable_psr=1 enable_fbc=1
EOF3.5 查看电池状态
upower -i /org/freedesktop/UPower/devices/battery_BAT0第四章:内核选择建议
| 策略 | 2016–2017(无 T2) | 2018–2020(有 T2) |
|---|---|---|
| 标准内核 | ✅ 可用 | ❌ 键盘/触控板/音频均失效 |
| T2 内核 | — | ✅ 必需 |
| Ubuntu GA(6.8) | ✅ 最稳定 | ⚠️ 需降级或使用 LTS T2 内核 |
| Ubuntu HWE(6.11+) | ⚠️ 需手动 linux-source | ⚠️ 需 T2 主线内核 |
| 主线最新(6.x+) | ⚠️ 可能引入回归 | ⚠️ 关注 t2linux 发布页 |
第五章:已知无法解决的问题
| 功能 | 所有 Intel MacBook Pro |
|---|---|
| Touch ID | T1/T2 安全芯片协议未公开 |
| 硬件加密引擎 | Apple 专属 |
| macOS 独有功能(Handoff、Universal Clipboard) | Apple 生态封闭 |
| 原生 Thunderbolt 热插拔(T2 款) | IOMMU 兼容性问题 |
| 原装充电器快充信息 | SMC 协议未公开 |
第六章:卸载指南
2016-2017 款
# 音频驱动
cd ~/snd_hda_macbookpro
sudo ./install.cirrus.driver.sh -r
# Touch Bar
sudo dkms remove applespi/0.1 --all
sudo rm -rf /usr/src/applespi-0.1T2 款
# 移除 T2 内核,回到默认内核
sudo apt remove linux-t2 linux-t2-lts
sudo update-grub
# 移除 T2 工具
sudo apt remove apple-bce apple-t2-audio-config t2fanrd tiny-dfr第七章:快速上手脚本
2016-2017 款一键脚本
#!/bin/bash
set -e
echo "=== MacBook Pro 2016-2017 Ubuntu 配置 ==="
# 音频
git clone https://github.com/davidjo/snd_hda_macbookpro.git /tmp/snd
cd /tmp/snd
sudo ./install.cirrus.driver.sh
# Wi-Fi 省电关闭
sudo tee /etc/NetworkManager/conf.d/wifi-powersave-off.conf >/dev/null <<'EOF'
[connection]
wifi.powersave = 2
EOF
# 键盘/触控板
gsettings set org.gnome.desktop.peripherals.keyboard delay 250
gsettings set org.gnome.desktop.peripherals.keyboard repeat-interval 25
gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true
gsettings set org.gnome.desktop.peripherals.touchpad natural-scroll true
# HiDPI
gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']"
echo "=== 完成,重启后生效 ==="T2 款一键脚本
#!/bin/bash
set -e
echo "=== MacBook Pro T2 Ubuntu 配置 ==="
# 添加 T2 源
curl -fsSL https://raw.githubusercontent.com/AdityaGarg8/t2-ubuntu-repo/main/add_repo.sh | sudo bash
sudo apt update
# 安装 T2 内核
sudo apt install -y linux-t2 apple-t2-audio-config t2fanrd tiny-dfr
# 内核参数
sudo tee /etc/default/grub.d/t2-params.conf >/dev/null <<'EOF'
GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT intel_iommu=on iommu=pt pm_async=off"
EOF
sudo update-grub
# Wi-Fi 省电关闭
sudo tee /etc/NetworkManager/conf.d/wifi-powersave-off.conf >/dev/null <<'EOF'
[connection]
wifi.powersave = 2
EOF
# 风扇守护
sudo systemctl enable t2fanrd
# 键盘映射(交换 Option/Cmd)
sudo tee /etc/modprobe.d/hid_apple.conf >/dev/null <<'EOF'
options hid_apple swap_opt_cmd=1
EOF
echo "=== 完成,重启进入 T2 内核 ==="参考链接
- t2linux.org — T2 Mac Linux 项目官网
- t2linux/T2-Ubuntu — T2 Ubuntu 定制 ISO
- t2linux/T2-Ubuntu-Kernel — T2 内核 deb 包
- AdityaGarg8/t2-ubuntu-repo — T2 APT 软件源
- davidjo/snd_hda_macbookpro — Cirrus CS8409 音频驱动(2016-2017 款)
- almas/macbook12-spi-driver — Touch Bar SPI 驱动(2016-2017 款)
- Dunedan/mbp-2016-linux — MacBook Pro 2016/2017 Linux 兼容性清单
- t2linux/apple-bce-drv — T2 芯片 BCE 驱动