Contribute
Register

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

I have 4 monitors connected to my machine. 2 are connected to my onboard video and 2 are connected to my Geforce 1060. The onboard video display works although is absolute garbage - pixelated, shaky etc and the monitors connected to my 1060 display a black screen. I feel like I have tried everything to make my display work.

Here is my setup:

ASUS H270
Geforce 1060 6GB
3 x SSDs
1 x SATA
Fenvi T919 wifi + bluetooth.

Any ideas for where I should start? If it is relevant, I do have the Nvidia drivers installed. They appear as installed in the top menu bar.

Thanks in advance!
 
I have just setup my first Sierra 10.12.5 hackintosh on a 7700K system with a Nvidia 1080 Pascal gpu, using the instructions for Unibeast and Multibeast. It is all running fine, except I too have experienced the black screen on boot up, after installing the Nvidia web drivers and having it set to the IMAC 17,1 Profile.

If I have it set to IMAC 14,2 profile, with the Nvidia drivers I do not get the black screen.
Now I have read that the 17,1 profile is for Skylake and its power management features, which I assume would work on Kabylake too, since for my install I had to use the Skylake Fake CPUID setting to get it to boot up.

I have a couple of questions regarding the above and what would be the best option :

1)What exactly does the IMAC 17,1 profile do, that the 14,2 profile does not for my cpu ?

2) Is it just power management features, such as sleep/hibernate and if I choose to remain at the IMAC 14,2 profile that I simply won't be getting power management, but everything else works perfectly, or will I be missing out on actual performance from my cpu ?

Thanks.
 
Last edited:
I use NvidiaFixup & Lilu, it works. But sometime when I restart, It doesn't show welcome logo of mobo, it's black at all, no clover screen. But It's still working and I can only press enter and it will go to mac os login screen. If I want to go to windows, I have to press reset button on the case.
Anyone knows this problem?
 
...

1) What exactly does the IMAC 17,1 profile do, that the 14,2 profile does not for my cpu ?

2) Is it just power management features, such as sleep/hibernate and if I choose to remain at the IMAC 14,2 profile that I simply won't be getting power management, but everything else works perfectly, or will I be missing out on actual performance from my cpu ?

Thanks.

1,2) 17,1 is an SMBIOS closer to a real mac if you own a 6th gen CPU since 17,1 ships with those processors. So it is a good idea to choose it. But if you notice no real difference and it gives you problems... stick to 14,2.

The first post in this thread has solutions for 17,1 blackscreen.
For power management, use this method https://www.tonymacx86.com/threads/quick-guide-to-generate-a-ssdt-for-cpu-power-management.177456/
 
Decided to do a Native Upgrade to Sierra because seemingly I'm seeing people have more success with an AMD GPU. But now I'm dealing with this Black screen issue.

Might be the stupidest question but how am I supposed to trouble shoot this issue if my screen is Black.

i7-6700
asrock z170 pro 4
crucial ballistix 16Gb
Crucial 275 SSD
Asus Strix Radeon Rx560 4GB
 
@jovie
You need to put a 14,2 smbios config.plist in the efi/clover folder named something else, but starting with config. Then select it from the clover options. A linux live environment could help if you need that computer.
 
@jovie
You need to put a 14,2 smbios config.plist in the efi/clover folder named something else, but starting with config. Then select it from the clover options. A linux live environment could help if you need that computer.

can I remove the drive and put it on a sled and try and edit the config file on my Macbook pro?
 
can I remove the drive and put it on a sled and try and edit the config file on my Macbook pro?

That should work. You might need to mount the efi partition. This site has an app for that called efi mounter in downloads.
 
The MacPro6,1 and iMac15/17 perform special functions on their specific OEM GPUs/Displays. The MacPro6,1 unloads 1 GPU (with no ports) and leaves one functional for it's pseudo CrossFire function. The iMac15/17s apply a special EDID for their 5K displays.

The following snippet is taken from /System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleGraphicsDevicePolicy.kext/Contents/Info.plist:

Code:
...
<string>com.apple.driver.AppleGraphicsDevicePolicy</string>
<key>Config1</key>
<dict>
    <key>GFX1</key>
    <dict>
        <key>unload</key>
        <true/>
    </dict>
