Contribute
Register

[GUIDE] General Framebuffer Patching Guide (HDMI Black Screen Problem)

Joined
Aug 31, 2018
Messages
8
Motherboard
LENOVO TC-O3X
CPU
i7-8700T
Graphics
UHD 630 + HD 530
@Hex0S,

Is this a Lenovo Desktop or Laptop system ?

Cheers
Jay
It is monoblock. I think, it based on laptop hardware. I have one HDMI in and one HDMI out on it. HDMI in , I think, is not part of motherboard, it is part of LVDS display.
kernel WhateverGreen: igfx @ SC: AdvSeekI2COverAUX() Error: Failed to start the I2C transaction. Return value = 0xe00002d6.
kernel WhateverGreen: igfx @ SC: AdvReadI2COverAUX() Error: Failed to set the data offset.
kernel WhateverGreen: igfx @ SC: LSPCON::probe() Error: [FB1] Failed to read the LSPCON adapter info. RV = 0xe00002d6.
kernel WhateverGreen: igfx @ SC: fbSetupLSPCON() Error: [FB1] Failed to probe the LSPCON adapter.
kernel WhateverGreen: igfx @ SC: fbSetupLSPCON() Error: [FB1] Abort the LSPCON driver initialization.
 
Joined
Aug 31, 2018
Messages
8
Motherboard
LENOVO TC-O3X
CPU
i7-8700T
Graphics
UHD 630 + HD 530
@Hex0S,

Is this a Lenovo Desktop or Laptop system ?

Cheers
Jay
This is Lenovo Thinkcentre Monoblock. It has only one HDMI out and one HDMI in (I think it not from motherboard.)
kernel WhateverGreen: igfx @ SC: AdvSeekI2COverAUX() Error: Failed to start the I2C transaction. Return value = 0xe00002d6.
kernel WhateverGreen: igfx @ SC: AdvReadI2COverAUX() Error: Failed to set the data offset.
kernel WhateverGreen: igfx @ SC: LSPCON::probe() Error: [FB1] Failed to read the LSPCON adapter info. RV = 0xe00002d6.
kernel WhateverGreen: igfx @ SC: fbSetupLSPCON() Error: [FB1] Failed to probe the LSPCON adapter.
kernel WhateverGreen: igfx @ SC: fbSetupLSPCON() Error: [FB1] Abort the LSPCON driver initialization.
 

jaymonkey

Moderator
Joined
Aug 27, 2011
Messages
3,563
Motherboard
ASRock-Z97 EX6
CPU
i7-4790K OC @ 4.8GHz
Graphics
Vega 64LC + HD4600
Mac
MacBook Air, MacBook Pro
Mobile Phone
Android, iOS
This is Lenovo Thinkcentre Monoblock. It has only one HDMI out and one HDMI in (I think it not from motherboard.)

@Hex0S,

I'm not familiar with that system/model at all ... is it some sort of All-In-One (AIO)?

You say it has a AMD HD 530 dGPU ... it could be that the HDMI out port is driven by the dGPU (a common configuration in some other Lenovo systems), the only way to find out for sure is to try and find a schematic for the system .. (maybe in a service manual) the fact that the system has a HDMI in makes me suspect that this is the case.

If the HDMI Out is connected to the IGPU then it should be possible to get it working, if the HDMI Out is connected to the dGPU then your out of luck as unfortunately AMD HD 530 is not supported in MacOS.

I would try and conform which GPU the HDMI port is connected to before going any further.

Cheers
Jay
 
Joined
Aug 28, 2012
Messages
62
Motherboard
GA Z390 AORUS PRO
CPU
i9-9900K
Graphics
Vega 64
Mac
iMac, MacBook, MacBook Air, MacBook Pro, Mac mini, Mac Pro
Classic Mac
512K, iMac, LC, Plus, Portable, Power Mac, PowerBook, Quadra, SE, Xserve
Hi Casey, et al,

Asrock Fatal1ty Z379 Gaming-ITX/AC
I7-8700(nonK) @ 3.20
Intel 630, NO DGPU
32GB RAM
OSX 10.14.2

EDIT: The "CRASHESONBOOT" config.plist file I posted earlier won't open in Clover Configurator. IT gives me an 'unexpected EOF' error. I then re-inserted the patch using the text mode in Clover Configurator. The computer now boots to the login screen, and the green flicker shows up a few seconds after I've logged in (using the KVM). That newest config.plist is now attached to this post as noted below.

Forgive me if this post sprawls a little bit, I need to describe the underlying issue that brought me to this thread in order to give full context to my issues. I'll try to describe everything as clearly as possible.

The underlying gremlin that I'm *hoping* a patched frame buffer will fix - this computer works great when directly connected to a monitor via Displayport, HDMI, or both at the same time. When I try and use my fancy Displayport KVM (Belkin F1DN104Q-3, which is DP input and HDMI output for some confusing reason), the Hack outputs a video signal plagued by an awful green flicker as shown in this video I posted
that makes it unusable. The Hack boots via clover and Verbose mode seemingly OK, but the flicker shows up as soon as the login screen comes up. I've tried both real Macs and Windows PC's, and they work great with this KVM. Only the Hack has this issue with the KVM. (as a background, this KVM is one of the only ones I found that offer quad monitor support, which I don't need for the Hack, per se, but my windows machine at this desk is my CAD/rendering workstation, which is 3 monitors, so I needed this otherwise overkill KVM)


I'm unable to follow the guide verbatim for the following reasons:
- Hackintool 2.8.6 is newer/different layout, and has more options in the General & Advanced Patch tabs, such as "EDID" & "Use Intel HDMI"
- Hackintool won't let me select/save the patched config.plist in EFI/CLOVER. It's greyed out, so I manually pasted the patch text into my config.plist via bbedit.

When following the guide, In the connectors tab, I plug around with my monitors (directly connected, not via the KVM) and look at my connectors tab, both my DP and HDMI seem to be showing up correctly.

A couple side notes:

If, without finishing the Hackintool patch from this guide, I ONLY change the device ID from 0x0 to 0x3E92 using Clover Configurator, the system boots, and DP video works as I want it to via my KVM, BUT it's unaccelerated and buggy.

I've also tried all the different Darkwake settings in Clover, hoping that that was the problem. I think it's somewhat related, because a couple of the Darkwake settings allowed the Hack to work via the KVM as I wanted, but sleeping botched it, or it was inconsistent in working/not upon boot or wake.

I've attached screenshots of my Hackintool settings, as well as three config.plist files. "GREEN_FLICKER" is the file that boots, and works great with directly connected monitors, but not with my fancy KVM. "config-PATCHED_GREENFLICKER_UPON_LOGIN" is the one with the patched Framebuffer from Hackintool. "no-greenflicker-NO_acceleration" is the one with the device ID changed to 0x3e92

I've been playing around with some other settings, but my head is spinning with all the options (I'm definitely not a coder ; ), so I'm hoping that there's an obvious fix to my gremlin, and that I've been concise enough in my description to provide enough info to help.

Thanks!!!

AJ
 

Attachments

Last edited:
Joined
Nov 10, 2018
Messages
12
Motherboard
Lenovo ThinkPad T440
CPU
i5-4300U
Graphics
HD4400
@CaseySJ, thanks for the guide, I have two connectors from my motherboard HDMI & VGA. HDMI is working, but VGA has no output. Just want to ask if it is possible to work with my VGA, need your help...regards!
 

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
7,518
Motherboard
Gigabyte Designare Z390
CPU
i7-9700K
Graphics
RX 5700 XT
Mac
MacBook Air, Mac Pro
Classic Mac
Quadra
Mobile Phone
iOS
Hi Casey, et al,

Asrock Fatal1ty Z379 Gaming-ITX/AC
I7-8700(nonK) @ 3.20
Intel 630, NO DGPU
32GB RAM
OSX 10.14.2
...
I'm unable to follow the guide verbatim for the following reasons:
- Hackintool 2.8.6 is newer/different layout, and has more options in the General & Advanced Patch tabs, such as "EDID" & "Use Intel HDMI"
- Hackintool won't let me select/save the patched config.plist in EFI/CLOVER. It's greyed out, so I manually pasted the patch text into my config.plist via bbedit.
Hello @ajemutt

Even though you'll see grayed-out config.plist when exporting a patch, Hackintool will still export the patch to that grayed-out file! We just need to click on the file anyway and export the patch.

