Contribute
Register

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

Joined
Dec 31, 2013
Messages
506
Motherboard
Huawei Matebook D
CPU
i5-8250U
Graphics
UHD 620
Mobile Phone
iOS
I like your descriptive prowess. ;)


This is not strictly an HDMI black screen problem, but rather a system stability problem. I will provide some general guidelines here, but the conversation should be continued in the Mojave Desktop Support forum.
  • Is the system stable if you undo the framebuffer connector patch and use the iGPU in non-accelerated fashion?
  • Have you tried disconnecting all USB and other connected devices other than keyboard/mouse?
  • Have you updated to latest BIOS?
  • If you have a spare SSD, it is always a good idea to do a fresh installation on that disk and see if the system remains stable. If so, it indicates a corruption on your primary installation.
  • Do you have Windows/NTFS drives, NTFS drivers, etc. that you can disconnect or uninstall?
    • Again, a completely fresh installation of MacOS on a spare SSD is ideal because it eliminates a lot of variables stemming from third-party apps, malware, weird kexts, and other nasties.
  • You may also compress and upload your CLOVER folder with serial numbers redacted from SMBIOS.
The freeze continues to happen with all the Bios tested.
Most of the times it happens with a Video/Audio playing.
Could be related to hardware acceleration.
 
Joined
Sep 18, 2013
Messages
44
Mac
Classic Mac
Mobile Phone
Hello @joanareis,

You're right -- the iGPU is enabled and accelerated. Please try 2 things:
  1. Try the attached config.plist. But also ensure all third party kexts (Lilu, WhateverGreen, FakeSMC, network-related kexts, etc.) are copied to /Library/Extensions (and run Kext Utility to rebuild kernel caches.)
  2. If that does not help, make the following changes to the attached config.plist and try again.

  • AAPL,ig-platform-id = 0x00001259
  • device-id = 12590000
Both of these parameters are in Clover Configurator --> Devices --> Properties.
Hi @CaseySJ sorry for the late reply
I updated my kexts and now I have some kind of a image.... The monitor connected to the IGPU shows the apple logo. The system recognises the display, it show in system preferences, my mouse pointer shows in the monitor... if I take a screen shot I even have image in the grab but what I see in the monitor is the apple logo with the a static loading bar :crazy:
Any insights?

Thank you very much for all you help, not only for me but all the community, you're amazing!
 

Attachments

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
6,057
Motherboard
Gigabyte Designare Z390
CPU
i7-9700K
Graphics
RX 5700 XT
Mac
MacBook Air, Mac Pro
Classic Mac
Quadra
Mobile Phone
iOS
The freeze continues to happen with all the Bios tested.
Most of the times it happens with a Video/Audio playing.
Could be related to hardware acceleration.
It would be best to start a new thread in the Mojave Desktop Support forum where other Asus owners may be able to help. You should of course describe the problem, the steps taken so far, the partial results (20 successful hours with HFS+), the version of Mojave, the make/model of the NVMe drive, any USB or PCIe devices in the system, etc.
 

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
6,057
Motherboard
Gigabyte Designare Z390
CPU
i7-9700K
Graphics
RX 5700 XT
Mac
MacBook Air, Mac Pro
Classic Mac
Quadra
Mobile Phone
iOS
Hi @CaseySJ sorry for the late reply
I updated my kexts and now I have some kind of a image.... The monitor connected to the IGPU shows the apple logo. The system recognises the display, it show in system preferences, my mouse pointer shows in the monitor... if I take a screen shot I even have image in the grab but what I see in the monitor is the apple logo with the a static loading bar :crazy:
Any insights?

Thank you very much for all you help, not only for me but all the community, you're amazing!
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”.
 
Joined
Sep 18, 2013
Messages
44
Mac
Classic Mac
Mobile Phone
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!
 
Joined
May 5, 2018
Messages
45
Motherboard
MSI Z370I Gaming Pro Carbon AC
CPU
i7-8700K
Graphics
HD 630
Mobile Phone
Android
Sleep doesn't work either. Anyone know what changed in 10.14.4 with the framebuffer?
 

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
6,057
Motherboard
Gigabyte Designare Z390
CPU
i7-9700K
Graphics
RX 5700 XT
Mac
MacBook Air, Mac Pro
Classic Mac
Quadra
Mobile Phone
iOS
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...
 
Joined
Apr 19, 2019
Messages
32
Motherboard
ASUS Strix Z270-F
CPU
i7-7700K
Graphics
HD 630
Mac
iMac
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

CaseySJ

Moderator
Joined
Nov 11, 2018
Messages
6,057
Motherboard
Gigabyte Designare Z390
CPU
i7-9700K
Graphics
RX 5700 XT
Mac
MacBook Air, Mac Pro
Classic Mac
Quadra
Mobile Phone
iOS
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

Joined
Apr 19, 2019
Messages
32
Motherboard
ASUS Strix Z270-F
CPU
i7-7700K
Graphics
HD 630
Mac
iMac
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

Last edited:
Top