aliyoge / Hackintosh-ThinkPad-E480

Thinkpad E480 for macOS Monterey
106 stars 34 forks source link

ThinkPad E480 黑苹果完善补充 #11

Closed SukkaW closed 4 years ago

SukkaW commented 4 years ago
  1. AppleALC layout-id 建议选 15,MacPeet 为 ThinkPad E580 机型添加的专门 layout-id 支持,而 E580 是 E480 的姊妹机型。
  2. Rehabman 的 VoodooPS2Controller 已经停止维护,可替换为 VoodooPS2VoodooInput(结合使用)。可能需要额外打一个 ThinkPad ClickPad 的 Hotpatch 以同时支持小红点、ThinkNav 和 ClickPad。支持全部触摸手势:

image image

aliyoge commented 4 years ago

@SukkaW 感谢提供改进建议。经测试,AppleALC layout-id 选15可以正常工作。 VoodooPS2VoodooInput可以正常驱动触控板,但是不需要ThinkPad ClickPadHotpatch,加上Hotpatch会导致触摸板无法移动。EFI已经做对应更改并且已更新。

SukkaW commented 4 years ago

在睡眠唤醒之后可能会存在插拔电源后电量不更新问题

@aliyoge

除了这个问题,有没有遇到睡眠唤醒以后、Fn 音量快捷键无法使用的情况?

tankoki commented 4 years ago

在睡眠唤醒之后可能会存在插拔电源后电量不更新问题

@aliyoge

除了这个问题,有没有遇到睡眠唤醒以后、Fn 音量快捷键无法使用的情况?

和你遇到同样的问题,唤醒后fn激活、fnlock灯亮起且无法关闭

q503200098 commented 4 years ago

在睡眠唤醒之后可能会存在插拔电源后电量不更新问题

@aliyoge 除了这个问题,有没有遇到睡眠唤醒以后、Fn 音量快捷键无法使用的情况?

和你遇到同样的问题,唤醒后fn激活、fnlock灯亮起且无法关闭

fnlock键是不是esc键?试一下esc键是不是起到了fn键的作用?

q503200098 commented 4 years ago

@SukkaW 感谢提供改进建议。经测试,AppleALC layout-id 选15可以正常工作。 VoodooPS2VoodooInput可以正常驱动触控板,但是不需要ThinkPad ClickPadHotpatch,加上Hotpatch会导致触摸板无法移动。EFI已经做对应更改并且已更新。

请问你的触摸板支持所有的手势吗?

SukkaW commented 4 years ago

@q503200098 偏好设置里有全部手势。

不过受限于 PS2 驱动,还是存在一些问题如差分手指不兼容(比如先放两根手指在触摸板上然后再放第三根,是不能识别成三指手势的)。

E480 应该可以尝试用 I2C 驱动触摸板,不过懒得为此打 SSDT 了,毕竟平时小红点用得多。

q503200098 commented 4 years ago

@q503200098 偏好设置里有全部手势。

不过受限于 PS2 驱动,还是存在一些问题如差分手指不兼容(比如先放两根手指在触摸板上然后再放第三根,是不能识别成三指手势的)。

E480 应该可以尝试用 I2C 驱动触摸板,不过懒得为此打 SSDT 了,毕竟平时小红点用得多。

我刚刚用你们的驱动试了一下,我的触摸板确实是能够使用三指手势,不过灵敏性好像不是很好。

q503200098 commented 4 years ago

@q503200098 偏好设置里有全部手势。

不过受限于 PS2 驱动,还是存在一些问题如差分手指不兼容(比如先放两根手指在触摸板上然后再放第三根,是不能识别成三指手势的)。

E480 应该可以尝试用 I2C 驱动触摸板,不过懒得为此打 SSDT 了,毕竟平时小红点用得多。

感谢您的回复。

q503200098 commented 4 years ago

@q503200098 偏好设置里有全部手势。

不过受限于 PS2 驱动,还是存在一些问题如差分手指不兼容(比如先放两根手指在触摸板上然后再放第三根,是不能识别成三指手势的)。

E480 应该可以尝试用 I2C 驱动触摸板,不过懒得为此打 SSDT 了,毕竟平时小红点用得多。