The ASRock Fatal1ty Z390 Gaming-ITX/AC needs these settings (from Post #1, Compilation of Patches...):

Screen Shot 2019-11-14 at 4.44.27 AM.png

I've entered these patched into your config.plist (attached). Please give it a try...
 

Attachments

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
7,518
Motherboard
Gigabyte Designare Z390
CPU
i7-9700K
Graphics
RX 5700 XT
Mac
MacBook Air, Mac Pro
Classic Mac
Quadra
Mobile Phone
iOS
@CaseySJ, thanks for the guide, I have two connectors from my motherboard HDMI & VGA. HDMI is working, but VGA has no output. Just want to ask if it is possible to work with my VGA, need your help...regards!
Have you followed the Guide in Post #1? If so, which rows turn red in Hackintool?
 
Joined
Nov 10, 2018
Messages
12
Motherboard
Lenovo ThinkPad T440
CPU
i5-4300U
Graphics
HD4400
Have you followed the Guide in Post #1? If so, which rows turn red in Hackintool?
Yes did follow the guide carefully...no rows lit up upon connect/disconnecting VGA port, but when I try to use index 0 busID 0x00 new row turns red and when I check display from hackintool tab, I can see my 2nd monitor, new row turns red even I connect/disconnect my VGA though
 
Joined
Oct 19, 2019
Messages
24
Motherboard
Gigabyte Z390 Aorus Pro WiFi
CPU
i7-9700K
Graphics
UHD 630
General Framebuffer Patching Guide using Hackintool

15 Jan 2019: Intel FB-Patcher has been renamed to Hackintool.
19 Jan 2019: Guide overhauled. Please be aware of possible HDMI hot-plug issues. After boot you may have to unplug and replug HDMI cable.
02 Feb 2019: Screenshots updated for new Hackintool GUI design and added Step 16 to "disablegfxfirmware".
12 Mar 2019: Hackintool v2.0.9 and newer incorporates the various connector patches from the Compilation of Patches for Various Motherboards below. See that section for details!


About this Guide
If you have a relatively recent motherboard with an Intel iGPU, and on-board HDMI is not working, here's a general guide that may help. This guide is meant to supplement -- not replace -- existing framebuffer patching guides.

Do you have a 360, 370, or 390 series motherboard with desktop Coffee Lake processor, either HDMI or DP monitor, and a Gigabyte, ASUS, ASRock, or MSI motherboard and want to try your luck with a pre-built framebuffer patch? Then check out Compilation of Patches for Various Motherboards at the end of this Guide.

This guide is best suited to relatively new, modern components. This includes (a) modern CPU, (b) modern motherboard, and most importantly, (c) modern monitor. A large number of problems are due to the use of televisions, old monitors, or monitors without DisplayPort 1.2+ or HDMI 1.4+ support.

The primary purpose of this Guide is to activate the on-board HDMI port on your motherboard with the intention of using that port to drive a single monitor. This guide does not recommend using a multi-monitor setup with the iGPU. Multi-monitor setups are best handled by discrete AMD graphics cards.

Contents
This guide is organized into the following sections. You may jump to any section by clicking on the link.
  1. Theory
  2. Preflight Checklist
  3. Preparation
  4. Procedure
  5. Finishing Up
  6. References
  7. Compilation of Patches for Various Motherboards
  8. Help Others
Theory
There are many motherboards available from ASRock, ASUS, EVGA, Gigabyte, MSI and others. The on-board video ports on these boards come in many different combinations. Some boards offer one HDMI and two DPs. Some boards offer two HDMIs. Others may provide DVI and VGA as well. (But note that there is no support for VGA even if the motherboard has a VGA connector.) Update: We now have two confirmed cases of working VGA ports with macOS 10.14 (Mojave) and Coffee Lake CPUs. Therefore, VGA is now considered to be supported.

When MacOS initializes the iGPU display driver (called AppleIntelFramebuffer) it does not know the specific video ports on the motherboard. It doesn't know which port is HDMI, which is DVI, etc. So depending on the Platform ID you select, it makes default assumptions. For Platform ID 0x3E9B0007, for example, all ports are treated by default as DisplayPorts (VGA is also treated as DisplayPort). So if you were to connect a DisplayPort (or VGA) monitor to the motherboard, it would work right away. But if you were to connect an HDMI or DVI monitor to the motherboard, you would get no display at all -- because by default MacOS thinks those are DisplayPort connections.

Fortunately there is a relatively straightforward way to change the default port map. Every physical video port on the motherboard is associated with a port number. These port numbers are 5, 6, and 7, but they are wired to different physical ports on different boards. MacOS allows a maximum of 3 external video connections through the iGPU.

On some motherboards Port 5 may be wired to HDMI, while on others it may be wired to DP or DVI or VGA. Likewise, Ports 6 and 7 are wired to different physical ports on different boards. To solve the HDMI and DVI black screen problem, we first need to determine which ports on the motherboard are wired to HDMI (if any), which are wired to DVI (if any), and which (if any) are wired to DP or VGA.

Once we have determined the physical port mappings for the motherboard, we provide this information to MacOS by filling out a simple Framebuffer Table. Because a maximum of 3 external video ports are supported by MacOS, we can define up to 3 software connectors or "cons". Any software connector can be mapped to any physical video port.
  • The 3 software connectors are called con0, con1, and con2.
  • The 3 physical ports 5, 6, and 7 are available to us as software Indexes 1, 2, and 3.
  • Software Index 1 always refers to physical Port 5.
  • Software Index 2 always refers to physical Port 6.
  • Software Index 3 always refers to physical Port 7.
  • HDMI and DVI are considered to be the same. Set Type to HDMI for both HDMI and DVI physical ports.
  • DP and VGA are considered to be the same. Set Type to DP for both DP and VGA physical ports.
So for example:
  • If we want to inform MacOS that physical Port 6 is type HDMI, we set Index 2 to Type HDMI.
  • If we want to inform MacOS that physical Port 5 is type DVI, we set Index 1 to Type HDMI (because DVI and HDMI are equivalent in MacOS).
  • If we want to inform MacOS that physical Port 7 is type DP, we set Index 3 to Type DP.
  • If we want to inform MacOS that physical Port 7 is type VGA, we set Index 3 to Type DP (because VGA and DP are equivalent in MacOS).
But in addition to Type we also need to specify something called the BusID. Every software connector must be assigned a unique BusID, but only certain BusID values are permitted:
  • DisplayPort is the most flexible. BusIDs 0x02, 0x04, 0x05, 0x06 are permitted. Any of these values should work on any motherboard. These values apply to VGA as well.
  • HDMI is very restrictive. Only BusIDs 0x01, 0x02, 0x04, 0x06 are permitted but some motherboards will only accept one or two of these possibilities. The Gigabyte Designare Z390, for instance, only accepts 0x04.
  • DVI is the same as HDMI. The same BusIDs and even the same Type are used.
With this crash course in Ports, Connectors, Indexes, Types, and BusIDs we're ready to start...

We begin by determining the Type of each physical Port. Once we have completed this task, the rest is relatively easy. So in the beginning we have 3 answers to discover:
  • Port 5 (Index 1) is which Type?
  • Port 6 (Index 2) is which Type?
  • Port 7 (Index 3) is which Type?
The high level procedure is illustrated below.
View attachment 381014
Preflight Checklist
  1. Download Hackintool from here.
  2. Lilu and WhateverGreen must be installed.
  3. Your computer must be booted up with proper graphics Device ID and Platform ID values. These can be specified easily in Clover. Choose either Option 1 or Option 2 below.
    • Devices --> Fake ID --> IntelGFX --> Enter appropriate Device ID (e.g. 0x3E9B8086).
    • Graphics --> Inject Intel --> Check this ON.
    • Graphics --> ig-platform-id --> Click pop-up menu and choose appropriate ID (e.g. 0x3E9B0007).
    [*]
    Be sure to replace PciRoot(0x0)/Pci(0x2,0x0), AAPL,ig-platform-id, and device-id with values that are correct or appropriate for your system.
    Code:
    <key>Properties</key>
    <dict>
        <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
        <dict>
            <key>AAPL,ig-platform-id</key>
            <data>BwCbPg==</data>
            <key>device-id</key>
            <data>mz4AAA==</data>
            <key>framebuffer-patch-enable</key>
            <data>AQAAAA==</data>
        </dict>
    </dict>
  4. For most Coffee Lake desktop processors, Device ID 0x3E9B and Platform ID 0x3E9B0007 can be used. Please refer to this framebuffer patching guide to determine the appropriate values for your system. These values allow the proper display driver to be attached to the iGPU. If the default (non-accelerated) display driver gets attached instead, then this Guide will not work. Any Platform ID with all connectors set to Index = -1 is known as a headless platform, and must be avoided, such as Platform ID 0x3E920003 as shown:
    View attachment 384473
  5. But herein lies the problem: When the proper (accelerated) display driver is connected, your motherboard's HDMI and DVI ports will stop working. So you must either (1) connect your display monitor to a different but working video port on the motherboard (try DisplayPort), or (2) use a discrete (external) GPU and connect your display monitor to the discrete GPU.
  6. To determine whether the proper display driver is attached to the iGPU, run Hackintool. If GPU Info is shown properly as in the image below, then you're good to proceed. If you see GPU: ??? then start again at Preflight Check or post a request for help.
    View attachment 384472
  7. Make a list of the video ports on your motherboard (e.g. HDMI, DP, DVI-D, VGA).
  8. During the procedure we will need to test each of the video ports. So you must have monitor(s) and cables for each type of video connector. The procedure can, however, be followed even if one of the cable types is not available or supported by your monitor, but that will add a bit of guesswork.
  9. At this point your computer is booted up and running with the accelerated display driver for your iGPU. It does not matter whether you specified ig-platform-id and graphics Device ID using fields/checkboxes in Clover Configurator or by inserting Devices-->Properties. It just matters that the accelerated driver is active. But now you must clear the following settings (if they exist) from config.plist (use Clover Configurator) but DO NOT REBOOT:
    • Devices --> Fake ID --> IntelGFX --> remove any entry you might have made in this field.
    • Graphics --> Inject Intel --> uncheck the checkbox.
    • Graphics --> ig-platform-id --> remove any entry you might have made in this field.
  10. Save the config.plist and quit Clover Configurator.

Preparation
  1. Run Hackintool. From the top menu bar, select Framebuffer and choose macOS 10.14.
    View attachment 380630
  2. From the Patch menu, select Apply Current Patches and make sure the check-mark is present!
    View attachment 380730
    Note: This option displays the currently active framebuffer settings in the Connectors tab. It does not actually apply any changes to your system. But when changes are made as described later in this Guide and the system is rebooted, this option displays those settings instead of the default framebuffer settings. So if you made and applied some changes, rebooted, and did not see those changes in Hackintool, it is because Apply Current Patches was not selected. Also note that whenever you select a new Platform ID from the pop-up menu, the default settings for that platform will appear in Connectors (as it should). To see your previously applied settings, however, just select Apply Current Patches once again.
  3. Select the most appropriate Platform ID for your motherboard. See Which ig-platform-id should I use for my system. Different Platform IDs will have a different set of connectors. If you choose a headless platform ID, all connectors will have Index = -1 (all off).
    View attachment 384471
  4. In this case we select Platform ID 0x3E9B0007 and then we click the Connectors tab. This will be our main focus -- this is the connector mapping table -- where we can assign Index, BusID, Pipe, Type, and Flags. Each row in the table corresponds to a software connector. Connectors are numbered sequentially from 0. So we are looking at the mapping table for con0, con1, and con2. At this time, don't trust any of the values in this table!
    View attachment 384470 View attachment 384469
  5. If your monitor is connected to one of the on-board video ports, one of the rows will be highlighted in red. Because I used a DisplayPort cable and nothing else, only one row is highlighted. This tells me definitively that the red line belongs to a DisplayPort connection. So now I need to determine its Port number. This is done by clicking on the red row and reading Port number from the bottom right of the window.
    View attachment 384466 View attachment 384465
    Great! One down, two to go. We now know that Port 5 -- which is Index 1 -- is DisplayPort. So our discovery result looks like this:
    • Port 5 (Index 1) is DisplayPort

Procedure
  1. Keep your primary monitor connected at all times.
  2. Now connect one of the other on-board video ports to a monitor that supports that type of input. For example, if your motherboard has a DVI port, connect it now to a monitor with DVI input. Chances are that all of your DisplayPort connections will light up, but your DVI and HDMI connections may or may not light up. Do not use video adapters (e.g. DP-to-HDMI, DVI-to-HDMI, etc.) during this procedure. Instead, use straight connections (HDMI-to-HDMI, DP-to-DP, DVI-to-DVI, etc.).
  3. One of the rows in Hackintool will light up in red. Because my motherboard has 2 DisplayPort connectors, I now unplugged the cable from the first one and inserted it into the second. As soon as I did this, a different row lit up in red. And once again we need to determine Port number by clicking the red bar. In this case the port number of the second DisplayPort connector is 6.
    View attachment 384468 View attachment 384467
    Our discovery result has now expanded to this:
    • Port 5 (Index 1) is DisplayPort
    • Port 6 (Index 2) is DisplayPort
  4. Because there are only 3 video connectors on this motherboard and I know that my HDMI output isn't working, there's no point connecting an HDMI cable. But feel free to connect one and verify the black screen. Through the process of elimination we can safely conclude that Port 7 (Index 3) must be HDMI. So our discovery result now looks like this:
    • Port 5 (Index 1) is DisplayPort
    • Port 6 (Index 2) is DisplayPort
    • Port 7 (Index 3) must be HDMI
  5. Now look at the Type and Index columns. We see that all three rows are set to Type DP (DisplayPort) and the Index values are 1, 2, and 3. The first two look correct, but we have just determined that Index 3 must be HDMI.
  6. So we change the Type of Index 3 to HDMI from the pop-up menu. And we set its BusID to 0x04. Why 0x04? There are other possible values for BusID, but we need to start somewhere and test the possibilities one at a time. Because BusID 0x04 is currently assigned to Index 2, we swap the values between them. Index 2 get BusID 0x06 (which is a valid BusID for DisplayPort) and Index 3 gets 0x04. So the result looks like this:
    View attachment 384464
  7. Now we're ready to test our changes. Click the Patch tab and make the selections shown in the General and Advanced sub-tabs: (Because I'm using a Coffee Lake processor, the Device ID in the Advanced sub-tab is set to 0x3E9B: Intel UHD Graphics 630. You should select the most appropriate Device ID for your CPU.)
    View attachment 384463 View attachment 384462
  8. Hackintool sometimes resets the Connectors page when certain checkboxes are clicked. So at this time go back to Connectors page, double-check your settings (redo them if needed), and return to the Patch page. And now click Generate Patch.
    View attachment 384461
  9. Now we need to insert the patch into our existing config.plist. Mount the EFI partition of the Mojave SSD using Clover Configurator or EFI Mounter v3.
  10. Then select File --> Export --> Clover config.plist from the Hackintool menu bar as follows:
    View attachment 380642
  11. And from the file browser that appears, navigate to the CLOVER folder on the EFI partition of the Mojave SSD and select the existing config.plist. Hackintool will backup the existing file and insert the patch directly into the config.plist in a non-destructive manner.
  12. Now the patch has been installed so let's test our changes. Reboot the computer at this time.
  13. When Mojave starts up, login and connect your motherboard's HDMI port to an HDMI input on your monitor. Does HDMI turn on? At this stage it might not. But if it does, we're done!
  14. If HDMI (or DVI) does not turn on, try a different permitted BusID. Run Hackintool once again, select Framebuffer --> macOS 10.14 and verify that Patch --> Apply Current Patches is still checked on. Then repeat Steps 5 through 13, but apply a different BusID using the following cheat sheet:
    View attachment 395006
  15. If you have fewer than 3 video ports there are two options for disabling unused Indexes. Option 1 is to set the Index value to -1. Option 2 is to leave the Index value as-is, but set the BusID to 0x00. Based on some user feedback, Option 2 may be the one to try first. For example, if you have a single HDMI at Port 0x07 (Index 3) you could try any of the configurations in the spoiler below.
    Index 3: BusID 0x04, Type HDMI
    Index 1: BusID 0x00, Type DUMMY
    Index 2: BusID 0x00, Type DUMMY
    Index -1: BusID 0x00, Type DUMMY


    or

    Index 1: BusID 0x00, Type DUMMY
    Index 3: BusID 0x04, Type HDMI
    Index 2: BusID 0x00, Type DUMMY
    Index -1: BusID 0x00, Type DUMMY


    or

    Index 1: BusID 0x00, Type DUMMY
    Index 2: BusID 0x00, Type DUMMY
    Index 3: BusID 0x04, Type HDMI
    Index -1: BusID 0x00, Type DUMMY
  16. In order to reduce graphics glitches and prevent some (rare) boot failures, it's recommended to enable the "disablegfxfirmware" checkbox as shown.
    View attachment 384477

