Pinming / Dell-Inspiron-7590-With-SHP14C7-Catalina

本 repo 不再更新!请移步至 OC 版 repo!https://github.com/Pinming/Dell-Inspiron-7590-Hackintosh-Opencore
2 stars 1 forks source link

Dell-Inspiron-7590-With-SHP14C7-Catalina

Clover EFI for Dell Inspiron 7590 with Sharp SHP14C7.
【本机的引导方案已转换至 OpenCore 解决了更多 Bug,且体验更佳。故本 repo 不再更新!请移步至 OC 引导的 repo。】

注意 | 本 EFI 仅供参考,系统目前各个可以驱动的主要硬件运行基本正常,但无线网卡尚未测试!相关的完善将在近期进行。如要作为日常使用请慎重考虑!

【本 EFI 已集成 WhateverGreen 最新源码(1.3.7),夏普屏驱动问题已解决,理论上可以不使用二进制破解引导 10.15 各版本。感谢 @0xFirewolf!具体解决思路详见:https://github.com/acidanthera/WhateverGreen/pull/41

使用本 EFI 驱动 SHP14C7 的可行办法

先使用 config.plist 并修改启动用的集显 Platform-ID:0x12345678,然后安装系统并完成初始设置,首次进入系统后,在 Terminal 中重建 Kext 缓存:sudo kextcache -i /,然后重启。
之后再使用 config.plist(内置的 Platform ID:0x3E9B0009)启动系统,如无意外应该可以正常驱动 UHD630 及本屏幕。 【config.plist 已进行通用化处理,不再区分 10.14 & 10.15,非夏普屏理论上也通用。】

目前存在的 Bug

硬件配置

已驱动 / 已知可驱动

Dell Inspiron 7590 with Sharp SHP14C7 4K Display

已知不可驱动

【以下内容不再有效,仅供参考!】

先行说明:建立本 Repo 的原因

本机型的 4K 版本有两种屏幕,分别为友达的AUO41EB与夏普的SHP14C7。但经尝试发现后者并不像前者般容易驱动。使用常规的 WhateverGreen + 注入参数至 config.plistDevices -> Properties 子项的方式并不能成功驱动后者,同时会出现 division-by-zero 的 Kernel Panic,并立即重启,因此无法正常进入系统。

Division-by-zero 这一问题理论上在新版的 WhateverGreen 已经可以由其本身解决,但在装有夏普 SHP14C7 屏幕的机器上似乎并不奏效。

经尝试后发现,该屏幕在 10.14.210.14.3 版本下可以使用二进制破解 AppleIntelCFLGraphicsFramebuffer.kext 的方法规避这一 Panic 正常进入系统。具体参数已注入本 repo 的 config.plist。(具体注入内容见文末)

目前个人认为,要解决在 SHP14C7 上的 division-by-zero,在 WhateverGreen 并不能发挥其预期作用的情况下,根本思路还是在于计算相关值,二进制破解 AppleIntelCFLGraphicsFramebuffer.kext 从而使修改的量传递至 kext 的正确位置。但该过程涉及反编 kext,个人目前能力有限,难以实现这一目标,希望有 julao 可以出手相助!

同时,关于其他硬件驱动的细节将在日后更新。

关于二进制破解 Kext 的参考文章

Coffee Lake Intel UHD Graphics 630 on macOS Mojave: A compromise solution to the kernel panic due to division by zero in the framebuffer driver
[FIX] Coffee Lake Intel UHD Graphics 630 on macOS Mojave: Kernel panic due to divide-by-zero
10.14-10.14.5 macOS Mojave 各平台核显DVMT Framebuffer二进制补丁