VoodooRMI.kext是星辰云资源搜集到的一款黑苹果笔记本电脑触控驱动。它是Linux上Synaptic RMI驱动程序的macOS端口。RMI4用于触摸屏,触摸板和其他传感器-尽管此实现仅包含用于触控板/跟踪点的代码。这既适用于Synaptic的I2C HID触控板,也适用于Synaptic的SMBus触控板。按照以下说明进行操作时,请确保仅根据触控板的功能选择I2C或SMBus。

载地址附件包括以下驱动:
VoodooRMI.kext
VoodooSMBus.kext

支持的功能

  • Clickpad的强制触摸仿真(按下Clickpad并增加手指压力)
  • 3和4手指手势
  • 追踪点
  • SMBus或I2C通讯

兼容性

Synaptic触控板通常可以在SMBus或I2C上运行,但不能同时在两者上运行。请密切注意它在哪个总线上工作。

SMBus

Windows:

  • 在设备管理器下检查Synaptics SMBus设备

Linux:

  • 如果您将intertouch(i.e. psmouse.intertouch=1)用于Synaptic触控板,则它是兼容的
  • i2c-tools从您的包裹经理那里获取。运行i2cdetect -l,并记下SMBus的数字(通常为零)。运行i2cdetect #,其中#是您从运行先前命令获得的数字。突触设备始终位于地址0x2c,因此请在该地址检查以外的其他内容--UU如果是Synaptics设备,通常会以我的经验显示。
    • 如果触控板没有出现,则可能仍然可以使用。触控板有一个或两个未显示但仍兼容的示例。
  • 如果您运行dmesg并找到一条消息,可能是兼容的,"Your touchpad x says it can support a different bus."并且它是一个Synaptic触控板。

I2C

macOS苹果系统:

  • 如果您已经安装了VoodooI2CHID,请检查IORegistry中的以下值
    • VoodooI2CHIDDevice具有HIDDescriptor含有VendorID 0x6cb,或
    • 的父设备VoodooI2CHIDDevice已经name含有SYNSYNA