Finishing Up
This turned out to be a relatively simple case because two of the three ports were configured properly by default and there was virtually no guesswork. But what if no other row lights up when you connect another video port? In this case you have to resort to trial and error. Hopefully one of the ports will be known, so you only have to figure out one more or two more.

Let's say you've already discovered that Port 5 (Index 1) is DisplayPort, and that's all the information you can get because no other row turns red. So if the next port to configure is HDMI, you would try to assign HDMI to Port 6 (Index 2) and set its Type and BusIDs appropriately and reboot. If HDMI still does not activate, you would assign it to Port 7 (Index 3) and set its Type and BusID appropriately. If this still fails, you would try a different BusID on Port 6 and then again on Port 7 until you find the magic combination.

Once HDMI (or DVI) has been successfully enabled we can run Hackintool once again to check the Port number. First, we see that the row marked HDMI is now lit up in red (the first row is our DisplayPort connection) and if we click on the HDMI row itself, we can confirm that the Port number is indeed 0x07.
View attachment 384460 View attachment 384459
And we're done!

References
  1. The techniques described in this guide depend on Lilu and its plug-in, WhateverGreen. A thorough guide to Lilu and its various plug-ins is located here. Written by @jaymonkey, it goes into considerably more depth and uses a large number of examples.
  2. Written by @headkaze, author of Hackintool, this guide covers a broad range of Intel processor generations.

Compilation of Patches for Various Motherboards
Framebuffer patches submitted by forum members are provided here. If your motherboard is listed, you may be able to simply copy-and-paste the patch into your config.plist as described in the spoiler below.

Update: 12 Mar 2019: Hackintool v2.0.9 and newer incorporates these predefined connector patches so you can simply select the appropriate one from the Patch --> System Configs menu bar item. See Procedure to Insert Framebuffer Patch into config.plist below for details.
View attachment 392597

12 Mar 2019: You can now use Hackintool v2.0.9 or newer to inject framebuffer connector patches directly, without having to follow the manual procedure below.

Hackintool Method:
To inject Framebuffer connector patches through Hackintool, follow this procedure:
  1. Run Hackintool and select the menu bar item Framebuffer --> MacOS 10.14 or Framebuffer --> MacOS 10.13 as appropriate.
  2. Mount your EFI partition. This can be done from Hackintool itself, from Clover Configurator, or from EFI Mounter v3.
  3. Use the menu bar item Patch --> System Configs to select your motherboard. Not all motherboards, of course, are listed. If your motherboard is not listed, try using a similar motherboard -- one that has the same number and types of video ports on its I/O panel. If that does not work, use the full procedure from the beginning of this post.
  4. Click the Intel icon on the top left of Hackintool, then click Connectors tab at the bottom to view the connector settings that were applied.
  5. Click the Patch tab at the bottom and follow Steps 7 to 11 in the Procedure section of the main guide. This will generate the patch from the connector settings and save them to your config.plist.
End of Hackintool Method.

