Contribute
Register

Black Screen with MacPro 6,1 or iMac 15 or iMac 17 System Definition

Here are the results of my trial and error testing. Again, I'm using iMac17,1 system definition and I've renamed the HD 530 to IGPU and the GTX 980 to GFX0.
  • Only using the renaming did NOT fix the black screen when using unmodified AppleGraphicsControl.kext.
  • Adding the Lilu.kext and NvidiaGraphicsFixup.kext DOES fix the black screen and works with iMac17,1 system definition.
  • Sleep/wake is unaffected by Lilu/NvidiaGraphicsFixup.
I will keep the renaming to more closely mimic a real iMac as I don't see any harm in doing so.

I have one last question... The download for Lilu 1.0.0 RELEASE had an additional file included. Filename is Lilu.kext.dSYM. Is it safe to assume this file is not need and can be disregarded?

Thanks to vit9696 and lvs1974 for Lilu and NvidiaGraphicsFixup!! Thanks to shiloh for all your work and great writeup!!
Thanks for sharing and contributing! Yes I'd disregard the dsym file.
 
Or, You should also try the new solution (the 2 kexts) in the OP.
Most people now days are using applealc for audio patching which already require Lilu (in latest version) so it's actually one kext :)
 
So I've been spending the last couple of days trying to get a fresh install of Sierra going on a new Kaby Lake build (GA-Z270XP-SLI, 7600K, GTX770), but every time I try to enable Web Drivers I get stuck with the Black Screen issue (and have to clear nvram to force the stock driver to load (which, coincidentially, works fine)). I already use Lilu for AppleALC, and I've already tried putting NvidiaGraphicsFixup next to it in CLOVER/kexts/Other (as well as moving them around to places like /L/E and /S/L/E) to no avail. As I don't see anyone else insane enough to be running such an old system with such a new chipset, am I out of luck without going out and splurging money on a (currently price-inflated) 970/980?

SSHing into the box after boot and running system_profiler shows the driver is getting loaded:

Code:
system_profiler SPDisplaysDataType
Graphics/Displays:

    NVIDIA GeForce GTX 770:

      Chipset Model: NVIDIA GeForce GTX 770
      Type: GPU
      Bus: PCIe
      PCIe Lane Width: x16
      VRAM (Total): 4095 MB
      Vendor: NVIDIA (0x10de)
      Device ID: 0x1184
      Revision ID: 0x00a2
      ROM Revision: VBIOS 80.04.c3.00.73
      Metal: Supported