还有您在楼上问的关于睡眠之后的fn键的问题,我这边的情况是睡眠后唤醒esc/fnlock键会常亮,您试一下用这个键+f5或单独按f5,是不是可以调节屏幕亮度,我这边是可以的。

SukkaW commented 4 years ago

您试一下用这个键+f5或单独按f5,是不是可以调节屏幕亮度,我这边是可以的。

@q503200098 我这边不行。我这边拿的通用 SSDT,VoodooPS2 把 F14/F15 默认映射到 Ctrl + K/P 了。

q503200098 commented 4 years ago

您试一下用这个键+f5或单独按f5,是不是可以调节屏幕亮度,我这边是可以的。

@q503200098 我这边不行。我这边拿的通用 SSDT,VoodooPS2 把 F14/F15 默认映射到 Ctrl + K/P 了。

哦哦,那十分遗憾,我目前还搞不懂dsdt和ssdt,爱莫能助。

aliyoge commented 4 years ago

在睡眠唤醒之后可能会存在插拔电源后电量不更新问题

@aliyoge

除了这个问题,有没有遇到睡眠唤醒以后、Fn 音量快捷键无法使用的情况?

我一直没有用过Fn快捷键,貌似我这边没有起作用,最近比较忙,没有多少时间折腾这个了。 不过我一直用Maestro这个快捷键工具。

SukkaW commented 4 years ago

README 中提到的 DSDT 打补丁不全是必要的,可以用 SSDT Hotpatch 代替:

Comment: battery GBIX03 to XBIX03
Find: 47424958 03
Replace: 58424958 03

Comment: battery SBMN to BMNX 128
Find: 53424D4E 40
Replace: 424D4E58 40

Comment: battery SBDN to BDNX 128
Find: 5342444E 40
Replace: 42444E58 40

见 OC-little:https://github.com/daliansky/OC-little/tree/master/12-060D%E8%A1%A5%E4%B8%81

可以尝试 ACPI 里的这个 Quirks:FadtEnableReset


将 DSDT 补丁换成 SSDT 热补丁和 ACPI Patch 以后,EFI 就可以通用了。

aliyoge commented 4 years ago

README 中提到的 DSDT 打补丁不全是必要的,可以用 SSDT Hotpatch 代替:

  • 电池电量 ACPI Patch 如下:
Comment: battery GBIX03 to XBIX03
Find: 47424958 03
Replace: 58424958 03

Comment: battery SBMN to BMNX 128
Find: 53424D4E 40
Replace: 424D4E58 40

Comment: battery SBDN to BDNX 128
Find: 5342444E 40
Replace: 42444E58 40
  • 睡了即醒

见 OC-little:https://github.com/daliansky/OC-little/tree/master/12-060D%E8%A1%A5%E4%B8%81

  • 关机变重启

可以尝试 ACPI 里的这个 Quirks:FadtEnableReset

将 DSDT 补丁换成 SSDT 热补丁和 ACPI Patch 以后,EFI 就可以通用了。

如果不用DSDT实现电量显示的话,除了ACPI Patch更名外,还要一个SSDT的电量补丁吧。

SukkaW commented 4 years ago

如果不用DSDT实现电量显示的话,除了ACPI Patch更名外,还要一个SSDT的电量补丁吧。

OC-little 里专门有收录 ThinkPad E580 的电池补丁,是可以直接用在 E480 上的。

aliyoge commented 4 years ago

如果不用DSDT实现电量显示的话,除了ACPI Patch更名外,还要一个SSDT的电量补丁吧。

OC-little 里专门有收录 ThinkPad E580 的电池补丁,是可以直接用在 E480 上的。

好的,已经改用SSDT,目前使用没有问题。

Huabao1860 commented 4 years ago

我的是双系统,WIN10与MACos在同一SSD上。当从win10热重启到MAC时,没有声音,hackintool中不能找到声卡。但是冷启动则没有问题。 睡眠唤醒后亮度是没办法用了,感觉是Fn功能键反转了。目前用karabiner -elements完美解决了。 另外,读卡器也是驱动成功了。

SukkaW commented 4 years ago

我的是双系统,WIN10与MACos在同一SSD上。当从win10热重启到MAC时,没有声音,hackintool中不能找到声卡。但是冷启动则没有问题。