Manual Method:
If you prefer to inject Framebuffer connector patches manually, follow this procedure:
  1. Mount EFI partition of the Mojave SSD.
  2. From the EFI/CLOVER folder, edit config.plist using BBEdit, TextWranger, or TextEdit. If you choose TextEdit, make sure to select "Make Plain Text" as shown:
  3. Now find the indicated section in the file and paste the framebuffer patch.
    XML:
    <key>Devices</key>
    <dict>
        <key>Audio</key>
        <dict>
            <key>Inject</key>
            <integer>11</integer>
            <key>ResetHDA</key>
            <true/>
            </dict>
                <key>FakeID</key>
                <dict>
                <key>ATI</key>
                <string>0x0</string>
                <key>IMEI</key>
                <string>0x0</string>
                <key>IntelGFX</key>
                <string>0x0</string>
                <key>LAN</key>
                <string>0x0</string>
                <key>NVidia</key>
                <string>0x0</string>
                <key>SATA</key>
                <string>0x0</string>
                <key>WIFI</key>
                <string>0x0</string>
                <key>XHCI</key>
                <string>0x0</string>
            </dict>
            ----- paste the framebuffer patch right here, just above USB -----
            <key>USB</key>
            <dict>
                <key>AddClockID</key>
                <false/>
                <key>FixOwnership</key>
                <true/>
                <key>Inject</key>
                <true/>
             </dict>
             <key>UseIntelHDMI</key>
             <false/>
        </dict>
  4. Save the file and reboot.
End of Manual Method.
16 Jan 2019: This is the preferred version for Designare Z390.

Index 1, BusID 0x01, Type DP
Index 2, BusID 0x06, Type DP
Index 3, BusID 0x04, Type HDMI
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                BgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x05, Type DP
Index 2, BusID 0x06, Type DP
Index 3, BusID 0x04, Type HDMI
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                CQAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                BgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                CgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                CAAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
            </dict>
        </dict>
This board has only 1 port, and it is HDMI v1.4.

Index 1, BusID 0x00, Type HDMI (type does not matter here)
Index 2, BusID 0x00, Type HDMI (type does not matter here)
Index 3, BusID 0x04, Type HDMI <-- this is the active port
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                kj4AAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-fbmem</key>
                <data>
                AACQAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-stolenmem</key>
                <data>
                AAAwAQ==
                </data>
                <key>framebuffer-unifiedmem</key>
                <data>
                AAAAgA==
                </data>
            </dict>
        </dict>
There is only 1 video port on this motherboard -- an HDMI port.
Index 1, BusID 0x05, Type DP
Index 2, BusID 0x06, Type HDMI
Index 3, BusID 0x04, Type HDMI <-- this may be the active port
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                CQAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                BgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                CAAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                CgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-fbmem</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-stolenmem</key>
                <data>
                AACQAw==
                </data>
                <key>framebuffer-unifiedmem</key>
                <data>
                AAAAYA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x01, Type DP
Index 2, BusID 0x02, Type HDMI <-- physically, this is DVI port
Index 3, BusID 0x04, Type HDMI
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                CQAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                CAAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                CgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-fbmem</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-stolenmem</key>
                <data>
                AACQAw==
                </data>
                <key>framebuffer-unifiedmem</key>
                <data>
                AAAAYA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x05, Type DP
Index 2, BusID 0x06, Type HDMI <-- may or may not work (physical port is DVI)
Index 3, BusID 0x04, Type HDMI
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                kj4AAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                BgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
            </dict>
        </dict>
Index 1 - Bus ID 5 - Type DP (physically a VGA Port)
Index 2 - Bus ID 2 - Type HDMI (physically a DVI Port)
Index 3 - Bus ID 4 - Type HDMI (physically HDMI as well)
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x01, Type HDMI
Index 2, BusID 0x06, Type HDMI
Index 3, BusID 0x05, Type DP <-- Not tested, but may work
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                BgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
            </dict>
        </dict>
Index 0, BusID 0x00, Type LVDS
Index 1, BusID 0x01, Type HDMI
Index 2, BusID 0x06, Type HDMI
Index 3, BusID 0x05, Type DP
PortCount = 4
All 5 of the above parameters are specified by the XML code. You do not have to set PortCount yourself -- the code below will do it for you. Both HDMI ports and DP port is fully functional. LVDS is just a placeholder; ignore it.
XML:
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                BgAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-portcount</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-unifiedmem</key>
                <data>
                AAAAgA==
                </data>
            </dict>
Index 1, BusID 0x05, Type DP <-- this is physically a VGA port
Index 2, BusID 0x02, Type HDMI <-- this is physically a DVI port
Index 3, BusID 0x04, Type HDMI <-- this is the actual HDMI port
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                kj4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x00, Type DUMMY (no physical port here)
Index 2, BusID 0x02, Type HDMI (physical port is DVI-D)
Index 3, BusID 0x04, Type HDMI (physical port is HDMI)
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>AAPL,slot-name</key>
                <string>Internal</string>
                <key>device-id</key>
                <data>
                kj4AAA==
                </data>
                <key>device_type</key>
                <string>VGA compatible controller</string>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>model</key>
                <string>3rd Gen Core processor Graphics Controller</string>
            </dict>
        </dict>
Index 1, BusID 0x05, Type DP <-- this is physically a VGA port (it works!)
Index 2, BusID 0x06, Type HDMI <-- not used
Index 3, BusID 0x04, Type HDMI <-- this is the actual HDMI port
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                BgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-fbmem</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-stolenmem</key>
                <data>
                AACQAw==
                </data>
                <key>framebuffer-unifiedmem</key>
                <data>
                AAAAYA==
                </data>
            </dict>
        </dict>
This motherboard has only 2 video ports, both HDMI.
Index 1, BusID 0x01, Type HDMI
Index 2, BusID 0x02, Type HDMI
Index 3, BusID 0x04, Type HDMI
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-pipecount</key>
                <data>
                AgAAAA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x00, Type Dummy
Index 2, BusID 0x02, Type HDMI
Index 3, BusID 0x00, Type DUMMY
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>AAPL,slot-name</key>
                <string>Internal</string>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>device_type</key>
                <string>VGA compatible controller</string>
                <key>framebuffer-con0-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                CQAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                CgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                CAAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>model</key>
                <string>3rd Gen Core processor Graphics Controller</string>
            </dict>
        </dict>
Index 1, BusID 0x01, Type DP
Index 2, BusID 0x02, Type HDMI (physical port is DVI)
Index 3, BusID 0x04, Type HDMI
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                CgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                CAAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                CQAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x05, Type DP
Index 2, BusID 0x02, Type HDMI
Index 3, BusID 0x04, Type HDMI
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x05, Type DP
Index 2, BusID 0x04, Type HDMI
Index 3, BusID 0x06, Type DP
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                kj4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BgAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-fbmem</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-stolenmem</key>
                <data>
                AACQAw==
                </data>
                <key>framebuffer-unifiedmem</key>
                <data>
                AAAAgA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x01, Type HDMI
Index 2, BusID 0x02, Type HDMI <-- May or may not work (physical port is DVI)
Index 3, BusID 0x06 or 0x04, Type DP
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2, 0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-pipecount</key>
                <data>
                AgAAAA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x05, Type DP
Index 2, BusID 0x02, Type HDMI
Index 3, BusID 0x01, Type HDMI
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                kj4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-unifiedmem</key>
                <data>
                AAAAgA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x05, Type DP
Index 2, BusID 0x04, Type DP
Index 3, BusID 0x06, Type HDMI
XML:
    <key>Properties</key>
    <dict>
        <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
        <dict>
            <key>AAPL,ig-platform-id</key>
            <data>
            BwCbPg==
            </data>
            <key>device-id</key>
            <data>
            mz4AAA==
            </data>
            <key>enable-hdmi20</key>
            <data>
            AQAAAA==
            </data>
            <key>framebuffer-con0-busid</key>
            <data>
            BQAAAA==
            </data>
            <key>framebuffer-con0-enable</key>
            <data>
            AQAAAA==
            </data>
            <key>framebuffer-con0-flags</key>
            <data>
            xwMAAA==
            </data>
            <key>framebuffer-con0-index</key>
            <data>
            AQAAAA==
            </data>
            <key>framebuffer-con0-pipe</key>
            <data>
            EgAAAA==
            </data>
            <key>framebuffer-con0-type</key>
            <data>
            AAQAAA==
            </data>
            <key>framebuffer-con1-busid</key>
            <data>
            BAAAAA==
            </data>
            <key>framebuffer-con1-enable</key>
            <data>
            AQAAAA==
            </data>
            <key>framebuffer-con1-flags</key>
            <data>
            xwMAAA==
            </data>
            <key>framebuffer-con1-index</key>
            <data>
            AgAAAA==
            </data>
            <key>framebuffer-con1-pipe</key>
            <data>
            EgAAAA==
            </data>
            <key>framebuffer-con1-type</key>
            <data>
            AAQAAA==
            </data>
            <key>framebuffer-con2-busid</key>
            <data>
            BgAAAA==
            </data>
            <key>framebuffer-con2-enable</key>
            <data>
            AQAAAA==
            </data>
            <key>framebuffer-con2-flags</key>
            <data>
            xwMAAA==
            </data>
            <key>framebuffer-con2-index</key>
            <data>
            AwAAAA==
            </data>
            <key>framebuffer-con2-pipe</key>
            <data>
            EgAAAA==
            </data>
            <key>framebuffer-con2-type</key>
            <data>
            AAgAAA==
            </data>
            <key>framebuffer-con3-busid</key>
            <data>
            AAAAAA==
            </data>
            <key>framebuffer-con3-enable</key>
            <data>
            AQAAAA==
            </data>
            <key>framebuffer-con3-flags</key>
            <data>
            IAAAAA==
            </data>
            <key>framebuffer-con3-index</key>
            <data>
            /////w==
            </data>
            <key>framebuffer-con3-pipe</key>
            <data>
            AAAAAA==
            </data>
            <key>framebuffer-con3-type</key>
            <data>
            AQAAAA==
            </data>
            <key>framebuffer-fbmem</key>
            <data>
            AAAAAA==
            </data>
            <key>framebuffer-patch-enable</key>
            <data>
            AQAAAA==
            </data>
            <key>framebuffer-stolenmem</key>
            <data>
            AACQAw==
            </data>
            <key>framebuffer-unifiedmem</key>
            <data>
            AAAAgA==
            </data>
        </dict>
    </dict>
