Hello everyone! This is a new user to InsanelyMac, although I've built my Hackintosh long ago with the information on this forum
But it seems like the problem I encountered has no solution posted here, I would like to share my solution to that.
I have an i7 6700k, a GIGABYTE Z170 motherboard (though these two are not important at all in this problem), and a GTX970. I recently updated my Hackintosh from 10.11 to 10.13.1 (I think it should also work for 10.13) through App Store. The system was successfully installed, but I found that it was impossible to log in the system with my GTX970 plugged in -- it always led to black screen (no signal) before the login screen was shown.
There are some discussion on InsanelyMac, but none of the solutions proposed worked for me. Here are my experiments:
Since I am using iMac 15, 1 SMBIOS, I manually modified the AppleGraphicsDevicePolicy.kext so that it would not use the "Config2," or I can't even boot into the system with my IGFX (as we all know, it causes black screen / no signal before login). AppleGraphicsDevicePolicy.kext is NOT the cause of the problem in my case, although they have the same symptom; before using this solution, check your SMBIOS and AppleGraphicsDevicePolicy.kext.
I also put Lilu.kext and NvidiaGraphicsFixup.kext in my Clover, but since they do the same thing as manually modifying Info.plist, I don't think it really matters here.
In case of installing a broken Web Driver to my Hackintosh, I enabled SIP before the installation of Nvidia driver. It seemed like it worked: the first time I installed the Web Driver with SIP disabled, as well as after I accidentally removed a kext from /S/L/E and broke the driver, it produced a "gIOScreenLockState 3" problem. One of my guesses: the "gIOScreenLockState 3" is due to a broken or disabled (i.e. forgot to add NvidiaWeb in Clover config) web driver.
NVwebDriverLibValFix.kext has no effect. It changed nothing but caused reboot before login when I was using IGFX.
At last, I tried injecting a fake ID for Nvidia (0x00000000) and it WORKS! Go to "Devices" section in Clover Configurator (if you use it) and put 0x00000000 to "NVidia" in the "Fake ID" section, or modify the text of Config.plist like this:
Then save, reboot. It should work if you have the same problem with me.
Hope this help. If you have any question, leave a reply. I would be glad if I can help someone solve the problem.