Contribute
Register

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

Okay, this might sound harsh, but it’s really not meant to!! Let’s break this down:
  • “Monitor connected to the IGPU shows the Apple logo”
    • This means “BIOS —> Initial Display Output” is set to IGFX.
    • During boot, the standard non-accelerated video driver is used, which is able to drive just about any video port. When the boot progress bar reaches about two-thirds of the way, the screen will blink. This is when the actual accelerated display driver gets swapped-in. So the screen goes momentarily blank when the default driver disengages and the screen comes back when the accelerated driver initializes. But this final step does not happen because you said “Apple logo with the static loading bar”.
  • “System recognizes the display, it shows in System Preferences”
    • Does this contradict the above statement that the boot process froze with the static loading bar?
    • Or does this mean that you booted with the RX 580 and then connected an HDMI cable to the IGPU?
    • If you can boot up successfully with RX 580, it would be good to connect an HDMI cable to the IGPU — without removing the video cable from RX 580 — and then running IORegistryExplorer and saving/uploading the device tree (File —> Save As...).
    • Because you have the RX 580, is there any particular reason for trying to activate the onboard HDMI or other video port? It’s possible to use the IGPU for compute tasks, but not drive a display monitor. This is the so-called “Headless Mode”.
Hi @CaseySJ

Monitor connected to the IGPU shows the Apple logo - I should have mention it happens after boot, sorry I made myself sound dumber than I really am I guess :p
I don't have any boot problems. there is no freeze happening. The machine is on, working fully, with the monitor attached to the IGPU showing the apple logo at the same time.
The machine boots with both gpus attached to monitors -

I'm aware of the headless mode. It is just would be good to have IGPU working if we need to use the DGPU on another machine temporarily

as soon as I have access to the machine again i'll send you the ioreg file

thanks! appreciate it!
 
Sleep doesn't work either. Anyone know what changed in 10.14.4 with the framebuffer?
 
Hi @CaseySJ

Monitor connected to the IGPU shows the Apple logo - I should have mention it happens after boot, sorry I made myself sound dumber than I really am I guess :p
I don't have any boot problems. there is no freeze happening. The machine is on, working fully, with the monitor attached to the IGPU showing the apple logo at the same time.
The machine boots with both gpus attached to monitors -

I'm aware of the headless mode. It is just would be good to have IGPU working if we need to use the DGPU on another machine temporarily

as soon as I have access to the machine again i'll send you the ioreg file

thanks! appreciate it!
Let me see if I understand what you mean:
  1. When you connect IGPU and DGPU to two monitors, both of them display the Apple Boot Logo at startup (as they should).
  2. One monitor is Primary and the other is Secondary. Primary monitor will get the Mojave Login screen. The other will not.
  3. So if RX 580 is the Primary and IGPU is the Secondary, then system boots and operates fine.
  4. But if IGPU is the Primary and DGPU is the Secondary, it means you went to System Preferences --> Displays and moved the "white menu bar" from the RX580 monitor the IGPU monitor in order to switch the primary and secondary monitors, and then booted.
  5. The other option is to set BIOS --> Initial Display Output to IGFX and disconnect the video cable from the RX 580. Then Mojave sees only 1 monitor, and it makes it the primary.
So if scenario 5 is the problem, but scenarios 3 and 4 are okay, then it means Mojave is having a problem using the iGPU as a Primary display.

Which of these scenarios is the problem scenario? If the problem scenario is something else entirely, please describe...
 
Hi all,
I've tried all the combinations, but I can't in any way make my other 2 monitors (HDMI and DV) functional. I can't understand what I'm wrong. Even if the ports are set as soon as the system is rebooted, the hackintool connectors return to their initial values. (I attach the screenshots).
I also tried the configurations suggested by @CaseySJ but they don't work. Could anyone help me?
My configuration:
smbios: imac 17.1
CPU: i7-7700k
igpu: intel hd 630 (I think ...)
32 gb ram
motherboard: Asus Strix 270F

Thanks a lot!
 

Attachments

  • Schermata 2019-04-29 alle 23.11.48.png
    Schermata 2019-04-29 alle 23.11.48.png
    85.8 KB · Views: 63
  • Schermata 2019-04-29 alle 23.12.05.png
    Schermata 2019-04-29 alle 23.12.05.png
    101.9 KB · Views: 73
  • EFI.zip
    3.1 MB · Views: 48
Hi all,
I've tried all the combinations, but I can't in any way make my other 2 monitors (HDMI and DV) functional. I can't understand what I'm wrong. Even if the ports are set as soon as the system is rebooted, the hackintool connectors return to their initial values. (I attach the screenshots).
I also tried the configurations suggested by @CaseySJ but they don't work. Could anyone help me?
My configuration:
smbios: imac 17.1
CPU: i7-7700k
igpu: intel hd 630 (I think ...)
32 gb ram
motherboard: Asus Strix 270F

Thanks a lot!
There are several issues going on here:
  • Your config.plist is setting Platform ID 0x59160000 instead of 0x59120000.
  • You have defined connectors con0 and con3. But con3 is usually disabled (Index = -1). There are no definitions for con1 and con2.
  • When you run Hackintool, you must select Framebuffer --> Mojave and Patch --> Apply Current Patches. Otherwise Hackintool will show the default connector patches for the select platform ID.
  • You're using iMac17,1 which might be okay, but better to try iMac18,2 or iMac18,3 as stated in the Hackintool screenshot.