Index 1, BusID 0x01, Type HDMI
Index -1, BusID 0x00, Type Dummy
Index 3, BusID 0x06, Type DP
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2, 0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                mAAAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                CAAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                hwEAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                CQAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BgAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                hwEAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                CgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-fbmem</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-stolenmem</key>
                <data>
                AACQAw==
                </data>
                <key>framebuffer-unifiedmem</key>
                <data>
                AAAAYA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x01, Type HDMI
Index 2, BusID 0x00, Type Dummy
Index 3, BusID 0x00, Type Dummy
Index -1, BusID 0x00, Type Dummy
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x05, Type HDMI
Index 2, BusID 0x04, Type Dummy
Index 3, BusID 0x06, Type DP
Index -1, BusID 0x00, Type Dummy
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BgAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
            </dict>
        </dict>
This system has VGA and HDMI. The settings below are only for enabling HDMI on Index 2. There is no support for VGA. Indexes 1 and 3 could be set to BusID=0x00 and Type=DUMMY -- feel free to try it and see.
Index 1, BusID 0x05, Type HDMI
Row 2: Index 2, BusID 0x02, Type HDMI
Index 3, BudID 0x04, Type HDMI
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
            </dict>Hell
[QUOTE="CaseySJ, post: 1885420, member: 2134452"]
[SIZE=6][B]General Framebuffer Patching Guide using Hackintool[/B][/SIZE]

[COLOR=rgb(65, 168, 95)][B]15 Jan 2019:[/B] [I]Intel FB-Patcher[/I] has been renamed to [B]Hackintool[/B].
[B]19 Jan 2019:[/B] Guide overhauled. Please be aware of possible HDMI hot-plug issues. After boot you may have to unplug and replug HDMI cable.
[B]02 Feb 2019:[/B] Screenshots updated for new Hackintool GUI design and added Step 16 to "disablegfxfirmware".
[B]12 Mar 2019:[/B] Hackintool [B]v2.0.9 and newer[/B] incorporates the various connector patches from the [I]Compilation of Patches for Various Motherboards[/I] below. See that section for details![/COLOR]

[SIZE=5][B]About this Guide[/B][/SIZE]
If you have a relatively recent motherboard with an Intel iGPU, and on-board HDMI is not working, here's a general guide that may help. This guide is meant to supplement -- not replace -- existing framebuffer patching guides.

Do you have a 360, 370, or 390 series motherboard with desktop Coffee Lake processor, either HDMI or DP monitor, and a Gigabyte, ASUS, ASRock, or MSI motherboard and want to try your luck with a pre-built framebuffer patch? Then check out [URL='https://www.tonymacx86.com/threads/guide-general-framebuffer-patching-guide-hdmi-black-screen-problem.269149/#Compilation'][I]Compilation of Patches for Various Motherboards[/I][/URL] at the end of this [I]Guide[/I].

This guide is best suited to relatively new, modern components. This includes (a) modern CPU, (b) modern motherboard, and most importantly, (c) modern monitor. A large number of problems are due to the use of televisions, old monitors, or monitors without DisplayPort 1.2+ or HDMI 1.4+ support.

The primary purpose of this [I]Guide[/I] is to activate the on-board HDMI port on your motherboard with the intention of using that port to drive a [B]single[/B] monitor. [I]This guide does not recommend using a multi-monitor setup with the iGPU.[/I] Multi-monitor setups are best handled by discrete AMD graphics cards.

[SIZE=5][B]Contents[/B][/SIZE]
This guide is organized into the following sections. You may jump to any section by clicking on the link.
[LIST=1]
[*][URL='https://www.tonymacx86.com/threads/guide-general-framebuffer-patching-guide-hdmi-black-screen-problem.269149/#Theory']Theory[/URL]
[*][URL='https://www.tonymacx86.com/threads/guide-general-framebuffer-patching-guide-hdmi-black-screen-problem.269149/#Preflight Checklist']Preflight Checklist[/URL]
[*][URL='https://www.tonymacx86.com/threads/guide-general-framebuffer-patching-guide-hdmi-black-screen-problem.269149/#Preparation']Preparation[/URL]
[*][URL='https://www.tonymacx86.com/threads/guide-general-framebuffer-patching-guide-hdmi-black-screen-problem.269149/#Procedure']Procedure[/URL]
[*][URL='https://www.tonymacx86.com/threads/guide-general-framebuffer-patching-guide-hdmi-black-screen-problem.269149/#Finishing Up']Finishing Up[/URL]
[*][URL='https://www.tonymacx86.com/threads/guide-general-framebuffer-patching-guide-hdmi-black-screen-problem.269149/#References']References[/URL]
[*][URL='https://www.tonymacx86.com/threads/guide-general-framebuffer-patching-guide-hdmi-black-screen-problem.269149/#Compilation']Compilation of Patches for Various Motherboards[/URL]
[*][URL='https://www.tonymacx86.com/threads/guide-general-framebuffer-patching-guide-hdmi-black-screen-problem.269149/#Help Others']Help Others[/URL]
[/LIST]
[ANCHOR]Theory[/ANCHOR][SIZE=5][B]Theory[/B][/SIZE]
There are many motherboards available from ASRock, ASUS, EVGA, Gigabyte, MSI and others. The on-board video ports on these boards come in many different combinations. Some boards offer one HDMI and two DPs. Some boards offer two HDMIs. Others may provide DVI and VGA as well. ([S]But note that there is no support for VGA even if the motherboard has a VGA connector.[/S]) [I]Update: We now have two confirmed cases of working VGA ports with macOS 10.14 (Mojave) and Coffee Lake CPUs. Therefore, VGA is now considered to be supported.[/I]

When MacOS initializes the iGPU display driver (called AppleIntelFramebuffer) it does not know the specific video ports on the motherboard. It doesn't know which port is HDMI, which is DVI, etc. So depending on the Platform ID you select, it makes default assumptions. For Platform ID 0x3E9B0007, for example, all ports are treated by default as DisplayPorts (VGA is also treated as DisplayPort). So if you were to connect a DisplayPort (or VGA) monitor to the motherboard, it would work right away. But if you were to connect an HDMI or DVI monitor to the motherboard, you would get no display at all -- because by default MacOS thinks those are DisplayPort connections.

Fortunately there is a relatively straightforward way to change the default port map. Every physical video port on the motherboard is associated with a port number. These [B]port[/B] numbers are 5, 6, and 7, but they are wired to different physical ports on different boards. MacOS allows a maximum of 3 external video connections through the iGPU.

On some motherboards Port 5 may be wired to HDMI, while on others it may be wired to DP or DVI or VGA. Likewise, Ports 6 and 7 are wired to different physical ports on different boards. To solve the HDMI and DVI black screen problem, we first need to determine which ports on the motherboard are wired to HDMI (if any), which are wired to DVI (if any), and which (if any) are wired to DP or VGA.

Once we have determined the physical port mappings for the motherboard, we provide this information to MacOS by filling out a simple Framebuffer Table. Because a maximum of 3 external video ports are supported by MacOS, we can define up to 3 [B]software connectors[/B] or "cons". Any software connector can be mapped to any physical video port.
[LIST]
[*]The 3 software connectors are called con0, con1, and con2.
[*]The 3 physical ports 5, 6, and 7 are available to us as software [B]Indexes[/B] 1, 2, and 3.
[*]Software Index 1 always refers to physical Port 5.
[*]Software Index 2 always refers to physical Port 6.
[*]Software Index 3 always refers to physical Port 7.
[*]HDMI and DVI are considered to be the same. Set Type to [I]HDMI[/I] for both HDMI and DVI physical ports.
[*]DP and VGA are considered to be the same. Set Type to [I]DP[/I] for both DP and VGA physical ports.
[/LIST]
So for example:
[LIST]
[*]If we want to inform MacOS that physical Port 6 is type HDMI, we set Index 2 to Type HDMI.
[*]If we want to inform MacOS that physical Port 5 is type DVI, we set Index 1 to Type HDMI (because DVI and HDMI are equivalent in MacOS).
[*]If we want to inform MacOS that physical Port 7 is type DP, we set Index 3 to Type DP.
[*]If we want to inform MacOS that physical Port 7 is type VGA, we set Index 3 to Type DP (because VGA and DP are equivalent in MacOS).
[/LIST]
But in addition to [B]Type[/B] we also need to specify something called the [B]BusID[/B]. Every software connector must be assigned a unique BusID, but only certain BusID values are permitted:
[LIST]
[*]DisplayPort is the most flexible. BusIDs 0x02, 0x04, 0x05, 0x06 are permitted. Any of these values should work on any motherboard. These values apply to VGA as well.
[*]HDMI is very restrictive. Only BusIDs 0x01, 0x02, 0x04, 0x06 are permitted but some motherboards will only accept one or two of these possibilities. The Gigabyte Designare Z390, for instance, only accepts 0x04.
[*]DVI is the same as HDMI. The same BusIDs and even the same Type are used.
[/LIST]
With this crash course in [COLOR=rgb(65, 168, 95)][B]Ports[/B][/COLOR], [COLOR=rgb(65, 168, 95)][B]Connectors[/B][/COLOR], [COLOR=rgb(65, 168, 95)][B]Indexes[/B][/COLOR], [COLOR=rgb(65, 168, 95)][B]Types[/B][/COLOR], and [COLOR=rgb(65, 168, 95)][B]BusIDs[/B][/COLOR] we're ready to start...

