如何安装 Mac 键盘和触控板驱动程序

如何安装 Mac 键盘和触控板驱动程序

我最近在 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

安装

  1. 安装键盘和音频的 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 正在使用的内核构建模块,该模块很可能较旧。

  2. 安装触控栏和环境光传感器模块

    • 跑步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 正在使用的内核构建模块,该模块很可能较旧。
  3. 将模块加载到内核中 -选修的

    请注意,仅当您希望立即运行模块(而不是重新启动后)时才需要这样做。

    如果您从 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 硬件以及其他媒体格式的第三方软件”?另外,如果您有外接鼠标,您可以尝试使用它吗?“软件和更新”应用程序中还有“附加驱动程序”,看看触控板/键盘的驱动程序是否在那里。

相关内容