and ioreg seems to support that:
Code:
    | +-o PCI0@0  <class IOACPIPlatformDevice, id 0x100000140, registered, matched, active, busy 0 (6394 ms), retain 105>
    | | +-o AppleACPIPCI  <class AppleACPIPCI, id 0x100000254, registered, matched, active, busy 0 (6383 ms), retain 45>
    | |   +-o pci8086,591f@0  <class IOPCIDevice, id 0x100000263, registered, matched, active, busy 0 (0 ms), retain 8>
    | |   +-o PEG0@1  <class IOPCIDevice, id 0x1000001ef, registered, matched, active, busy 0 (75 ms), retain 12>
    | |   | +-o IOPP  <class IOPCI2PCIBridge, id 0x100000269, registered, matched, active, busy 0 (74 ms), retain 10>
    | |   |   +-o GFX0@0  <class IOPCIDevice, id 0x1000001f0, registered, matched, active, busy 0 (73 ms), retain 25>
    | |   |   | +-o NVDAHal  <class IOService, id 0x1000003b7, registered, matched, active, busy 0 (1 ms), retain 6>
    | |   |   | +-o NVDAgl  <class IOService, id 0x1000003b8, registered, matched, active, busy 0 (5 ms), retain 6>
    | |   |   | +-o NVDA,Display-A@0  <class IONDRVDevice, id 0x1000003bc, registered, matched, active, busy 0 (12 ms), retain 8>
    | |   |   | | +-o NVDA  <class NVDA, id 0x1000003cf, registered, matched, active, busy 0 (8 ms), retain 16>
    | |   |   | |   +-o AppleMCCSControlModule  <class AppleMCCSControlModule, id 0x1000003d7, registered, matched, active, busy 0 (1 ms), retain 6>
    | |   |   | |   | +-o AppleMCCSParameterHandler  <class AppleMCCSParameterHandler, id 0x1000003dc, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |   | |   +-o AppleUpstreamUserClientDriver  <class AppleUpstreamUserClientDriver, id 0x1000003d8, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |   | |   +-o IOFramebufferI2CInterface  <class IOFramebufferI2CInterface, id 0x10000043e, registered, matched, active, busy 0 (0 ms), retain 6>
    | |   |   | |   +-o display0  <class IODisplayConnect, id 0x10000043f, registered, matched, active, busy 0 (0 ms), retain 6>
    | |   |   | |   | +-o AppleDisplay  <class AppleDisplay, id 0x100000441, registered, matched, active, busy 0 (0 ms), retain 8>
    | |   |   | |   +-o IOFramebufferUserClient  <class IOFramebufferUserClient, id 0x10000044e, !registered, !matched, active, busy 0, retain 6>
    | |   |   | +-o nvAccelerator  <class nvAccelerator, id 0x1000003cd, registered, matched, active, busy 0 (1 ms), retain 14>
    | |   |   | +-o NVDA,Display-B@1  <class IONDRVDevice, id 0x1000003bd, registered, matched, active, busy 0 (4 ms), retain 8>
    | |   |   | | +-o NVDA  <class NVDA, id 0x1000003e2, registered, matched, active, busy 0 (4 ms), retain 16>
    | |   |   | |   +-o AppleMCCSControlModule  <class AppleMCCSControlModule, id 0x1000003e6, registered, matched, active, busy 0 (3 ms), retain 6>
    | |   |   | |   | +-o AppleMCCSParameterHandler  <class AppleMCCSParameterHandler, id 0x1000003ea, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |   | |   +-o AppleUpstreamUserClientDriver  <class AppleUpstreamUserClientDriver, id 0x1000003e7, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |   | |   +-o IOFramebufferI2CInterface  <class IOFramebufferI2CInterface, id 0x100000443, registered, matched, active, busy 0 (0 ms), retain 6>
    | |   |   | |   +-o display0  <class IODisplayConnect, id 0x100000444, registered, matched, active, busy 0 (0 ms), retain 6>
    | |   |   | |   | +-o AppleDisplay  <class AppleDisplay, id 0x100000446, registered, matched, active, busy 0 (0 ms), retain 8>
    | |   |   | |   +-o IOFramebufferUserClient  <class IOFramebufferUserClient, id 0x100000450, !registered, !matched, active, busy 0, retain 5>
    | |   |   | +-o NVDA,Display-C@2  <class IONDRVDevice, id 0x1000003bf, registered, matched, active, busy 0 (4 ms), retain 8>
    | |   |   | | +-o NVDA  <class NVDA, id 0x1000003eb, registered, matched, active, busy 0 (3 ms), retain 16>
    | |   |   | |   +-o AppleMCCSControlModule  <class AppleMCCSControlModule, id 0x1000003f0, registered, matched, active, busy 0 (3 ms), retain 6>
    | |   |   | |   | +-o AppleMCCSParameterHandler  <class AppleMCCSParameterHandler, id 0x1000003f5, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |   | |   +-o AppleUpstreamUserClientDriver  <class AppleUpstreamUserClientDriver, id 0x1000003f1, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |   | |   +-o IOFramebufferI2CInterface  <class IOFramebufferI2CInterface, id 0x100000448, registered, matched, active, busy 0 (0 ms), retain 6>
    | |   |   | |   +-o display0  <class IODisplayConnect, id 0x100000449, registered, matched, active, busy 0 (0 ms), retain 6>
    | |   |   | |   | +-o AppleDisplay  <class AppleDisplay, id 0x10000044b, registered, matched, active, busy 0 (0 ms), retain 8>
    | |   |   | |   +-o IOFramebufferUserClient  <class IOFramebufferUserClient, id 0x100000451, !registered, !matched, active, busy 0, retain 5>
    | |   |   | +-o NVDA,Display-D@3  <class IONDRVDevice, id 0x1000003c0, registered, matched, active, busy 0 (0 ms), retain 8>
    | |   |   | | +-o NVDA  <class NVDA, id 0x1000003f7, registered, matched, active, busy 0 (0 ms), retain 14>
    | |   |   | |   +-o AppleMCCSControlModule  <class AppleMCCSControlModule, id 0x1000003fa, registered, matched, active, busy 0 (0 ms), retain 6>
    | |   |   | |   | +-o AppleMCCSParameterHandler  <class AppleMCCSParameterHandler, id 0x1000003fc, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |   | |   +-o AppleUpstreamUserClientDriver  <class AppleUpstreamUserClientDriver, id 0x1000003fb, registered, matched, active, busy 0 (0 ms), retain 5>
    | |   |   | |   +-o IOFramebufferI2CInterface  <class IOFramebufferI2CInterface, id 0x10000044d, registered, matched, active, busy 0 (0 ms), retain 6>
    | |   |   | |   +-o IOFramebufferUserClient  <class IOFramebufferUserClient, id 0x100000452, !registered, !matched, active, busy 0, retain 5>
    | |   |   | +-o NVDC  <class NVDC, id 0x10000043a, registered, matched, active, busy 0 (37 ms), retain 8>
    | |   |   | | +-o AppleGraphicsDeviceControlPlugin  <class AppleGraphicsDeviceControlPlugin, id 0x10000043b, registered, matched, active, busy 0 (0 ms), retain 6>
    | |   |   | | +-o AppleGraphicsDeviceControlClient  <class AppleGraphicsDeviceControlClient, id 0x10000044f, !registered, !matched, active, busy 0, retain 5>
    | |   |   | +-o NVDAinitgl  <class IOService, id 0x10000043c, registered, matched, active, busy 0 (0 ms), retain 6>
    | |   |   +-o pci10de,e0a@0,1  <class IOPCIDevice, id 0x100000265, registered, matched, active, busy 0 (12 ms), retain 8>

