# Kexts

## What kexts do you need?

### The kext that is absolutely required

*VirtualSMC.kext* (Or FakeSMC.kext) is as aforementioned essential. This kext is what tells macOS "Yes this is a real mac", emulating the functionality of the SMC on real mac's (from there the name). Without it, no Hackintosh.

### Where can I find these kexts?

All the kexts shown here are available for download on the [***kext repo***](https://1drv.ms/f/s!AiP7m5LaOED-m-J8-MLJGnOgAqnjGw) provided and maintained by Goldfish64. All these kexts are automagically built when a new kext update is commited.

### Ethernet

* *​*[*IntelMausiEthernet.kext*](https://github.com/Mieze/IntelMausiEthernet) - this works with most newer Intel LAN chipsets
* [*AppleIntelE1000e.kext*](https://sourceforge.net/projects/osx86drivers/) - this works with older Intel LAN chipsets - but can cause KPs on newer chipsets
* *​*[*AtherosE2200Ethernet.kext*](https://github.com/Mieze/AtherosE2200Ethernet) - this works for most Atheros or Killer networking chipsets
* *​*[*RealtekRTL8111.kext*](https://github.com/Mieze/RTL8111_driver_for_OS_X) - this works with most gigabit Realtek LAN chipsets
* *​*[*RealtekRTL8100.kext*](https://github.com/Mieze/RealtekRTL8100) - for 10/100 Realtek LAN chipsets

### USB

* [*USBInjectAll.kext* ](https://bitbucket.org/RehabMan/os-x-usb-inject-all/overview)- best explained by the creator of the kext himself:  `In 10.11+ Apple has changed significantly the way the USB drivers work. In the absense of a port injector, the drivers use ACPI to obtain information about which ports are active. Often, this information is wrong. Instead of correcting the DSDT, a port injector can be used (just as Apple did for their own computers)`
* [*GenericUSBXHCI.kext*](https://bitbucket.org/RehabMan/os-x-generic-usb3/overview) *-* this kext is often needed for USB 3 support, especially on FX.&#x20;

### Graphics

* [*Whatevergreen.kext* ](https://github.com/acidanthera/WhateverGreen)*-* this kext fixes a lot of GPU related issues.
* [*Lilu.kext*](https://github.com/acidanthera/Lilu) *-* this kext acts as a loader for other kexts. More specifically it can patch kexts, processes and libraries.

### WiFi and Bluetooth <a href="#wifi-and-bluetooth" id="wifi-and-bluetooth"></a>

(I myself don't use bluetooth nor WiFi so I don't have knowledge in that, but here is some information on the subject by CorpNewt. *Check **Credits** for more info*)\
\
`Apple is pretty minimal with their WiFi support, so I'll only cover the two main chipsets I'm familiar with. I've used a BCM94360CD + PCIe adapter, and BCM94352HMB/BCM94352Z in my Hackintoshes. The BCM94360CD worked OOB with no extras as it's a native card. For the BCM94352 flavors, I've been using` [*`AirportBrcmFixup.kext`*](https://github.com/acidanthera/AirportBrcmFixup) `and the companion` [*`Lilu.kext`*](https://github.com/vit9696/Lilu/releases) `for WiFi setup and`` `*`BrcmBluetoothInjector.kext`*` ``(on 10.13.6+) or`` `*`BrcmPatchRAM2.kext`*` ``alongside`` `*`BrcmFirmwareData.kext`*` ``- all of the Brcm* kexts are from RehabMan's` [*`OS-X-BrcmPatchRAM`*](https://github.com/RehabMan/OS-X-BrcmPatchRAM) `repo.`

### Audio

* [*VoodooHDA.kext* ](https://sourceforge.net/projects/voodoohda/)*-* a jack of all trades master of none solution to audio. Required on FX, but has better alternatives on Ryzen.
* If you are on Ryzen and have a supported codec we will be using native audio, this will be setup later on. This has a better quality than VoodooHDA along with other improvements.

### Misc

* [*NullCPUPowerManagement.kext*](https://github.com/corpnewt/NullCPUPowerManagement) *-* This kext disables CPU powermanagement, as that is not supported on AMD chips.

### Extra

Depending on what hardware you have in your machine you might need some other kexts. This list is more to be used to give you a general idea, you will probably have to do some google-fu.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://101110.gitbook.io/workspace/kexts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