已知问题,几乎所有的 ThinkPad 黑苹果都存在。部分 Windows 声卡驱动在热重启时不会重置 HDA,冷重启断电声卡才会重置。 AppleALC 目前没有解决这个问题的意愿。

睡眠唤醒后亮度是没办法用了,感觉是Fn功能键反转了。目前用karabiner -elements完美解决了。

应该可以通过 SSDT 解决,我看到 LedReset 的通用 SSDT 里有 ThinkPad 开盖合盖的 ACPI 定义,但是还没有找到 Fn Lock 的 ACPI 定义。

SukkaW commented 4 years ago

睡眠唤醒后亮度是没办法用了,感觉是Fn功能键反转了。

定位到该是 PS2 驱动问题。

睡眠唤醒前,系统偏好设置里存在 Fn 相关设置(键盘被识别为 Apple 原生键盘),睡眠唤醒后 Fn 相关设置消失(键盘被识别为其他键盘)。

SukkaW commented 4 years ago

@Huabao1860 @q503200098

Fn 快捷键睡眠唤醒后不能用的问题,研究得到一定进展。

最近重新反编译了一次 DSDT。目前可以确定的是 Fn Lock 功能有一个专门的 ACPI 函数在控制(现代 ThinkPad 的机器应该都是 FNST(),意为 FnSticky),机器在睡眠唤醒后都会调用这个函数。

q503200098 commented 4 years ago

@Huabao1860 @q503200098

Fn 快捷键睡眠唤醒后不能用的问题,研究得到一定进展。

最近重新反编译了一次 DSDT。目前可以确定的是 Fn Lock 功能有一个专门的 ACPI 函数在控制(现代 ThinkPad 的机器应该都是 FNST(),意为 FnSticky),机器在睡眠唤醒后都会调用这个函数。

感谢回复。

Huabao1860 commented 4 years ago

@Huabao1860 @q503200098

Fn 快捷键睡眠唤醒后不能用的问题,研究得到一定进展。

最近重新反编译了一次 DSDT。目前可以确定的是 Fn Lock 功能有一个专门的 ACPI 函数在控制(现代 ThinkPad 的机器应该都是 FNST(),意为 FnSticky),机器在睡眠唤醒后都会调用这个函数。

感谢提醒,我看了一下DSDT,FNST中有一个开关量H8DR,尝试二进制方法强制变为1,没有效果,且H8DR还涉及到其它函数,怕出问题,没敢再试了

SukkaW commented 4 years ago

@Huabao1860

感谢提醒,我看了一下DSDT,FNST中有一个开关量H8DR,尝试二进制方法强制变为1,没有效果,且H8DR还涉及到其它函数,怕出问题,没敢再试了

我注意到 @aliyoge 选用的电池补丁存在问题。 在终端里跑一下 log show --last boot | grep -Ei "ACPI" 看看是不是有 ACPI Error。也许这是没有生效的原因。

SukkaW commented 4 years ago

@Huabao1860

我试了一下「H8DR 写入 0」的 DSDT 重命名,似乎也是行不通。 我对比了一下 E590 和 E480 的 FNST 函数,两者是一模一样的。所以还是看不出个所以然来。

我注意到 电池状态更新(插拔电源) 和 Fn 快捷键是在 S3 睡眠后同时失效的。E580 也是同样这个问题,我觉得可以再看一下 S3 睡眠相关的部分。

SukkaW commented 4 years ago

@Huabao1860 @q503200098 E580 和 E480 一样用 Fn 的问题,tomymacx86 上有 E580 的相关讨论: https://www.tonymacx86.com/threads/lid-close-stop-working-after-sleep.279447/

我自己也在 tonymacx86 上也发了一个帖 https://www.tonymacx86.com/threads/fn-shortcuts-lid-sleep-not-working-after-waking-from-s3-sleep-thinkpad-e480.294343/

SukkaW commented 4 years ago

@aliyoge

我制作了关机变重启的 SSDT 补丁、已经给 OC-little 提交了 PR: https://github.com/daliansky/OC-little/pull/7/files

aliyoge commented 4 years ago

@SukkaW 好的,辛苦了。

Huabao1860 commented 4 years ago

@aliyoge

我制作了关机变重启的 SSDT 补丁、已经给 OC-little 提交了 PR: https://github.com/daliansky/OC-little/pull/7/files

小兵在我们OC群里,一帮比较懂的人也在,我有时间再问问