NvidiaGraphicsFixup is definitely getting loaded:
Code:
    | +-o NvidiaGraphicsFixup  <class NvidiaGraphicsFixup, id 0x10000012d, !registered, !matched, active, busy 0, retain 4>

and here's the only remotely relevant part of dmesg:
Code:
NVDAStartupWeb: Web
...
kPEDisableScreen 1
...
NvidiaGraphicsFixup: (DEBUG) ngfx @ found com.apple.driver.AppleGraphicsDevicePolicy
NvidiaGraphicsFixup: (DEBUG) ngfx @ applying patches for 7u kext
NvidiaGraphicsFixup: (DEBUG) ngfx @ applying 0u patch for 7u kext
kPEDisableScreen 1

I've attached my config.plist for giggles. I'm currently using iMac17,1, but I've tried with several other definitions (including MacPro6,1, iMac14,2, and others) with identical results. What am I missing?
 

Attachments

  • config.plist
    5.4 KB · Views: 413
but every time I try to enable Web Drivers I get stuck with the Black Screen issue
If you want to use Nvidia why are you injecting Intel in your config.plist ?
 
Seems this was a remnant of MultiBeast's default config.plist. Disabling it doesn't seem to change anything.
When people make changes that have no effect it is often because the config.plist that they are editing is not the one that they are booting with.

An easy way to test is to toggle the verbose boot on or off.

If you are currently booting in normal mode then turn verbose mode on or vice versa.
 
When people make changes that have no effect it is often because the config.plist that they are editing is not the one that they are booting with.

An easy way to test is to toggle the verbose boot on or off.

If you are currently booting in normal mode then turn verbose mode on or vice versa.

Checked with the method you suggested, config changes are definitely being read correctly (that is to say intel injection is definitely disabled / I can toggle verbose)
 
Checked with the method you suggested, config changes are definitely being read correctly (that is to say intel injection is definitely disabled / I can toggle verbose)
Have you installed EmuVariableUefi-64.efi and RC scripts from the Clover installer ?

See Problem #6.
 
Last edited:
S I'm currently using iMac17,1, but I've tried with several other definitions (including MacPro6,1, iMac14,2, and others) with identical results. What am I missing?
if iMac14,2 showing black screen then it's not AGDP related.
check that you don't have inject nvidia with clover, not needed for this card.
also remove NvidiaWeb from config if you have it.
 
Back
Top