Windows:

  • 检查HID-compliant touch pad在设备管理器
    • 在属性中,验证Generallocationon I2C HID Device 和DetailsHardware Ids包含VID_06CB(或SYNSYNA

Linux:

  • 检查存在i2c-SYNdmesg
  • i2c-tools从软件包管理器中获取信息,并使用该i2cdetect工具查看地址为0x2c的是否有用于非SMBus总线的设备。如果您在SMBus下看到它,则我会使用SMBus,因为触控板在SMBus下似乎运行得更好!

要求

SMBus

  • VoodooSMBus
    • 苹果的SMBus PCI控制器无法加载,因为它会干扰VoodooSMBus。
    • VoodooRMI版本(目前)包括VoodooSMBus。如果您自己构建VoodooSMBus,请从VoodooSMBus git repo的Dev分支进行构建。
  • VoodooPS2> = 2.2.0
    • 重置触控板的PS2
    • 应该注入VoodooPS2Trackpad

I2C

  • 需要VoodooI2C 2.5或更高版本
    • 按照其文档确定是否需要GPIO固定。
    • 轮询模式应该可以正常工作
  • 如果设备的ACPI名称未包括在下面或未标记为未知,则可以自己添加它并创建PR /问题
Name Main function
SYN1B7F F12
SYNA0000 F11
SYNA1202 F12
SYNA2393 unknown
SYNA2B2C F12
SYNA2B31 F12
SYNA2B33 F11
SYNA2B34 unknown
SYNA3105 unknown
SYNA3602 unknown
SYNA7500 unknown
SYNA7501 unknown

安装

  1. 将所需的kexts添加到您的引导程序
  2. 禁用voodoops2鼠标,如果适用,从PS2 kext中禁用VoodooInput。
    • 请注意,如果使用Acidanthera的VoodooPS2 2.2.0或更高版本,则应注入VoodooPS2Trackpad
    • 注入VoodooPS2Trackpad不是严格的要求
  3. 对于OpenCore用户,请确保将VoodooInput,VoodooTrackpoint和RMISMBus / RMII2C添加到Config.plist。
    • RMISMBus / RMII2C应该在VoodooRMI之后
    • 所有依赖项都在下面找到 VoodooRMI.kext/Contents/PlugIns/

您通常只需要下面两个kexts中的一个

  • 如果将VoodooI2C用于触控板,则需要RMII2C
  • 如果将VoodooSMBus用于触控板,则需要RMISMBus

不支持将此kext加载到“库/扩展名”或“系统/库/扩展名”中。这可能不会中断加载,建议先进行注入测试。

配置

可以在kext本身的Info.plist下编辑以下值-无需重新编译即可更改这些值。
请注意,使用非整数值会导致未定义的行为,这可能会阻止kext的加载

Value Default Description
ForceTouchEmulation True Allows Force Touch emulation on Clickpads
ForceTouchMinPressure 90 Minimum z value to trigger Force touch when clickpad is clicked
DisableWhileTypingTimeout 100 Milliseconds after typing in which to reject trackpad packets
TrackpointMultiplier 20 Multiplier used on trackpoint inputs (other than scrolling). This is divided by 20, so the default value of 20 will not change the output value at all
TrackpointScrollMultiplierX 20 Multiplier used on the x access when middle button is held down for scrolling. This is divded by 20.
TrackpointScrollMultiplierY 20 Same as the above, except applied to the Y axis
TrackpointDeadzone 1 Minimum value at which trackpoint reports will be accepted. This is subtracted from the input of the trackpoint, so setting this extremely high will reduce trackpoint resolution
MinYDiffThumbDetection 200 Minimum distance between the second lowest and lowest finger in which Minimum Y logic is used to detect the thumb rather than using the z value from the trackpad. Setting this higher means that the thumb must be farther from the other fingers before the y coordinate is used to detect the thumb, rather than using finger area. Keeping this smaller is preferable as finger area logic seems to only be useful when all 4 fingers are grouped together closely, where the thumb is more likely to be pressing down more

请注意,您可以使用Rehabman的ioio临时设置属性(直到下一次重新启动)。
ioio -s RMIBus ForceTouchEmulation false

加载&卸载

对于加载,您可能需要将RMII2C / RMISMBus的依赖项放入kextload命令中。请注意,RMISMBus / RMII2C取决于VoodooRMI。

以下示例假定VoodooSMBus / VoodooI2C与VoodooRMI位于同一文件夹中。如果不是,则需要为这些kext提供路径。从macOS手动加载时,请记住,必须部分禁用csrutil才能允许未签名的kext,而kext必须由Root拥有。

改变kext的所有者

// Note that this changes the owner of every kext in the directory your in
sudo chown -R root:wheel *.kext

手动加载kext

SMBus示例:

cd path/to/unziped-VoodooRMI_Debug
sudo kextutil -vvvv -d VoodooRMI.kext -d VoodooSMBus.kext VoodooRMI.kext/Contents/PlugIns/RMISMBus.kext

I2C的示例:

sudo kextutil -vvvv -d VoodooRMI.kext -d VoodooI2C.kext VoodooRMI.kext/Contents/PlugIns/RMII2C.kext

对于卸载,您可以使用捆绑软件ID。尽管您可能需要连续卸载两次才能配合使用,但它应该干净地卸载。

sudo kextunload -vvvv -b com.1Revenger1.RMISMBus -b com.1Revenger1.VoodooRMI

故障排除

请记住以下几点:

  1. 确保VoodooSMBus / VoodooI2C正在加载和连接
  2. 确保正在加载VoodooInput / VoodooTrackpoint
  3. IORegistryExplorer是查看正在加载哪些函数以及正在加载/未加载什么的好方法
  4. 获取日志困难
    • 如果在macOS中加载,则可以使用 sudo log show --last 5m | grep VRMI
    • 如果注入,您将要添加引导argmsgbuf=1048576并使用sudo dmesg | grep VRMI

下载地址

下载地址包含更新历史版本

  • VoodooRMI.kext v0.2
  • VoodooRMI.kext v0.3
  • VoodooRMI.kext v0.4
  • VoodooRMI.kext v0.5
  • VoodooRMI.kext v1.0.0
  • VoodooRMI.kext v1.0.1
  • VoodooRMI.kext v1.1.0
  • VoodooRMI.kext v1.3.0
  • VoodooRMI.kext v1.3.1
  • VoodooRMI.kext v1.3.2
  • VoodooRMI.kext v1.3.3
  • VoodooRMI.kext v1.3.4-20210923

【解压密码:imacos.top】

隐藏内容
本内容需权限查看
  • 普通: 9.9星币
  • 会员: 免费
  • 终身会员: 免费

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。