</dict>
<key>Config2</key>
<dict>
    <key>GFX0</key>
    <dict>
       <key>EDID</key>
       <dict>
           <key>0610ae02</key>
           <data>
           AP///////wAGEAOuAAAAAAwYAQS1
           PCJ4IsgFp1VLoCYMUFQAAAABAQEB
           AQEBAQEBAQEBAQEBAAAAEAAAAAAA
           AAAAAAAAAAAAAAAAEAAAAAAAAAAA
           AAAAAAAAAAAA/ABpTWFjCiAgICAg
           ICAgAAAAAAAAAAAAAAAAAAAAAAAA
           Ai0CAx6BcPoQAAASejH8eL3MApCI
           UdNo+hAA9fn6//8AAAAAAAAAAAAA
           AAAAAAAAAAAAAAAAAAAAAAAAAAAA
           AAAAAAAAAAAAAAAAAAAAAAAAAAAA
           AAAAAAAAAAAAAAAAAAAAAAAAAAAA
           AAAAAAAAAAAAAAAAAAAAAAAAAAAA
           AAAAknATeQMAAwAUgG4BhP8TnwAv
           gB8APwtRAAIABAAAAAAAAAAAAAAA
           AAAAAAAAAAAAAAAAAAAAAAAAAAAA
           AAAAAAAAAAAAAAAAAAAAAAAAAAAA
           AAAAAAAAAAAAAAAAAAAAAAAAAAAA
           AAAAAAAAAAAAAAAAAAAAAAAAAAAA
           AAAAAMeQ
           </data>
           <key>0610ae06</key>
           <data>
           AP///////wAGEAeuAAAAABsZAQS1
           PCJ4IAAAAAAAAAAAAAAAAAABAQEB
           AQEBAQEBAQEBAQEBAAAAEAAAAAAA
           AAAAAAAAAAAAAAAAEAAAAAAAAAAA
           AAAAAAAAAAAA/ABpTWFjCiAgICAg
           ICAgAAAAAAAAAAAAAAAAAAAAAAAA
           AaZwE3kDAAMAFIBuAYT/E58AL4Af
           AD8LUQACAAQAf4EY+hAAAQEAEnYx
           /HixmQIQiGLT+vj4/v//AAAAAAAA
           AAAAAAAAAAAAAAAAAAAAAAAAAAAA
           AAAAAAAAAAAAAAAAAAAAAAAAAAAA
           AAAAAAAAAAAAAAAAAAAAAAAAAAAA
           AAB3kA==
           </data>
           <key>0610ae0a</key>
           <data>
           AP///////wAGEAuuAAAAABoZAQS1
           PCJ4IAAAAAAAAAAAAAAAAAABAQEB
           AQEBAQEBAQEBAQEBAAAAEAAAAAAA
           AAAAAAAAAAAAAAAAEAAAAAAAAAAA
           AAAAAAAAAAAA/ABpTWFjCiAgICAg
           ICAgAAAAAAAAAAAAAAAAAAAAAAAA
           AaNwE3kDAAMAFIBuAYT/E58AL4Af
           AD8LUQACAAQAf4EY+hAAAQEAEnYx
           /Hix/wIQiGLT+vj4/v//AAAAAAAA
           AAAAAAAAAAAAAAAAAAAAAAAAAAAA
           AAAAAAAAAAAAAAAAAAAAAAAAAAAA
           AAAAAAAAAAAAAAAAAAAAAAAAAAAA
           AAARkA==
           </data>
           <key>index</key>
           <integer>0</integer>
       </dict>
       <key>unload</key>
       <false/>
...
            <key>ConfigMap</key>
            <dict>
...
   <key>Mac-42FD25EABCABB274</key>
   <string>Config2</string>
...
   <key>Mac-65CE76090165799A</key>
   <string>Config2</string>
...
   <key>Mac-B809C3757DA9BB8D</key>
   <string>Config2</string>
...
   <key>Mac-F60DEB81FF30ACF6</key>
   <string>Config1</string>
   <key>Mac-FA842E06C61E91C5</key>
   <string>Config2</string>
...

For non-Apple hardware, This can cause your GPU not to send a signal to your monitor (black screen) at boot while using the MacPro6,1 (Mac-F60DEB81FF30ACF6 board-id), or iMac15 (Mac-42FD25EABCABB274 or Mac-FA842E06C61E91C5 board-ids), or iMac17 (Mac-65CE76090165799A or Mac-B809C3757DA9BB8D board-ids) system definitions. If this is happening to you, your system will still be responsive but have no signal coming from the GPU's ports to the monitor.

How to verify that your system is functional except for video:

1. Share the screen from another Mac on your network to control the system and verify that it is functional and responsive (you must have Screen Sharing enabled). NOTE: You should be able to boot using nv_disable=1 to enable screen sharing if you have a Nvidia GPU.

2. Use a keyboard shortcut to verify that the system is responsive:
• On a Apple keyboard, the eject key will open and close my optical drive.
• On a Apple keyboard, the play button will launch iTunes and hitting it a 2nd time will start playback depending on what state the app was in when I quit it last.
• On a Apple keyboard, control + eject will bring up the the "Shut Down" dialog window with the default button being "Shut Down". When you hit enter/return it causes the default button to activate and the system will shut down properly.
• Holding down control + option + command and then pressing the power button on your case or mobo quickly (less than 1 second) will cause open apps to quit and the system will shut down properly. NOTE: Holding down the power button for 5 seconds will cause the system to hard power off and this is not proof of response from OS X (this is how you force a frozen system to power off).

If your system is unresponsive (frozen) with a black screen, the fixes outlined here probably won't help you.

Fixes:

