Contribute
Register

[GUIDE/Workaround] Using Intel HD530 with Dual Monitors

wildwillow

Moderator
Joined
Jun 26, 2012
Messages
4,569
Motherboard
Z170 Deluxe
CPU
i5-6600K
Graphics
GTX 970
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
  2. Other
double-imac-550x309.jpg

Since the release of 10.11.4 Intel HD530 integrated graphics are working but not out of the box with a dual monitor set up. There are further steps required for most systems to achieve this feature, this is not to say that every system will work using these methods. I decided to add the steps separately for this feature since the thread where this all began has got incredibly large with the information being harder to find although it is worth reading. You can view this here :
Skylake Intel HD 530 Integrated Graphics Working as of 10.11.4

This thread is purely for dual monitors using HD530. If you don't have Intel HD530 working correctly post to the linked thread above or in the Graphics forum. Lets keep this thread as per the title thanks.

What happens when booting with HD530 with a dual monitor setup?
If you have more than monitor connected at boot and powered on OS X/macOS does not allow you to boot to the desktop. You just about get to the login screen before the AppleIntelSKLGraphicsFramebuffer(driver) crashes, then a hard reset is needed to recover the system.

Some motherboards/port layouts require fewer steps than others to achieve dual monitor support. You should be able to start testing once you moved past step 3 fixing Apple's Graphics Display Policy and simply restart to test dual monitors.

Testing Requirements:
  • ig-platform-id - 1912000
  • Only digital connections i.e DisplayPort(DP), HDMI or DVI.
  • Do not use VGA or VGA adapters/monitors. Digital adapters/cables ok i.e DP to HDMI/HDMI to DVI
  • One monitor connected at boot to allow OS X/macOS to reach the desktop.
  • Boot each monitor individually knowing that each connected port can get to the desktop.
  • 2nd monitor connected(hot plugged) once at the desktop only.
One monitor will act as your primary monitor and what ever steps you take the 2nd monitor will not display a picture when hotplugged so you may need to boot with you other monitor as primary. If this is not the primary monitor you want, you can change your main display in System preferences > Displays > Arrangements and drag the top blue bar over to make it primary.
set-primary-monitor-mac.png

Some port layouts can live without the 4th Display patch, since this is a harmless patch it will be part of the method for all motherboards. The reason for this patch - certain motherboard/port layouts 1st port or only digital port is attached to an unused connector in the AppleIntelSKLGraphicsFramebuffer.kext which is port0x0.

Skip any steps that you've already implemented(no duplicates so check your config.plist items first).

Step 1
Add the 4th display to your config.plist: Credit - toleda.
Location: config.plist/KernelsAndKextPatches/KextToPatch
Add an item :
Comment : 10.11.4+SKL-1912000-4_displays
Find : <01030303>
Name : AppleIntelSKLGraphicsFramebuffer
Replace : <01030403>
Screen Shot 2017-02-04 at 10.00.56.png

Now you should have your first port attached to a working connector.
Native 1912000 Framebuffer connectors:
Code:
port0x0 FF0000000100000020000000 unused
port0x5 010509000004000087010000 DP
port0x6 02040A000004000087010000 DP
port0x7 03060A000004000087010000 DP

Step 2
If you've installed HDMI audio for HD530 skip this step:
Rename GFX02IGPU:
Location : config.plist/ACPI/DSDT>Patches:
Add an item
Comment : 10.8+-RenameGFX02IGPU
Find <47465830>
Replace <49475055>
Screen Shot 2017-02-04 at 10.29.33.png

Step 3
Fix Apple's Graphics Display Policy :
Run the App(v.1.3) at the bottom of Post #1 here : Credit Shilohh Black Screen with MacPro 6,1 or iMac 15 or iMac 17 System Definition This will allow a picture to be displayed on your secondary monitor if a framebuffer connector edit is not required.

Now you can reboot and test the hotplug method. Test each monitor as primary and connect the 2nd. If this works for you, you are done. If it doesn't then the next step is connector edits.

Step 4
Connector edits for Skylake HD530 - 19120000

If you've already implemented HDMI using toleda's great CloverHDMI script and you're using HDMI for audio check your config.plist for a connector edit in the KernelAndKextpatches/KextsToPatch section.

Tools : IORegistry Explorer.
Download at the bottom of Post #1 https://www.tonymacx86.com/threads/guide-how-to-make-a-copy-of-ioreg.58368/