We begin by determining the Type of each physical Port. Once we have completed this task, the rest is relatively easy. So in the beginning we have 3 answers to discover:
[LIST]
[*]Port 5 (Index 1) is which Type?
[*]Port 6 (Index 2) is which Type?
[*]Port 7 (Index 3) is which Type?
[/LIST]
The high level procedure is illustrated below.
[ATTACH alt="Port to Index Mapping.png"]381014[/ATTACH]
[ANCHOR]Preflight Checklist[/ANCHOR][SIZE=5][B]Preflight Checklist[/B][/SIZE]
[LIST=1]
[*]Download [B]Hackintool[/B] from [URL='https://www.tonymacx86.com/threads/release-hackintool-v1-7-7.254559/']here[/URL].
[*]Lilu and WhateverGreen must be installed.
[*]Your computer must be booted up with proper graphics Device ID and Platform ID values. These can be specified easily in Clover. Choose either Option 1 or Option 2 below.
[spoiler="Option 1: Enter the values in Clover Configurator (recommended for most people)"]
[LIST]
[*]Devices --> Fake ID --> IntelGFX --> Enter appropriate Device ID (e.g. 0x3E9B8086).
[*]Graphics --> Inject Intel --> Check this ON.
[*]Graphics --> ig-platform-id --> Click pop-up menu and choose appropriate ID (e.g. 0x3E9B0007).
[/LIST]
[*][/spoiler]
[spoiler="Option 2: Add custom Properties in the Devices page of Clover Configurator (for advanced users)"]
Be sure to replace [I]PciRoot(0x0)/Pci(0x2,0x0)[/I], [I]AAPL,ig-platform-id[/I], and [I]device-id[/I] with values that are correct or appropriate for your system.
[code]
<key>Properties</key>
<dict>
    <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
    <dict>
        <key>AAPL,ig-platform-id</key>
        <data>BwCbPg==</data>
        <key>device-id</key>
        <data>mz4AAA==</data>
        <key>framebuffer-patch-enable</key>
        <data>AQAAAA==</data>
    </dict>
</dict>
[*]For most Coffee Lake desktop processors, Device ID 0x3E9B and Platform ID 0x3E9B0007 can be used. Please refer to this framebuffer patching guide to determine the appropriate values for your system. These values allow the proper display driver to be attached to the iGPU. If the default (non-accelerated) display driver gets attached instead, then this Guide will not work. Any Platform ID with all connectors set to Index = -1 is known as a headless platform, and must be avoided, such as Platform ID 0x3E920003 as shown:
View attachment 384473
[*]But herein lies the problem: When the proper (accelerated) display driver is connected, your motherboard's HDMI and DVI ports will stop working. So you must either (1) connect your display monitor to a different but working video port on the motherboard (try DisplayPort), or (2) use a discrete (external) GPU and connect your display monitor to the discrete GPU.
[*]To determine whether the proper display driver is attached to the iGPU, run Hackintool. If GPU Info is shown properly as in the image below, then you're good to proceed. If you see GPU: ??? then start again at Preflight Check or post a request for help.
View attachment 384472
[*]Make a list of the video ports on your motherboard (e.g. HDMI, DP, DVI-D, VGA).
[*]During the procedure we will need to test each of the video ports. So you must have monitor(s) and cables for each type of video connector. The procedure can, however, be followed even if one of the cable types is not available or supported by your monitor, but that will add a bit of guesswork.
[*]At this point your computer is booted up and running with the accelerated display driver for your iGPU. It does not matter whether you specified ig-platform-id and graphics Device ID using fields/checkboxes in Clover Configurator or by inserting Devices-->Properties. It just matters that the accelerated driver is active. But now you must clear the following settings (if they exist) from config.plist (use Clover Configurator) but DO NOT REBOOT:
  • Devices --> Fake ID --> IntelGFX --> remove any entry you might have made in this field.
  • Graphics --> Inject Intel --> uncheck the checkbox.
  • Graphics --> ig-platform-id --> remove any entry you might have made in this field.
[*]Save the config.plist and quit Clover Configurator.
[/LIST]

Preparation
  1. Run Hackintool. From the top menu bar, select Framebuffer and choose macOS 10.14.
    View attachment 380630
  2. From the Patch menu, select Apply Current Patches and make sure the check-mark is present!
    View attachment 380730
    Note: This option displays the currently active framebuffer settings in the Connectors tab. It does not actually apply any changes to your system. But when changes are made as described later in this Guide and the system is rebooted, this option displays those settings instead of the default framebuffer settings. So if you made and applied some changes, rebooted, and did not see those changes in Hackintool, it is because Apply Current Patches was not selected. Also note that whenever you select a new Platform ID from the pop-up menu, the default settings for that platform will appear in Connectors (as it should). To see your previously applied settings, however, just select Apply Current Patches once again.
  3. Select the most appropriate Platform ID for your motherboard. See Which ig-platform-id should I use for my system. Different Platform IDs will have a different set of connectors. If you choose a headless platform ID, all connectors will have Index = -1 (all off).
    View attachment 384471
  4. In this case we select Platform ID 0x3E9B0007 and then we click the Connectors tab. This will be our main focus -- this is the connector mapping table -- where we can assign Index, BusID, Pipe, Type, and Flags. Each row in the table corresponds to a software connector. Connectors are numbered sequentially from 0. So we are looking at the mapping table for con0, con1, and con2. At this time, don't trust any of the values in this table!
    View attachment 384470 View attachment 384469
  5. If your monitor is connected to one of the on-board video ports, one of the rows will be highlighted in red. Because I used a DisplayPort cable and nothing else, only one row is highlighted. This tells me definitively that the red line belongs to a DisplayPort connection. So now I need to determine its Port number. This is done by clicking on the red row and reading Port number from the bottom right of the window.
    View attachment 384466 View attachment 384465
    Great! One down, two to go. We now know that Port 5 -- which is Index 1 -- is DisplayPort. So our discovery result looks like this:
    • Port 5 (Index 1) is DisplayPort

Procedure
  1. Keep your primary monitor connected at all times.
  2. Now connect one of the other on-board video ports to a monitor that supports that type of input. For example, if your motherboard has a DVI port, connect it now to a monitor with DVI input. Chances are that all of your DisplayPort connections will light up, but your DVI and HDMI connections may or may not light up. Do not use video adapters (e.g. DP-to-HDMI, DVI-to-HDMI, etc.) during this procedure. Instead, use straight connections (HDMI-to-HDMI, DP-to-DP, DVI-to-DVI, etc.).
  3. One of the rows in Hackintool will light up in red. Because my motherboard has 2 DisplayPort connectors, I now unplugged the cable from the first one and inserted it into the second. As soon as I did this, a different row lit up in red. And once again we need to determine Port number by clicking the red bar. In this case the port number of the second DisplayPort connector is 6.
    View attachment 384468 View attachment 384467
    Our discovery result has now expanded to this:
    • Port 5 (Index 1) is DisplayPort
    • Port 6 (Index 2) is DisplayPort
  4. Because there are only 3 video connectors on this motherboard and I know that my HDMI output isn't working, there's no point connecting an HDMI cable. But feel free to connect one and verify the black screen. Through the process of elimination we can safely conclude that Port 7 (Index 3) must be HDMI. So our discovery result now looks like this:
    • Port 5 (Index 1) is DisplayPort
    • Port 6 (Index 2) is DisplayPort
    • Port 7 (Index 3) must be HDMI
  5. Now look at the Type and Index columns. We see that all three rows are set to Type DP (DisplayPort) and the Index values are 1, 2, and 3. The first two look correct, but we have just determined that Index 3 must be HDMI.
  6. So we change the Type of Index 3 to HDMI from the pop-up menu. And we set its BusID to 0x04. Why 0x04? There are other possible values for BusID, but we need to start somewhere and test the possibilities one at a time. Because BusID 0x04 is currently assigned to Index 2, we swap the values between them. Index 2 get BusID 0x06 (which is a valid BusID for DisplayPort) and Index 3 gets 0x04. So the result looks like this:
    View attachment 384464
  7. Now we're ready to test our changes. Click the Patch tab and make the selections shown in the General and Advanced sub-tabs: (Because I'm using a Coffee Lake processor, the Device ID in the Advanced sub-tab is set to 0x3E9B: Intel UHD Graphics 630. You should select the most appropriate Device ID for your CPU.)
    View attachment 384463 View attachment 384462
  8. Hackintool sometimes resets the Connectors page when certain checkboxes are clicked. So at this time go back to Connectors page, double-check your settings (redo them if needed), and return to the Patch page. And now click Generate Patch.
    View attachment 384461
  9. Now we need to insert the patch into our existing config.plist. Mount the EFI partition of the Mojave SSD using Clover Configurator or EFI Mounter v3.
  10. Then select File --> Export --> Clover config.plist from the Hackintool menu bar as follows:
    View attachment 380642
  11. And from the file browser that appears, navigate to the CLOVER folder on the EFI partition of the Mojave SSD and select the existing config.plist. Hackintool will backup the existing file and insert the patch directly into the config.plist in a non-destructive manner.
  12. Now the patch has been installed so let's test our changes. Reboot the computer at this time.
  13. When Mojave starts up, login and connect your motherboard's HDMI port to an HDMI input on your monitor. Does HDMI turn on? At this stage it might not. But if it does, we're done!
  14. If HDMI (or DVI) does not turn on, try a different permitted BusID. Run Hackintool once again, select Framebuffer --> macOS 10.14 and verify that Patch --> Apply Current Patches is still checked on. Then repeat Steps 5 through 13, but apply a different BusID using the following cheat sheet:
    View attachment 395006
  15. If you have fewer than 3 video ports there are two options for disabling unused Indexes. Option 1 is to set the Index value to -1. Option 2 is to leave the Index value as-is, but set the BusID to 0x00. Based on some user feedback, Option 2 may be the one to try first. For example, if you have a single HDMI at Port 0x07 (Index 3) you could try any of the configurations in the spoiler below.
    Index 3: BusID 0x04, Type HDMI
    Index 1: BusID 0x00, Type DUMMY
    Index 2: BusID 0x00, Type DUMMY
    Index -1: BusID 0x00, Type DUMMY


    or

    Index 1: BusID 0x00, Type DUMMY
    Index 3: BusID 0x04, Type HDMI
    Index 2: BusID 0x00, Type DUMMY
    Index -1: BusID 0x00, Type DUMMY


    or

    Index 1: BusID 0x00, Type DUMMY
    Index 2: BusID 0x00, Type DUMMY
    Index 3: BusID 0x04, Type HDMI
    Index -1: BusID 0x00, Type DUMMY
  16. In order to reduce graphics glitches and prevent some (rare) boot failures, it's recommended to enable the "disablegfxfirmware" checkbox as shown.
    View attachment 384477