PikeRAlpha outlined a fix for MacPro6,1 in his blog post on May 1st, 2014 where he changed Config1 to none in the above mentioned info.plist. This seems to work for the iMac15/17s as well by changing Config2 to none.


Many people have been looking for a Clover "on the fly" info.plist patch to be done at every boot but it fails because Clover's info.plist patches are only visible in the kext caches and it doesn't change the actual info.plist file. It seems that more than one kexts are reading the ConfigMap from the info.plist in it's actual file path, so putting "none" in the kext cache changes nothing. This also makes it impossible to use the dummy kext method. Even if you get a dummy kext with a patched info.plist to load instead of the original kext, the info.plist will still be read from the original kext's file path.

Pike came to the rescue (sort of) again on November 23rd, 2015 with a Clover "on the fly" binary patch for the AppleGraphicsDevicePolicy.kext
Code:
            <dict>
                <key>Comment</key>
                <string>AppleGraphicsDevicePolicy (board-id) Patch (c) Pike R. Alpha</string>
                <key>Find</key>
                <data>
                Ym9hcmQtaWQ=
                </data>
                <key>Name</key>
                <string>AppleGraphicsDevicePolicy</string>
                <key>Replace</key>
                <data>
                Ym9hcmQtaXg=
                </data>
            </dict>
This patch changes board-id to board-ix in the binary file but only seems to give the desired result if you have 1 discreet GPU. I have have 2. With 2 GPUs, one always unloads and it's unpredictable which one will work. Some people with only 1 GPU also have issues with this patch.

EDIT (03/01/2017):
vit9696 offered a new solution for those who want an easy fix. I haven't tested this but it sounds like it bypasses the offending functionality of Apple Graphics Display Policy. Because it is a separate pair of kexts, it should not require any actions (re-patching) after updates. Install the Lilu.kext & NvidiaGraphicsFixup.kext in /Volumes/EFI/EFI/CLOVER/kexts/Other. It says it's for MacPro6,1 but omrij confirms it works for iMac15 and pastrychef confirms it works for the iMac 17 board IDs as well.


My last easy solution is a AppleScript app (AGDPfix.app) that patches the OEM kext's info.plist via shell scripts. OS X updates usually cause the kext to be overwritten/updated so the app must be run again after updating OS X, but it's a lot easier than manually patching the info.plist every time. I originally created v1.0 for MacPro6,1 only but have now updated it to v1.1 for use with iMac15/17 sys defs as well. Feel free to download and use the app attached below. NOTE: You will need to use the boot argument kext-dev-mode=1 for 10.10 Yosemite, disable SIP or use kext-dev-mode in 10.11 El Capitan and 10.12 Sierra.

My preferred method. For those of you using MacPro6,1 and willing to get a little more geeky, assigning the name GFX1 to your GPU in your ACPI tables (DSDT or SSDT) will also work without the need to patch any kexts and you won't need to worry about re-patching anything after OS X updates unless Apple changes the device policy again (credit : dgsga and furter).

In this pic from IORegistryExplorer you can see the AppleGraphicsDevicePolicyControlClient loaded on my second GPU (GTX 980) installed in PCI slot 4 (NPE7):
175050-agdp-loaded.png

In this state, it will not send a video signal from any of it's ports.

In the next pic you can see that I have injected my GTX 980 as GFX1 in NPE7 and AGDPCC is no longer loaded to it:
175051-agdp-not-loaded.png

Now all ports are functional. It's also worth noting that I have my 1st GPU (GTX Titan X) injected as GFX1 as well.

If you currently have GPU injection via DSDT or SSDT, it's as easy as changing the name. Open your DSDT or SSDT in your editor of choice (I prefer MaciASL) and change GFX0, PXSx, PEGx, or whatever it's name currently is to GFX1. Click compile and save it. If you don't currently have have your GPU injected in your DSDT or a SSDT, see this Guide to create one or more SSDTs for your GPU/s. If your ACPI tables assign specific names to PCI devices when they are installed, It is also possible to rename your DSDT's/SSDT's current GPU device name using clover's ACPI patching function. However, some ACPI table sets don't have a dedicated names for installed PCI devices and when the GPU loads, it gets the name "display@0" under IOPP. See RehabMan's excellent guide here.

You should also read this post if you feel you might be having other Nvidia Web Driver related issues: Solving NVIDIA Driver Install & Loading Problems However, The solutions outlined here will solve problem 4.

I'm with a kaby lake setup and using a sierra suported def (iMac 18,2 as per my hardware specs) and this fix won't work, I still get the black screen after the boot.

I have lilu/nvidia fix, webdriver installed uefi64 on acpi drivers (problem 6 nvram) and have installed this fix but no luck.
 
Last edited:
I'm with a kaby lake setup and using a sierra suported def (iMac 18,2 as per my hardware specs) and this fix won't work, I still get the black screen after the boot.

I have lilu/nvidia fix, webdriver installed uefi64 on acpi drivers (problem 6 nvram) and have installed this fix but no luck.
same issue here
 
Back
Top