SukkaW commented 4 years ago

@Huabao1860 好啊,帮忙问问 S3 睡眠唤醒后 EC Query 不再发送的问题。感觉是 E480 / E580 机型的通病。

eurly commented 4 years ago

系统版本10.15.4 (19E287) 目前有两个问题: 1、关机变重启; 2、我一直是接了外接显示器(HDMI线连接),睡眠唤醒后自身屏幕黑屏(故障率100%),HDMI扩展屏幕是可以点亮; 目前问题2比较严重,我没法使用睡眠功能,因为笔记本的屏幕不亮,我只能用扩展屏幕,所以就得重启系统,那睡眠功能就是一个摆设了。

aliyoge commented 4 years ago

@eurly 睡眠变重启问题加上SSDT-EXT1-FixShutdown.dsl可以解决。 等我有时间在更新一下EFI。 第二个问题你尝试更新一下WhateverGreen,并且添加启动参数igfxonln=1

GrantSJ commented 4 years ago

1820a-096JNT网卡,屏蔽前三后二,按照小兵的教程强制开机加载,Wi-Fi固件版本Broadcom BCM43xx 1.0 (7.21.190.33 AirPortDriverBrcm4360-1325.2),蓝牙v7 c4689,Wi-Fi连接5G的情况下,接力、隔空投送都正常使用,电脑也不卡顿。

GrantSJ commented 4 years ago

感谢aliyoge提供了efi文件,e480可以接近白果使用,目前自动睡眠好像不能睡,仅仅是屏幕睡眠;手动能成功睡眠,一晚待机耗电5%左右。再次感谢

aliyoge commented 4 years ago

@GrantSJ 刚把驱动更新了,你可以参照一下。

Lintao-Zeng commented 4 years ago
  1. AppleALC layout-id 建议选 15,MacPeet 为 ThinkPad E580 机型添加的专门 layout-id 支持,而 E580 是 E480 的姊妹机型。
  2. Rehabman 的 VoodooPS2Controller 已经停止维护,可替换为 VoodooPS2VoodooInput(结合使用)。可能需要额外打一个 ThinkPad ClickPad 的 Hotpatch 以同时支持小红点、ThinkNav 和 ClickPad。支持全部触摸手势:

image image

你好,我装了windows和黑苹果双系统,但是在每次用完windows后切换到黑苹果系统时,黑苹果系统的声卡驱动就会失效,使用kextload和kextutil命令均无效,只有强制关机或断电才能使驱动恢复,不知道是什么原因造成的,有办法解决吗?

SukkaW commented 4 years ago

不知道是什么原因造成的,有办法解决吗?

关机重新开机即可,无其它方法。

https://github.com/acidanthera/bugtracker/issues/547

Lintao-Zeng commented 4 years ago

好的,谢谢------------------ 原始邮件 ------------------ 发件人: "Sukka"<notifications@github.com> 发送时间: 2020年10月12日(星期一) 凌晨0:46 收件人: "aliyoge/Hackintosh-ThinkPad-E480"<Hackintosh-ThinkPad-E480@noreply.github.com>; 抄送: "zenglintao"<2534324260@qq.com>;"Comment"<comment@noreply.github.com>; 主题: Re: [aliyoge/Hackintosh-ThinkPad-E480] ThinkPad E480 黑苹果完善补充 (#11)

ihumbert commented 3 years ago
  1. AppleALC layout-id 建议选 15,MacPeet 为 ThinkPad E580 机型添加的专门 layout-id 支持,而 E580 是 E480 的姊妹机型。
  2. Rehabman 的 VoodooPS2Controller 已经停止维护,可替换为 VoodooPS2VoodooInput(结合使用)。可能需要额外打一个 ThinkPad ClickPad 的 Hotpatch 以同时支持小红点、ThinkNav 和 ClickPad。支持全部触摸手势:

image image

你好,我装了windows和黑苹果双系统,但是在每次用完windows后切换到黑苹果系统时,黑苹果系统的声卡驱动就会失效,使用kextload和kextutil命令均无效,只有强制关机或断电才能使驱动恢复,不知道是什么原因造成的,有办法解决吗?

你可以在WIN下进控制面板将声音管理程序(驱动)删除,可完美解决从WIN重启至MAC无声音的问题