Finishing Up
This turned out to be a relatively simple case because two of the three ports were configured properly by default and there was virtually no guesswork. But what if no other row lights up when you connect another video port? In this case you have to resort to trial and error. Hopefully one of the ports will be known, so you only have to figure out one more or two more.

Let's say you've already discovered that Port 5 (Index 1) is DisplayPort, and that's all the information you can get because no other row turns red. So if the next port to configure is HDMI, you would try to assign HDMI to Port 6 (Index 2) and set its Type and BusIDs appropriately and reboot. If HDMI still does not activate, you would assign it to Port 7 (Index 3) and set its Type and BusID appropriately. If this still fails, you would try a different BusID on Port 6 and then again on Port 7 until you find the magic combination.

Once HDMI (or DVI) has been successfully enabled we can run Hackintool once again to check the Port number. First, we see that the row marked HDMI is now lit up in red (the first row is our DisplayPort connection) and if we click on the HDMI row itself, we can confirm that the Port number is indeed 0x07.
View attachment 384460 View attachment 384459
And we're done!

References
  1. The techniques described in this guide depend on Lilu and its plug-in, WhateverGreen. A thorough guide to Lilu and its various plug-ins is located here. Written by @jaymonkey, it goes into considerably more depth and uses a large number of examples.
  2. Written by @headkaze, author of Hackintool, this guide covers a broad range of Intel processor generations.

Compilation of Patches for Various Motherboards
Framebuffer patches submitted by forum members are provided here. If your motherboard is listed, you may be able to simply copy-and-paste the patch into your config.plist as described in the spoiler below.

Update: 12 Mar 2019: Hackintool v2.0.9 and newer incorporates these predefined connector patches so you can simply select the appropriate one from the Patch --> System Configs menu bar item. See Procedure to Insert Framebuffer Patch into config.plist below for details.
View attachment 392597

12 Mar 2019: You can now use Hackintool v2.0.9 or newer to inject framebuffer connector patches directly, without having to follow the manual procedure below.

Hackintool Method:
To inject Framebuffer connector patches through Hackintool, follow this procedure:
  1. Run Hackintool and select the menu bar item Framebuffer --> MacOS 10.14 or Framebuffer --> MacOS 10.13 as appropriate.
  2. Mount your EFI partition. This can be done from Hackintool itself, from Clover Configurator, or from EFI Mounter v3.
  3. Use the menu bar item Patch --> System Configs to select your motherboard. Not all motherboards, of course, are listed. If your motherboard is not listed, try using a similar motherboard -- one that has the same number and types of video ports on its I/O panel. If that does not work, use the full procedure from the beginning of this post.
  4. Click the Intel icon on the top left of Hackintool, then click Connectors tab at the bottom to view the connector settings that were applied.
  5. Click the Patch tab at the bottom and follow Steps 7 to 11 in the Procedure section of the main guide. This will generate the patch from the connector settings and save them to your config.plist.
End of Hackintool Method.

Manual Method:
If you prefer to inject Framebuffer connector patches manually, follow this procedure:
  1. Mount EFI partition of the Mojave SSD.
  2. From the EFI/CLOVER folder, edit config.plist using BBEdit, TextWranger, or TextEdit. If you choose TextEdit, make sure to select "Make Plain Text" as shown:
  3. Now find the indicated section in the file and paste the framebuffer patch.
    XML:
    <key>Devices</key>
    <dict>
        <key>Audio</key>
        <dict>
            <key>Inject</key>
            <integer>11</integer>
            <key>ResetHDA</key>
            <true/>
            </dict>
                <key>FakeID</key>
                <dict>
                <key>ATI</key>
                <string>0x0</string>
                <key>IMEI</key>
                <string>0x0</string>
                <key>IntelGFX</key>
                <string>0x0</string>
                <key>LAN</key>
                <string>0x0</string>
                <key>NVidia</key>
                <string>0x0</string>
                <key>SATA</key>
                <string>0x0</string>
                <key>WIFI</key>
                <string>0x0</string>
                <key>XHCI</key>
                <string>0x0</string>
            </dict>
            ----- paste the framebuffer patch right here, just above USB -----
            <key>USB</key>
            <dict>
                <key>AddClockID</key>
                <false/>
                <key>FixOwnership</key>
                <true/>
                <key>Inject</key>
                <true/>
             </dict>
             <key>UseIntelHDMI</key>
             <false/>
        </dict>
  4. Save the file and reboot.
End of Manual Method.
16 Jan 2019: This is the preferred version for Designare Z390.

Index 1, BusID 0x01, Type DP
Index 2, BusID 0x06, Type DP
Index 3, BusID 0x04, Type HDMI
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                BgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x05, Type DP
Index 2, BusID 0x06, Type DP
Index 3, BusID 0x04, Type HDMI
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                CQAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                BgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                CgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                CAAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
            </dict>
        </dict>
This board has only 1 port, and it is HDMI v1.4.

Index 1, BusID 0x00, Type HDMI (type does not matter here)
Index 2, BusID 0x00, Type HDMI (type does not matter here)
Index 3, BusID 0x04, Type HDMI <-- this is the active port
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                kj4AAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-fbmem</key>
                <data>
                AACQAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-stolenmem</key>
                <data>
                AAAwAQ==
                </data>
                <key>framebuffer-unifiedmem</key>
                <data>
                AAAAgA==
                </data>
            </dict>
        </dict>
There is only 1 video port on this motherboard -- an HDMI port.
Index 1, BusID 0x05, Type DP
Index 2, BusID 0x06, Type HDMI
Index 3, BusID 0x04, Type HDMI <-- this may be the active port
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                CQAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                BgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                CAAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                CgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-fbmem</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-stolenmem</key>
                <data>
                AACQAw==
                </data>
                <key>framebuffer-unifiedmem</key>
                <data>
                AAAAYA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x01, Type DP
Index 2, BusID 0x02, Type HDMI <-- physically, this is DVI port
Index 3, BusID 0x04, Type HDMI
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                CQAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                CAAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                CgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-fbmem</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-stolenmem</key>
                <data>
                AACQAw==
                </data>
                <key>framebuffer-unifiedmem</key>
                <data>
                AAAAYA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x05, Type DP
Index 2, BusID 0x06, Type HDMI <-- may or may not work (physical port is DVI)
Index 3, BusID 0x04, Type HDMI
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                kj4AAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                BgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
            </dict>
        </dict>
Index 1 - Bus ID 5 - Type DP (physically a VGA Port)
Index 2 - Bus ID 2 - Type HDMI (physically a DVI Port)
Index 3 - Bus ID 4 - Type HDMI (physically HDMI as well)
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x01, Type HDMI
Index 2, BusID 0x06, Type HDMI
Index 3, BusID 0x05, Type DP <-- Not tested, but may work
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                BgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
            </dict>
        </dict>
Index 0, BusID 0x00, Type LVDS
Index 1, BusID 0x01, Type HDMI
Index 2, BusID 0x06, Type HDMI
Index 3, BusID 0x05, Type DP
PortCount = 4
All 5 of the above parameters are specified by the XML code. You do not have to set PortCount yourself -- the code below will do it for you. Both HDMI ports and DP port is fully functional. LVDS is just a placeholder; ignore it.
XML:
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                BgAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-portcount</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-unifiedmem</key>
                <data>
                AAAAgA==
                </data>
            </dict>
Index 1, BusID 0x05, Type DP <-- this is physically a VGA port
Index 2, BusID 0x02, Type HDMI <-- this is physically a DVI port
Index 3, BusID 0x04, Type HDMI <-- this is the actual HDMI port
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                kj4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x00, Type DUMMY (no physical port here)
Index 2, BusID 0x02, Type HDMI (physical port is DVI-D)
Index 3, BusID 0x04, Type HDMI (physical port is HDMI)
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>AAPL,slot-name</key>
                <string>Internal</string>
                <key>device-id</key>
                <data>
                kj4AAA==
                </data>
                <key>device_type</key>
                <string>VGA compatible controller</string>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>model</key>
                <string>3rd Gen Core processor Graphics Controller</string>
            </dict>
        </dict>
Index 1, BusID 0x05, Type DP <-- this is physically a VGA port (it works!)
Index 2, BusID 0x06, Type HDMI <-- not used
Index 3, BusID 0x04, Type HDMI <-- this is the actual HDMI port
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                BgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-fbmem</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-stolenmem</key>
                <data>
                AACQAw==
                </data>
                <key>framebuffer-unifiedmem</key>
                <data>
                AAAAYA==
                </data>
            </dict>
        </dict>
