We have to inject some properties in the device tree. The Chameleon v2 bootloader does that automatically for many cards, you just have to enable the GraphicsEnabler option and configure the PciRoot (only if it's not zero).
In the file com.apple.Boot.plist
You can use the app Lizard (LINK).
Check the Graphics Injection option, click on Auto-detect value in PCIRoot and save.
In Lizard preferences, configure the Extra folder Path. Select the Extra folder in the partition where you installed Chameleon.
There are kexts for that (NVenabler, NVinject, EvoEnabler, among others) but they do exactly the same thing, inject properties, they are not the drivers themselves.
NVIDIA Injectors <<<
It's also possible to pass the properties manually to Chameleon.
In the file com.apple.Boot.plist (or using Lizard)
<string>[hexadecimal EFI string]</string>
To get the currently injected properties you can use the command
ioreg -lw0 -p IODeviceTree -n efi -r -x | grep device-properties | sed 's/.*<//;s/>.*//;' > device-properties.hex
To convert the file device-properties.hex (hexadecimal EFI string) to plist (property list file) you can use OSX86Tools (osx86tools).
OSX86Tools can also be used to generate an EFI string.