[TOC] 本人对黑苹果是否完美就三个指标,三卡(显卡、声卡、网卡)驱动了我认为就是完美了,其他的无所谓,如果有需求可以继续优化,比如DSDT的优化等。 # 安装驱动 You should install all kexts you need (including FakeSMC, VoodooPS2Controller, etc) to /System/Library/Extensions (/S/L/E) using a kext installer (such as Kext Wizard). Think carefully about "kexts you need". For example, if you needed HPRAIDInjector.kext for a SATA chip locked in RAID mode, you'll need to install it in order to boot (without it, the system would be unable to mount root and would get stuck early in the boot process). Of course, essential kexts should be installed to EFI/Clover/kexts/Other as they are needed to boot the installer (during updates) or the recovery partition. It is a mistake to install everything to Clover/kexts. Contrary to popular hackintosh myth, it does not result in a cleaner install (the opposite is true). Many kexts will not work from Clover/kexts, so installing them to /S/L/E where they can be included in kernel cache is the best approach. People often ask me why I install kexts to /S/L/E (or /L/E on 10.11). I have many reasons: - placing them in /S/L/E (or /L/E on 10.11) and including in kernel cache, makes kextcache do a lot of error checking. - if you develop kexts, error checking is very important! - some kexts don't work from Clover/kexts (AppleHDA injector, CodecCommander, BrcmFirmware*) - the idea behind Clover/kexts is to have a set of *stable* and *minimalistic* kexts that will allow booting of the installer/recovery, not full functionality - so...the kexts there I tend to not update as often and the full set is not there (less unneeded kexts, less problems) - placing kexts into kernel cache for day-to-day use is "more native" (as it would be on a real Mac) vs. injection (which is very non-Mac) IMO, placing kexts in Clover/kexts for injection when not needed is like "flying blind." I don't know about you, but I would not board a plane with a blind pilot (no offense to the blind). You might be wondering if this will result in duplicate kexts being loaded due to the kexts in EFI/Clover/kexts being injected when they are also installed to the system volume. The answer is no, not generally. With config.plist/SystemParameters/InjectKexts="Detect", kexts in EFI/Clover/kexts are not injected when FakeSMC.kext is in kernel cache. Because FakeSMC.kext is always a "kext you need", you will always install it to the system volume, which will put it in kernel cache. Kernel cache, of course, will not have FakeSMC.kext when booting the installer or recovery, so in these cases the kexts in EFI/Clover/kexts *will* be injected as you would expect. ---(来自:RM的[Booting the OS X installer on LAPTOPS with Clover](https://www.tonymacx86.com/threads/guide-booting-the-os-x-installer-on-laptops-with-clover.148093/)) 原则:所需驱动越少越好!!! 通过Clover加载的驱动程序位于`EFI/CLOVER/kexts/Other `,也有可能位于 `EFI/CLOVER/kexts/10.13`等其他目录中。需要安装在系统,推荐把第三方驱动安装到 `/Library/Extensions`,而不是`/System/Library/Extensions`。 重建一下系统的缓存,命令为: ```shell sudo rm -rf /System/Library/Caches/com.apple.kext.caches/Startup/kernelcache sudo rm -rf /System/Library/PrelinkedKernels/prelinkedkernel sudo touch /System/Library/Extensions/ && sudo kextcache -u / ``` 重启你的系统。 # 核心驱动 ## Lilu.kext [Lilu插件列表[持续更新]](http://www.jianshu.com/p/5bb1188c6d6f) Lilu 是 vit9696 开发的一个内核扩展 (kext),可对”任意” 内核扩展(kext)/进程(process)/运行库(framework/library)等 进行打补丁。(但其实某些比较底层的 kext 仍无法修改,如基本硬件驱动、底层重要依赖等)。 它的作用主要体现于为 kext 打补丁,为 进程 打补丁 (目前仅支持 64 位) ,为 运行库 打补丁 (目前仅支持 64 位),提供一套统一的 API 接口。 # WhateverGreen > [使用 WhateverGreen 对英特尔 ® 核芯显卡 Framebuffer 进行修补](https://www.misonsky.cn/61.html) WhateverGreen 显卡综合修复,整合了核显、AMD、NVIDIA 的综合修复,包括 (单卡启动黑屏,唤醒黑屏 等等)(依赖于 Lilu) ## FakeSMC.kext https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek/downloads/ 来自tonymacx86 官方提供的黑苹果破解驱动FakeSMC.kext. 安装黑苹果必须要有的一个驱动程序,大家都知道苹果系统是不允许用户安装在出苹果公司以外的其他设备上的,FakeSMC.kex t用来欺骗OSX系统要安装的PC是SMC硬件,所以说没有他你是不可能安装好的。此版驱动提取自HWSensors 软件中,建议所有黑苹果用户更新到最新版本,可以解决不少问题。 RM 的版本可能会包含4个传感器。 ## AHCIPortInjector.kext 什么是AHCI?AHCI(Serial ATA Advanced Host Controller Interface)串行ATA高级主控接口/高级主机控制器接口,众所周知安装黑苹果时需要开启BIOS的AHCI功能,不过有些老的主板并不支持此选项,所以要用的免AHCI的补丁,此补丁可以免去没有AHCI选项的苦恼。 ## FakePCIID.kext 因为macOS系统会对`PCI device-id`进行验证,但是黑苹果的硬件不能通过这一验证,所以需要仿冒`PCIID` ## FakePCIID_Intel_HD_Graphics.kext Intel HD Graphic显卡的device-id的仿冒驱动,适用于HD4200/HD4400/HD4600/HD5600系列 # NVIDIA webDriver https://gfe.nvidia.com/mac-update # 电源 ## ACPIBatteryManager.kext 推荐 采用RehabMan 的 ACPIBatteryManager.kext 可以很好的进行电源管理。但由于每型号的笔记本对于电池的Method都不尽相同,你也可以打适合自己的DSDT Patch。 ## NullCPUPowerManagement.kext 不少主板都需要用 NullCPUPowerManagement.kext(Disabler.kext)来禁用原生的AppleIntelCPUPowerManagement.kext,否则,CPU的温度会比正常高出十度左右。当然,有些品牌的主板(比如华硕的P5K)原生就可以加载AppleLPC,所以,这些主板的CPU温度是正常的,也就没必要禁用AppleIntelCPUPowerManagement了。 当然也有其他的解决方法比如说通过ACPI表DSDT来解决等等。 参考:http://www.360doc.com/content/12/0214/10/8539097_186486767.shtml # 声音 ## AppleALC的作用是加载原生声卡驱动的 这种驱动方式的好处是升级更新也不需要重新安装声卡驱动 AppleALC安装条件是你的没动过原生的声卡驱动和按其他任何有关于声卡的驱动 s/l/e下的applehda.kext必须保证是原生的 ## VoodooHDA.kext VoodooHDA是一个开源的声卡驱动程序,支持大部分声卡程序,跟AppleHDA Patcher差不多,此声卡可能会爆音,如果你不介意。 ## AppleHDA Patcher AppleHDA Patcher v1.8是黑苹果乐园搜集到的一款黑苹果仿冒声卡驱动,支持10.12,集合了众多黑苹果声卡驱动,早 ## CodecCommander.kext 解决睡眠唤醒无声问题 ## EAPDFix.kext 解决:睡眠唤醒后扬声器或耳机无声的问题。 # 触摸板 ## [VoodooPS2Controller.kext](https://github.com/RehabMan/OS-X-Voodoo-PS2-Controller) RehabMan维护的 黑苹果键盘鼠标触摸板驱动万能驱动程序 - VoodooPS2Controller ## ApplePS2SmartTouchPad.kext Smart TouchPad适用于黑苹果笔记本,支持多点触摸的touchpad(触摸板)驱动程序,支持ELAN, FocalTech 和 Synaptics的触控板。驱动来源于VoodooPS2和ApplePS2的Linux驱动开源代码,作者已经添加了更多的功能,可以充分利用触摸板,使其在各方面都接近苹果触摸板。 **台式机就算了,没有触控的。** # USB ## USBInjectAll.kext 苹果系统在OS X 10.11之后改变了USB驱动的加载方式,以至于大多数USB端口无法被驱动,对于黑苹果用户来说是个致命问题,USB无法驱动也就意味着你的键盘鼠标等USB设备无法使用,还有奇葩的摄像头问题。USBInjectAll.kext驱动文件可以帮助黑苹果驱动你的USB设备,包括3.0的端口和摄像头等问题。 https://imac.hk/usbinjectall-kext-os-x-usb3.html ## GenericUSBXHCI.kext 系统的USB3.0驱动,10.8.x以上都支持! # 无线 ## AppleIntelWiFiMVM.kext intel无线网卡驱动试试 # 有限网卡 ## [AppleIGB.kext](http://sourceforge.net/projects/osx86drivers/files/Kext/Snow_Lion/AppleIGB.kext.zip/download) I have just ported Intel igb ethernet driver ( for server adapters), which works with 82575, 82576, 82580, dh89xxcc, i350 and i210, though I have tested with 82580 quad port adapter only - tell me the result if you have different ones. It supports basic functions only ( for example, no WOL), probably the performance is lower than the Linux version as it does not utilize available sophisticated hardware features. 基于 NIC 的 Intel 有线网卡驱动,支持 82575, 82576, 82580, i350, i210 等 ## IntelMausiEthernet.kext 英特系列 82578LM、82578LC、82578DM、82578DC、 82579LM、82579V、I217LM、I217V、I218LM、 I218V、I218LM2、I218V2、I218LM3、I219V、 I219LM、I219V2、I219LM2、I219LM2 网卡驱动 ,适用于Intel主板自带的黑苹果网卡驱动程序,支持大部分网卡型号IntelMausiEthernet.kext驱动程序同时支持IPV4和IPV6的TCP、UDP和的校验接受和发送。同时驱动程序在发包率大的情况下减少了CPU的负载,也就是说你看电影下载东西玩游戏联网什么的减少了系统负载。 ## AppleIntelE1000e.kext Intel 系列 82540, 82541, 82542, 82543, 82544, 82545, 82546, 82547, 82578 (P55/H55), 82579 (P67/H67), 82574L ,82571 ,82572 ,82573 ,82574, 82583, I217V 网卡驱动,如果你网卡硬件是Atheros,可以下载使用。 ## AtherosE2200Ethernet.kext 支持高通Qualcomm Atheros AR816x, AR817x,Killer E220x 和 Killer E2400的黑苹果网卡驱动程序。 ## RealtekRTL8100.kext RTL8101E、RTL8102E、RTL8103E、RTL8401E、RTL8105E、RTL8402、RTL8106E、RTL8106EUS、RTL8107E、RTL8139 有线网卡驱动。 ## RealtekRTL8111.kext Realtek RTL8111X/8168X (X = 无 / B/C/D/E/F/G)系列有线网卡驱动 # 其他 ## Shiki.kext 如果您有一台 Ivy Bridge 或者更新的平台机器,并且无法使用 iTunes DRM 播放但您的显卡可以在 HDCP 模式下工作的话,您可以尝试使用 Shiki 。 有时 Shiki 也可以修复 Sandy Bridge 平台的这些问题。 Don't set Lilu and these plug-ins in SLE or LE, it won't work. Use kexts injection from Clover. ## IntelGraphicsFixup Fixes boot logo on all known Intel Graphics. Fixes PAVP freezes on Intel Azul, Skl, Kbl Graphics. Fixes display initialization issues for Azul, Skl, Kbl Graphics. ## NvidiaGraphicsFixup Fixes an issue in AppleGraphicsDevicePolicy.kext so that we could use any ProductName, without the usual hang with a black screen. Modifies macOS to recognize NVIDIA's web drivers as platform binaries. This resolves the issue with transparent windows without content, which appear for applications that use Metal and have Library Validation enabled. Common affected applications are iBooks and Little Snitch Network Monitor, though this patch is universal and fixes them all. Injects IOVARendererID into GPU properties (required for Shiki-based solution for non-freezing Intel and/or any discrete GPU) NVidiaAudio device to add connector-type, layout-id and other properties for HDMI audio (allows audio for HDMI, DP, Digital DVI ports) ## HibernationFixup Enable 3 & 25 mode hibernation on certain hardware. Patching of IOPCIFamily to avoid hang & black screen after resume. (Option) (Use the last FakeSMC.kext from @slice) ## AirportBrcmFixup Supports AirPort_Brcm4360, AirPort_BrcmNIC and AirPort_BrcmNIC_MFG Implements patch for passing chip id checking, in <=10.12 it's required for successful driver starting Implements patch for "Third Party Device" (returns vendor name "Apple") Implements patch for removing of white-list check ## BT4LEContiunityFixup