When you boot into Mojave, download and run IORegistryExplorer then immediately select File --> Save As... and upload the resulting file.

Have you tried this configuration:

Index 1, BusID 0x01, Type DP
Index 2, BusID 0x02, Type HDMI (physical port is DVI)
Index 3, BusID 0x04, Type HDMI

These changes (except for SMBIOS, which is still unchanged with iMac17,1) are incorporated into the attached config.plist.
 

Attachments

  • config.plist
    9.5 KB · Views: 111
There are several issues going on here:
  • Your config.plist is setting Platform ID 0x59160000 instead of 0x59120000.
  • You have defined connectors con0 and con3. But con3 is usually disabled (Index = -1). There are no definitions for con1 and con2.
  • When you run Hackintool, you must select Framebuffer --> Mojave and Patch --> Apply Current Patches. Otherwise Hackintool will show the default connector patches for the select platform ID.
  • You're using iMac17,1 which might be okay, but better to try iMac18,2 or iMac18,3 as stated in the Hackintool screenshot.
When you boot into Mojave, download and run IORegistryExplorer then immediately select File --> Save As... and upload the resulting file.

Have you tried this configuration:

Index 1, BusID 0x01, Type DP
Index 2, BusID 0x02, Type HDMI (physical port is DVI)
Index 3, BusID 0x04, Type HDMI

These changes (except for SMBIOS, which is still unchanged with iMac17,1) are incorporated into the attached config.plist.

Hi @CaseySJ thanks for the reply. I replaced the config.plist and restarted the system. I attach the IORegistryExplorer file, without the applied patch, that the one with the applied patch.
Image show Hackintool after applied patch. Setting return to default :(
 

Attachments

  • iMac (without patch).ioreg
    2.5 MB · Views: 71
  • iMac (with patch applied).ioreg
    2.4 MB · Views: 69
  • Schermata 2019-04-30 alle 11.17.30.png
    Schermata 2019-04-30 alle 11.17.30.png
    95.5 KB · Views: 77
Last edited:
Sleep works with double monitors. The only issue left is booting with both monitors connected. 10.14.4 has borked that up for me. I tried changing the BUSID on the DP monitor that doesn't come on. That didn't work. Any ideas?

I have the latest Lilu and WEG. Everything was fine on 10.14.3 once I used the Hackintool. Not any more after the update.
 
Hi @CaseySJ thanks for the reply. I replaced the config.plist and restarted the system. I attach the IORegistryExplorer file, without the applied patch, that the one with the applied patch.
Image show Hackintool after applied patch. Setting return to default :(
Both of the IORegistry files show the same thing:
  • Platform ID 0x59160000
  • Device ID 0x5912
  • Port 5 = HDMI
  • Port 6 = HDMI
Lilu and WhateverGreen are active in both cases. So this means that the framebuffer connector patches are not being applied.

The problem might be with the manner in which you're applying the patches. Here's the correct way:
  • On the Hackintosh, use Clover Configurator to mount the EFI partition of the Mojave SSD.
    • A new disk icon labeled EFI will appear on the desktop. If it does not, stop and let me know.
  • Copy the attached config.plist into the EFI/CLOVER folder on the disk labeled EFI.
    • Based on the IOReg output, it seems the connector patch should be as follows:
      • Platform ID 0x59120000
      • Device ID 0x5912
      • Index 1: BusID 0x02, Type HDMI (port 5)
      • Index 2: BusID 0x04, Type HDMI (port 6)
      • Index 3: BusID 0x01, Type DP (port 7)
    • These changes have been made to the attached file.
  • When you boot the computer, make sure the USB install disk is removed and boot from the Mojave disk. Press the appropriate Function Key (F8 for Asus?) to select boot disk during BIOS splash screen and ensure that the Mojave disk is selected.
 

Attachments

  • config.plist
    9.5 KB · Views: 75
Sleep works with double monitors. The only issue left is booting with both monitors connected. 10.14.4 has borked that up for me. I tried changing the BUSID on the DP monitor that doesn't come on. That didn't work. Any ideas?

I have the latest Lilu and WEG. Everything was fine on 10.14.3 once I used the Hackintool. Not any more after the update.
The only other thing I can think of is the Clover version running on the Mojave SSD. You may want to try using the same version that was running under 10.14.3 or updating to the latest...
 
Thanks @CaseySJ, when I mount the ssd with clover configurator, nothing appears on the desktop, while on the finder I see the EFI partition, but I noticed that if from the finder I go to the ssd disk (which I called Mojave) the config.plist file is different (???).
Could this be the problem?
First screenshot show EFI from finder
Second show EFI from GO--->Computer--->Mojave disk
 

Attachments

  • Schermata 2019-04-30 alle 18.14.25.png
    Schermata 2019-04-30 alle 18.14.25.png
    2 MB · Views: 70
  • Schermata 2019-04-30 alle 18.15.00.png
    Schermata 2019-04-30 alle 18.15.00.png
    155.8 KB · Views: 55
  • Schermata 2019-04-30 alle 18.41.10.png
    Schermata 2019-04-30 alle 18.41.10.png
    437.5 KB · Views: 46
Back
Top