If neither of your secondary monitors are displaying a picture when connected/hotplugged it may be that the connector doesn't match your port. As seen in the native framebuffer for 1912000 above the working connectors are 3xDP. If either of your displays or secondary displays are HDMI or DVI (not DP) it is possible to patch the connector through Clover's on fly patching which is also easy to revert without physically editing any kexts.

An example to find what port you're attached to:
Boot connected individually to either your DVI or/and your HDMI monitor. Once at the desktop open IORegistry Explorer and look for IGPU (as we renamed it in Step 2). Screen shot below is an example of what you'll see, You can see display0 in the window and above it AppleIntelFramebuffer@1(highlighted). In the Property window to the right you can see that I've scrolled to see the port number which is port0x5 (at the bottom):
Screen Shot 2017-02-04 at 11.46.12.png
Now that you know the port number you can add a patch/connector edit to your config.plist. The above will work for you on any of the active connectors in the 1912000 Framebuffer once you've verified the port you are attached too.

Step 5 config.plist connector patches - 1912000
Note: HDMI and DVI are the same.

Here are all three patches for the active connectors. Procedure : find the connector port as described above and add the corresponding patch.
Location : config.plist/KernelAndKextPatches/KextsToPatch.

port0x5:
Comment : 10.11.4+-SKL-port_0x5-DP2HDMI
Find <01050900 00040000 87010000>
Name : AppleIntelSKLGraphicsFramebuffer
Replace <01050900 00080000 87010000>
Screen Shot 2017-02-04 at 11.35.18.png
port0x6
Comment : 10.11.4+-SKL-port_0x6-DP2HDMI
Find <02040a00 00040000 87010000>
Name : AppleIntelSKLGraphicsFramebuffer
Replace <02040a00 00080000 87010000>
Screen Shot 2017-02-04 at 11.37.59.png
port0x7
Comment : 10.11.4+-SKL-port_0x7-DP2HDMI
Find <03060a00 00040000 87010000>
Name : AppleIntelSKLGraphicsFramebuffer
Replace <03060a00 00080000 87010000>
Screen Shot 2017-02-04 at 11.37.03.png

Verify your connector edits. On my Asus Z170 Deluxe my attached connector on port0x5 is DP so no edits required yet my HDMI port is port0x6. So here is a before and after the config.plist AppleIntelSKLGraphicsFramebuffer.kext-port0x6 patch.

Before you'll see the connector-type as <00 04 00 00> which is DP (port0x6).
Screen Shot 2017-02-04 at 11.49.17.png

After you'll see the connector-type as <00 08 00 00> which is HDMI (port0x6).
Screen Shot 2017-02-04 at 11.51.40.png

Hopefully these workarounds should work for you and HD530 dual monitors. Not every system works but I've heard more success stories than failures.

Lucky workaround NOTE: Depending on your monitor it maybe possible for you to switch on your second monitor after the System has POST since it doesn't get initialised, it then boots normally into OS X (this works with my secondary monitor), some monitors are able send signals when powered and connected even when switched off which don't work this way. If you have any workarounds regarding HD530 dual monitors please post below as we'd all like to hear them thanks.
 
Last edited:
Joined
Jun 12, 2013
Messages
25
Motherboard
GA-B250M-D3H
CPU
i7-7700K
Graphics
HD 630 GT2
Mac
  1. iMac
Mobile Phone
  1. iOS
Thanks! The framebuffer DP2HDMI patch is exactly what I am looking for to make the GA-Z170-HD3 built-in HDMI port with HD 530 to have 2K resolution output!

With InjectIntel + ig-platform-id 0x1912000 and patch port 0x5 from DP to HDMI, now I can have 2k resolution!:headbang:
 
Joined
Oct 3, 2016
Messages
3
Motherboard
Asus Z170-A
CPU
i7 6700K
Graphics
Intel HD530
Mac
  1. MacBook Pro
  2. Mac Pro
Mobile Phone
  1. iOS
Hi,

I am trying to do the AGDP patch, but the app says SIP is enabled. I have booted into recovery partition and ran csrutil disable, yet the csrutil status says:

System Integrity Protection status: enabled (Custom Configuration).


Configuration:

Apple Internal: disabled

Kext Signing: disabled

Filesystem Protections: disabled

Debugging Restrictions: enabled

DTrace Restrictions: enabled

NVRAM Protections: enabled

BaseSystem Verification: enabled


Any advice? The posts labeled disabled seems like the ones I need disabled.

I am on Sierra.
 

wildwillow

Moderator
Joined
Jun 26, 2012
Messages
4,569
Motherboard
Z170 Deluxe
CPU
i5-6600K
Graphics
GTX 970
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
  2. Other
