[Fix] Pink Screen on Intel HD 530, 540, 550, 630, 640, 650 and UHD 630 on macOS Sierra and later

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Motherboard
GIGABYTE Z370 AROUS GAMING 3
CPU
Intel Core i9 9900K
Graphics
2xAMD RX 580 8GB
OS X/macOS
10.15.x
Bootloader
Clover (UEFI)
Mac
MacBook Pro
Mobile Phone
Android, iOS
Some users are having a issue of pink screen after fixing their Graphics. This guide will fix the pink screen on your Hackintosh. This fix is for Hackintosh users who are having one of these above Graphics.

Before you start with this guide, get to know about the real issue. After fixing the Graphics, the QE/CI is available and the Graphics works. But the issue is the screen is totally pink and some lags and artifacts are there. This is happening with the HDMI connection.

In my previous post, i mentioned the fix which was to change the SMBIOS. The another fix was to use a RGB forcing method. However, both the fixes work and you get rid of pink screen but the method doesn't seems solid to me.

When diving deep into the issue, i found what the exact issue was. When connecting HDMI, the connector is listed as a DP port. That's the cause of pink screen. Once you change it to HDMI, the issue will be fixed.

The following Intel GPU are supported
  • Intel HD Graphics 530
  • Intel HD Graphics 540
  • Intel HD Graphics 550
  • Intel HD Graphics 630
  • Intel HD Graphics 640
  • Intel HD Graphics 650
Requirements
  • Any of the above Supported Intel HD Graphics
  • Original Graphics kexts in S/L/E
  • macOS Sierra 10.12.6 or later
So assuming that you've fixed your Graphics, follow the steps below.

Checking Connectors in IOReg

Open your IOReg and type IGPU in the search bar. Sometimes, the IGPU node is available as GFX0. If the GPU rename has been done, it will be available as IGPU. If not, GFX0.

You should see something similar like in the attached screenshot.
Screenshot 2019-11-26 at 4.25.59 PM.png

Once you have located IGPU node, you can clear the search to get the complete node info.
Screenshot 2019-11-26 at 4.29.03 PM.png

If you check, in the above screenshot, we have some AppleIntelFramebuffer connectors listed. You need to locate your current connector which is driving your display. A simple way to find this out is to just find the connector having AppleDisplay properties with display 0 sub node. In our case, it is AppleIntelFramebuffer@2. Your system can have a different one. Make sure to locate the connector which drives your display and the idea to find it out is connector having AppleDisplay properties.

Select the AppleIntelFramebuffer@2 from the left pane and you'll have the connectors and other properties and info listed.
Screenshot 2019-11-26 at 4.36.16 PM.png

If you check, in the above screenshot, we have some AppleIntelFramebuffer@2 selected. Now you need to find the value for the "connector-type" property. The above screenshot has a property of "<00 04 00 00>". This is current connector type set originally. The connector type can have different values which are listed below.

  • <00 04 00 00> - DisplayPort
  • <00 08 00 00> - HDMI
  • <04 00 00 00> - DVI
  • <02 00 00 00> - LVDS (for laptops)
  • <01 00 00 00> - Dummy port
So we are using HDMI but the connector is defined as DisplayPort which is the actual cause which i also mentioned earlier. We can use WEG's patching feature to change the connector-type.

Changing the connector-type

All we need to do is to enable the port to which the active display is connected which is AppleintelFramebuffer@2 and then set the connector-type to HDMI resulting in fixing the issue.
Following are the listed properties which will be used in Devices/Properties in config.plist.

  • framebuffer-conX-enable = 01000000
  • framebuffer-conX-type = 00080000
Note: You need to replace the conX with the value of the Framebuffer which can be obtained from the AppleIntelFramebuffer@ whatever digits you have. In our case it's Apple IntelFramebuffer@2 means the conX value is 2.

The modified properties will be the following
  • framebuffer-conX-enable = 01000000
  • framebuffer-conX-type = 00080000
Upon replacing and making the entries in your config.plist, it will look something like this. To make it clear, i've highlighted the entries.
Screenshot 2019-11-26 at 4.51.57 PM.png


After making the changes, save your config.plist and restart your system. The pink screen should be fixed now.
To confirm thee changes, open your IOReg again and look for the connector-type with the active display.
Screenshot 2019-11-26 at 4.57.21 PM.png

Now you will notice that the connector-type has been changed from <00 04 00 00> to <00 08 00 00> meaning from DisplayPort to HDMI.

Problem Reporting

Details
:
  1. Intel HD Graphics model
  2. macOS version
  3. Copy of IOReg
Screen shots :
  • DPCIManager/Status
  • About This Mac
  • System Information/Graphics/Displays
Clover Files :
  • Compress EFI/Clover, exclude the themes folder. Do not include complete EFI folder.
Put all files in a folder with your name, compress files as Zip and attach files using site attachments only. Do not use any external links.
 

iJamesGC

New member
Joined
Sep 3, 2020
Motherboard
GA-Z270N-Gaming 5
CPU
Intel i5-7600K
Graphics
Intel HD 630
OS X/macOS
10.15.x
Bootloader
OpenCore
Mac
iMac
Mobile Phone
iOS
This worked for me with great success and cheers and happiness. Unfortunately after another reboot a very bizarre and as yet unresolved issue occurred. The display 0 sub node has disappeared. Now post boot the login screen appears and disappears. I can still use Screen Sharing.app to access the new pc however both HDMI and DP are showing the blank screen after boot up. I have been unsuccessful in obtaining a screen shot of:
  • DPCIManager/Status
Intel HD 630
Catalina 10.15.6
 

Attachments