- 积分
- 48
- 最后登录
- 2021-4-22
- 精华
- 0
- 阅读权限
- 10
- 主题
- 5
- UID
- 2226833
- 帖子
- 45
- PB币
- 83
- 威望
- 5
- 贡献
- 0
- 技术
- 0
- 活跃
- 76
- UID
- 2226833
- 帖子
- 45
- PB币
- 83
- 贡献
- 0
- 技术
- 0
- 活跃
- 76
|
发表于 2016-9-22 00:01:44
IP属地美国
|显示全部楼层
神舟 K660d i5 d1,之前装的 10.10 Yosemite,用的 UEFI + GPT + Clover,核显 HD 4600 用的别人改过的 dsdt (具体改了那里我不知道) + Clover 的 Kext Patches 功能驱动,一直用的很好,3D功能正常,能玩魔兽世界😄
今天一大早升级到 10.12 macOS Sierra,刚开始 VoodooPS2controller,kext 导致内核崩溃,删除之。然后顺利升级。等开机,发现 3D 加速没有了,桌面闪烁且非常卡,怀疑显卡没有正确驱动。
然后检查 macOS 的系统报告,发现里面显示的显卡ID是正确的仿冒后的。本身是 供应商:Intel (0x8086),设备 ID:0x0416,经过dsdt仿冒后设备ID变为 0x0412。但是 3D 加速却没有正常工作,怀疑是 Clover 的 Kext Patches 代码过时了。
于是我打开 Clover 的 config.plist ,看到原来的 Kext Patchs 配置如下:
里面有 3D86801204754F41C7 和 3D86801206754F41C7 这样的代码,其中 86801206 是我的设备ID(0x80860612,自己感受一下排列顺序,两个字母是一组),而86801204是我要仿冒的桌面版HD4600的ID。至于前后的内容,应该是 Patch 的作者抓取的 Yosemite 版本驱动中,我的显卡ID前后的数据。而在Sierra中,前后的数据已经改变了。所以 Patch 就找不到匹配的内容,失败了。
所以解决方法有两种:
1、重新寻找设备ID的前后内容,形成新的Patch。
2、干脆将前后内容都删掉,也就是不再精确匹配,只要驱动中出现 86801204 的地方,都替换成 86801206。这样是有风险的,如果替换的地方不是设备ID而是别的内容的一部分,那么会导致驱动崩溃。
但是我还是冒险试了一下方法2,居然成功了,3D加速恢复如初,一切都很好!
我把 Patch 改成了如下内容:
保存并重启后,显卡就完美驱动了。
备注:需要修改好的 dsdt ,至于怎么修改我不清楚,我用的别人的。
Clover 的 Graphics 里设不设置 Inject Intel 好像效果都是一样的,不能驱动的可以设置一下看看。
Devices 里的 Fake ID 好像没有作用。我没有填。如果我不用修改好的 dsdt ,就算填了也没有用。
附带修改好的 config.plist 和 dsdt.aml ,仅用于 k660d i5。我还 patch 了一个蓝牙延迟问题,不需要的可以删掉。
|
-
1
查看全部评分
-
|