Hi wrenchse,

Welcome to the forums. Please fill out your profile with your primary build that you agreed to when you registered. This will help us help you. In your config.plist/RtVariables > set CsrActiveConfig to 0x67. This will disable SIP entirely, restart and run the AGDPFix App(v1.3).
 
Joined
Oct 3, 2016
Messages
3
Motherboard
Asus Z170-A
CPU
i7 6700K
Graphics
Intel HD530
Mac
  1. MacBook Pro
  2. Mac Pro
Mobile Phone
  1. iOS
Hi again, sorry about signature, could have sworn I added one when signing up.

I have all the patches etc implemented but unfortunately it doesn't work for me.

I have a New DP 1440 screen and an Old 1080 DVI-D.
DVI is on port 0x7 and patched accordingly, showing 00 08 00 00 as connector type.
If starting with Old and hot plugging New, New gets picture but old loses it, with "signal not supported" or something similar.
If starting with New and hot plugging Old, both screens go dark, however without any signal messages on either.
 

wildwillow

Moderator
Joined
Jun 26, 2012
Messages
4,569
Motherboard
Z170 Deluxe
CPU
i5-6600K
Graphics
GTX 970
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
  2. Other
Your 1440 is an Ultra Wide monitor? Try lowering the resolution on this screen to the same as your old monitor and see if you can hot plug your old screen. The issue here is when a second display is connected it results in 'mirroring', hence the 'mode not supported' If this allows you to use 2 monitors you'll be able to use each monitor independently of each other and then you should be able to set the resolution higher on your new monitor.
I had the same instance when using a 4K and 1080P monitor connected to HD530.
 
Joined
Oct 3, 2016
Messages
3
Motherboard
Asus Z170-A
CPU
i7 6700K
Graphics
Intel HD530
Mac
  1. MacBook Pro
  2. Mac Pro
Mobile Phone
  1. iOS
Um.. WOW.. It's working! I did not have 1080 as an option for my 1440 (not ultra wide btw). 720p would cause same problem, but using 1600x900 did the trick. As soon as I plugged in, it switched my new back to 1440 and old is instantly 1080.

Will do more tests, but I am assuming I need to do the resolution trick each time now?
 

wildwillow

Moderator
Joined
Jun 26, 2012
Messages
4,569
Motherboard
Z170 Deluxe
CPU
i5-6600K
Graphics
GTX 970
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
  2. Other
Great, you'll have to do some tests regarding restarts, generally when you chose to use a monitor as a separate display macOS remembers not to mirror. I tested different scenario's before putting up the guide and of course the one you just encountered was one of them. I didn't add this to the first post since very few use dual 4K. Although later this month I'll test with 2 4K monitors. Let me know how you get on with your restarts. Fingers crossed.
 
Joined
Jan 12, 2014
Messages
4
Mac
Classic Mac
Mobile Phone
This is a bit annoying. I've gotten dual monitors to work twice, seemingly random. I have a miniDP <-> DP cable connecting my Acer G257HU and and HDMI cable connecting my Asus VG248QE. I've identified that each port is identified correctly (as DP or HDMI.) You'll see in my config.plist the I needed to tell my HDMI port to be HDMI instead of DP. I've also patched that graphical kext, and have other patches in the config.plist. I'm sure I'm doing something wrong, but I've gone over you post several times and unable to figure it out.

http://pastebin.com/z0pQrnJM

Could you please help me identify what I might being doing wrong?
 

wildwillow

Moderator
Joined
Jun 26, 2012
Messages
4,569
Motherboard
Z170 Deluxe
CPU
i5-6600K
Graphics
GTX 970
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
  2. Other
This is a bit annoying. I've gotten dual monitors to work twice, seemingly random. I have a miniDP <-> DP cable connecting my Acer G257HU and and HDMI cable connecting my Asus VG248QE. I've identified that each port is identified correctly (as DP or HDMI.) You'll see in my config.plist the I needed to tell my HDMI port to be HDMI instead of DP. I've also patched that graphical kext, and have other patches in the config.plist. I'm sure I'm doing something wrong, but I've gone over you post several times and unable to figure it out.

http://pastebin.com/z0pQrnJM

Could you please help me identify what I might being doing wrong?
Hi godman740,
Please fill out your profile with your primary build that you agreed to when you registered. This will help us help you.
You can attach your config.plist here using the Upload a File feature, no need to use a 3rd party site. What do you mean you have patched the graphical kext? Do you mean via your config.plist.
What is happening with your system when connecting a second display?
 
Top