我最近在 Mac book Pro 2016 上安装了 Ubuntu,发现内置键盘和触控板冻结了。我查了一下如何安装驱动程序,但不明白如何使用 GitHub,很快就迷路了。
安装并运行这些驱动程序的最快方法是什么?我目前正在使用外接键盘和鼠标,但长期来看不想这样做。
答案1
以下指南摘自 https://wiki.t2linux.org/guides/dkms/#installing-modules
请注意,其中两个步骤(关于在启动时或立即加载模块)是选修的(并且已被标记为这样),并且对于 Ubuntu 来说不是必需的。
准备
首先安装dkms
模块
接下来通过运行以下命令检查你的内核是否过时(或者你的发行版使用的模块版本与后来使用的模块版本不同):
dkms status or ls -l /usr/src
如果版本apple-bce
是,0.1
则卸载旧模块(以避免不兼容问题):
sudo dkms uninstall -m apple-bce -v 0.1
sudo dkms uninstall -m apple-ibridge -v 0.1
sudo rm -r /usr/src/apple-bce-0.1
sudo rm -r /usr/src/apple-ibridge-0.1
sudo rm -r /var/lib/dkms/apple-bce
sudo rm -r /var/lib/dkms/apple-ibridge
安装
安装键盘和音频的 BCE(缓冲区复制引擎)模块
如果你使用的是 Arch,那么使用 Aunali1 的
apple-bce-dkms-git
包裹否则,运行
sudo git clone https://github.com/t2linux/apple-bce-drv /usr/src/apple-bce-r183.c884d9c
创建一个
dkms.conf
文件/usr/src/apple-bce-r183.c884d9c
并输入以下内容:PACKAGE_NAME="apple-bce" PACKAGE_VERSION="r183.c884d9c" MAKE[0]="make KVERSION=$kernelver" CLEAN="make clean" BUILT_MODULE_NAME[0]="apple-bce" DEST_MODULE_LOCATION[0]="/kernel/drivers/misc" AUTOINSTALL="yes"
现在运行
sudo dkms install -m apple-bce -v r183.c884d9c
。如果在 live ISO 上,请使用sudo dkms install -m apple-bce -v r183.c884d9c -k x.x.x-mbp
并更改x.x.x-mbp
为您已安装的内核,因为默认情况下dkms
将尝试为 live ISO 正在使用的内核构建模块,该模块很可能较旧。
安装触控栏和环境光传感器模块
- 跑步
sudo git clone https://github.com/t2linux/apple-ib-drv /usr/src/apple-ibridge-0.1
- 运行
sudo dkms install -m apple-ibridge -v 0.1
。如果是在 live ISO 上,请使用sudo dkms install -m apple-ibridge -v 0.1 -k x.x.x-mbp
并更改x.x.x-mbp
为您已安装的内核,因为默认情况下dkms
将尝试为 live ISO 正在使用的内核构建模块,该模块很可能较旧。
- 跑步
将模块加载到内核中 -选修的
请注意,仅当您希望立即运行模块(而不是重新启动后)时才需要这样做。
如果您从 live iso 安装模块,则命令将失败,因为仅为您指定的内核安装了模块。
sudo modprobe apple_bce sudo modprobe apple_ib_tb sudo modprobe apple_ib_als
触摸条和键盘现在应该可以工作了。
对于音频,需要一些额外的配置,请参阅音频配置文件。
使模块在启动时加载 - 可选
在 Ubuntu 中,这些应该已经被设置:
echo "apple-bce
apple-ib_tb
apple-ib-als
brcmfmac" >> /etc/modules-load.d/t2.conf
例如,如果你不需要触控条模块,你可以从此命令中省略它们。brcmfmac
需要使用内部 Wi-Fi 芯片,请参阅无线网络指南了解有关如何设置的详细信息。
配置 Touchbar 模块
Touchbar 模块提供了一些模式可供设置。在 中/etc/modprobe.d/apple-tb.conf
,设置fnmode (options apple-ib-tb fnmode=x)
为以下选项之一:
- 0:仅显示 F1-F12
- 1:显示媒体和亮度控件,使用 fn 键切换到 F1-12
- 2:显示 F1-F12,使用 fn 键切换到媒体和亮度控制
- 3:仅显示媒体和亮度控制
- 4:仅显示退出键
修复暂停
复制这个脚本
#!/bin/sh
if [ "${1}" = "pre" ]; then
modprobe -r apple_ib_tb hid_apple
elif [ "${1}" = "post" ]; then
modprobe hid_apple apple_ib_tb
fi
到/lib/systemd/system-sleep/rmmod_tb.sh
然后运行
sudo chmod 755 /lib/systemd/system-sleep/rmmod_tb.sh
sudo chown root:root /lib/systemd/system-sleep/rmmod_tb.sh
这将卸载 Touchbar 模块,因为它们可能会导致挂起问题。
可能的问题
该apple_ib_als
模块可能会导致问题,如果您发现计算机在关机时挂起,或者在启动时出现 BCE 错误,请尝试通过运行将其列入黑名单
sudo sh -c "echo blacklist apple-ib-als" >> /etc/modprobe.d/blacklist.conf
或将其从 中删除/etc/modules-load.d/t2.conf
。
答案2
您在安装过程中是否启用了“安装图形和 WIFI 硬件以及其他媒体格式的第三方软件”?另外,如果您有外接鼠标,您可以尝试使用它吗?“软件和更新”应用程序中还有“附加驱动程序”,看看触控板/键盘的驱动程序是否在那里。