This motherboard has only 2 video ports, both HDMI.
Index 1, BusID 0x01, Type HDMI
Index 2, BusID 0x02, Type HDMI
Index 3, BusID 0x04, Type HDMI
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-pipecount</key>
                <data>
                AgAAAA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x00, Type Dummy
Index 2, BusID 0x02, Type HDMI
Index 3, BusID 0x00, Type DUMMY
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>AAPL,slot-name</key>
                <string>Internal</string>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>device_type</key>
                <string>VGA compatible controller</string>
                <key>framebuffer-con0-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                CQAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                CgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                CAAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>model</key>
                <string>3rd Gen Core processor Graphics Controller</string>
            </dict>
        </dict>
Index 1, BusID 0x01, Type DP
Index 2, BusID 0x02, Type HDMI (physical port is DVI)
Index 3, BusID 0x04, Type HDMI
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                CgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                CAAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                CQAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x05, Type DP
Index 2, BusID 0x02, Type HDMI
Index 3, BusID 0x04, Type HDMI
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x05, Type DP
Index 2, BusID 0x04, Type HDMI
Index 3, BusID 0x06, Type DP
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                kj4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BgAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-fbmem</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-stolenmem</key>
                <data>
                AACQAw==
                </data>
                <key>framebuffer-unifiedmem</key>
                <data>
                AAAAgA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x01, Type HDMI
Index 2, BusID 0x02, Type HDMI <-- May or may not work (physical port is DVI)
Index 3, BusID 0x06 or 0x04, Type DP
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2, 0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-pipecount</key>
                <data>
                AgAAAA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x05, Type DP
Index 2, BusID 0x02, Type HDMI
Index 3, BusID 0x01, Type HDMI
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                kj4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-unifiedmem</key>
                <data>
                AAAAgA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x05, Type DP
Index 2, BusID 0x04, Type DP
Index 3, BusID 0x06, Type HDMI
XML:
    <key>Properties</key>
    <dict>
        <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
        <dict>
            <key>AAPL,ig-platform-id</key>
            <data>
            BwCbPg==
            </data>
            <key>device-id</key>
            <data>
            mz4AAA==
            </data>
            <key>enable-hdmi20</key>
            <data>
            AQAAAA==
            </data>
            <key>framebuffer-con0-busid</key>
            <data>
            BQAAAA==
            </data>
            <key>framebuffer-con0-enable</key>
            <data>
            AQAAAA==
            </data>
            <key>framebuffer-con0-flags</key>
            <data>
            xwMAAA==
            </data>
            <key>framebuffer-con0-index</key>
            <data>
            AQAAAA==
            </data>
            <key>framebuffer-con0-pipe</key>
            <data>
            EgAAAA==
            </data>
            <key>framebuffer-con0-type</key>
            <data>
            AAQAAA==
            </data>
            <key>framebuffer-con1-busid</key>
            <data>
            BAAAAA==
            </data>
            <key>framebuffer-con1-enable</key>
            <data>
            AQAAAA==
            </data>
            <key>framebuffer-con1-flags</key>
            <data>
            xwMAAA==
            </data>
            <key>framebuffer-con1-index</key>
            <data>
            AgAAAA==
            </data>
            <key>framebuffer-con1-pipe</key>
            <data>
            EgAAAA==
            </data>
            <key>framebuffer-con1-type</key>
            <data>
            AAQAAA==
            </data>
            <key>framebuffer-con2-busid</key>
            <data>
            BgAAAA==
            </data>
            <key>framebuffer-con2-enable</key>
            <data>
            AQAAAA==
            </data>
            <key>framebuffer-con2-flags</key>
            <data>
            xwMAAA==
            </data>
            <key>framebuffer-con2-index</key>
            <data>
            AwAAAA==
            </data>
            <key>framebuffer-con2-pipe</key>
            <data>
            EgAAAA==
            </data>
            <key>framebuffer-con2-type</key>
            <data>
            AAgAAA==
            </data>
            <key>framebuffer-con3-busid</key>
            <data>
            AAAAAA==
            </data>
            <key>framebuffer-con3-enable</key>
            <data>
            AQAAAA==
            </data>
            <key>framebuffer-con3-flags</key>
            <data>
            IAAAAA==
            </data>
            <key>framebuffer-con3-index</key>
            <data>
            /////w==
            </data>
            <key>framebuffer-con3-pipe</key>
            <data>
            AAAAAA==
            </data>
            <key>framebuffer-con3-type</key>
            <data>
            AQAAAA==
            </data>
            <key>framebuffer-fbmem</key>
            <data>
            AAAAAA==
            </data>
            <key>framebuffer-patch-enable</key>
            <data>
            AQAAAA==
            </data>
            <key>framebuffer-stolenmem</key>
            <data>
            AACQAw==
            </data>
            <key>framebuffer-unifiedmem</key>
            <data>
            AAAAgA==
            </data>
        </dict>
    </dict>
Index 1, BusID 0x01, Type HDMI
Index -1, BusID 0x00, Type Dummy
Index 3, BusID 0x06, Type DP
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2, 0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                mAAAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                CAAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                hwEAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                CQAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BgAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                hwEAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                CgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-fbmem</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-stolenmem</key>
                <data>
                AACQAw==
                </data>
                <key>framebuffer-unifiedmem</key>
                <data>
                AAAAYA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x01, Type HDMI
Index 2, BusID 0x00, Type Dummy
Index 3, BusID 0x00, Type Dummy
Index -1, BusID 0x00, Type Dummy
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
            </dict>
        </dict>
Index 1, BusID 0x05, Type HDMI
Index 2, BusID 0x04, Type Dummy
Index 3, BusID 0x06, Type DP
Index -1, BusID 0x00, Type Dummy
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>enable-hdmi20</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BgAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAQAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
            </dict>
        </dict>
This system has VGA and HDMI. The settings below are only for enabling HDMI on Index 2. There is no support for VGA. Indexes 1 and 3 could be set to BusID=0x00 and Type=DUMMY -- feel free to try it and see.
Index 1, BusID 0x05, Type HDMI
Row 2: Index 2, BusID 0x02, Type HDMI
Index 3, BudID 0x04, Type HDMI
XML:
        <key>Properties</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                BwCbPg==
                </data>
                <key>device-id</key>
                <data>
                mz4AAA==
                </data>
                <key>framebuffer-con0-busid</key>
                <data>
                BQAAAA==
                </data>
                <key>framebuffer-con0-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con0-index</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con0-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con0-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con1-busid</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con1-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con1-index</key>
                <data>
                AgAAAA==
                </data>
                <key>framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con2-busid</key>
                <data>
                BAAAAA==
                </data>
                <key>framebuffer-con2-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con2-flags</key>
                <data>
                xwMAAA==
                </data>
                <key>framebuffer-con2-index</key>
                <data>
                AwAAAA==
                </data>
                <key>framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>framebuffer-con3-busid</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-con3-flags</key>
                <data>
                IAAAAA==
                </data>
                <key>framebuffer-con3-index</key>
                <data>
                /////w==
                </data>
                <key>framebuffer-con3-pipe</key>
                <data>
                AAAAAA==
                </data>
                <key>framebuffer-con3-type</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
            </dict>
        </dict>
This system has a built-in screen, one HDMI port and one DP port. All ports can be activated with hot plug capability by using the following settings:

Platform ID: 0x0D220003

Index 1, Bus ID 0x05, Type DP
Index 2, Bus ID 0x04, Type DP (built-in display)
Index 3, Bus ID 0x06, Type HDMI

Please Help Others
If you find a successful set of parameters for your motherboard, please help the community by posting a screenshot of the Hackintool Connectors page with all the necessary settings applied. You may have to enter the changes again in the Connectors page. You may post the screenshot in this thread and I'll compile a list from everyone's contributions.
hello.
i have a gigabyte z390 aorus pro wifi with an i7 7900k
i am stuck at step 4 of the Pre-flight Checklist and cannot get my CPU or GUP (igpu) recognized.
i have been trying to get my UHD Graphics 630 past 7mb, and i really need some help! :(
</dict>
[/code][/spoiler]
This system has a built-in screen, one HDMI port and one DP port. All ports can be activated with hot plug capability by using the following settings:

Platform ID: 0x0D220003

Index 1, Bus ID 0x05, Type DP
Index 2, Bus ID 0x04, Type DP (built-in display)
Index 3, Bus ID 0x06, Type HDMI

Please Help Others
If you find a successful set of parameters for your motherboard, please help the community by posting a screenshot of the Hackintool Connectors page with all the necessary settings applied. You may have to enter the changes again in the Connectors page. You may post the screenshot in this thread and I'll compile a list from everyone's contributions.
[/QUOTE]
 

Attachments

Joined
Aug 28, 2012
Messages
62
Motherboard
GA Z390 AORUS PRO
CPU
i9-9900K
Graphics
Vega 64
Mac
iMac, MacBook, MacBook Air, MacBook Pro, Mac mini, Mac Pro
Classic Mac
512K, iMac, LC, Plus, Portable, Power Mac, PowerBook, Quadra, SE, Xserve
Hello @ajemutt

Even though you'll see grayed-out config.plist when exporting a patch, Hackintool will still export the patch to that grayed-out file! We just need to click on the file anyway and export the patch.

The ASRock Fatal1ty Z390 Gaming-ITX/AC needs these settings (from Post #1, Compilation of Patches...):

View attachment 435879

I've entered these patched into your config.plist (attached). Please give it a try...
Thanks. I dropped that config.plist in and rebooted. It's *slightly* better, in that the green flicker begins between 5-30 seconds after logging in as a user. Previously, the flicker would start as soon as the login screen would come up.

Any idea about what the underlying problem is? I'm equal parts fascinated and aggravated by it ; )

thx!
 
Top