Contribute
Register

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

For graphics in About This Mac is HD 530 2048 MB, which can be adjusted with one letter g>Y in Data line to 1536MB.
IORegistry enclosed. In the same time htool reports quite different.
As long as About this Mac shows the right memory value your configuration is correct. IORegistryExplorer also confirms that AppleIntelFramebuffer is attached.
 
And note there is no Index 5. There is Port 0x05, which is tied to Index 1.
Yes, I know what you mean. For external screens, Ports 5-7 go with Indices 1-3. But mine is an internal screen which should have Index 0.
Here's what I don't understand though. Headkaze's patching guide shows Sandy Bridge 00010000 has Index 5 BusID 3 on Con0. My screen turns off If I don't have that, either actually patching that information into my config or leaving con0 Index, BusID, and Type alone and checking Apply Current Patches. With Con0 configured like that, I get no pick up from Con0, but from Con1-3.
And I would just go with snb-platform-id 00030010 because that one gives me a normal output, only if the brightness wouldn't turn down when I unplug my power adapter. But I have no idea how to configure the framebuffer table for the screen to come on.
 
Yes, I know what you mean. For external screens, Ports 5-7 go with Indices 1-3. But mine is an internal screen which should have Index 0.
Here's what I don't understand though. Headkaze's patching guide shows Sandy Bridge 00010000 has Index 5 BusID 3 on Con0. My screen turns off If I don't have that, either actually patching that information into my config or leaving con0 Index, BusID, and Type alone and checking Apply Current Patches. With Con0 configured like that, I get no pick up from Con0, but from Con1-3.
And I would just go with snb-platform-id 00030010 because that one gives me a normal output, only if the brightness wouldn't turn down when I unplug my power adapter. But I have no idea how to configure the framebuffer table for the screen to come on.
Sandy Bridge platform ID 0x00020000 on High Sierra has Index 5 on BusID 0x03 and LVDS. But ID 0x00010000 has Index 1 on BusID 0x05 and DP. So I think you meant the former. I'm afraid I have a lot of questions!!
  • Are you saying that Platform ID 0x00030010 gives you "normal output" but when you unplug the power adapter, the screen does not dim automatically to conserve battery power?
  • Is the screen readable with 0x00030010?
  • Is the brightness fixed at 100%?
  • Can you lower the brightness manually?
  • What do you mean by "But I have no idea how to configure the Framebuffer table for the screen to come on" because it seems the screen is already giving you "normal output"??
 
Sandy Bridge platform ID 0x00020000 on High Sierra has Index 5 on BusID 0x03 and LVDS. But ID 0x00010000 has Index 1 on BusID 0x05 and DP.

Code:
0x00010000 (mobile, 4 connectors, no fbmem)
0x00020000 (mobile, 1 connectors, no fbmem)
0x00030010 (desktop, 3 connectors, no fbmem)
0x00030030 (desktop, 0 connectors, no fbmem)
0x00040000 (mobile, 3 connectors, no fbmem)
0x00030020 (mobile, 4 connectors, no fbmem)
0x00050000 (desktop, 1 connectors, no fbmem)

ID: 00010000
TOTAL STOLEN: 0 bytes, TOTAL CURSOR: 1 MB, MAX STOLEN: 0 bytes, MAX OVERALL: 1 MB (1064960 bytes)
GPU Name: Intel HD Graphics 3000
Model Name(s): MacBookPro8,1 MacBookPro8,2 MacBookPro8,3
Freq: 1808 Hz, FreqMax: 1808 Hz
Mobile: 1, PipeCount: 2, PortCount: 4, FBMemoryCount: 0
[5] busId: 0x03, pipe: 0, type: 0x00000002, flags: 0x00000030 - LVDS
[2] busId: 0x05, pipe: 0, type: 0x00000400, flags: 0x00000007 - DP
[3] busId: 0x04, pipe: 0, type: 0x00000400, flags: 0x00000009 - DP
[4] busId: 0x06, pipe: 0, type: 0x00000400, flags: 0x00000009 - DP
05030000 02000000 30000000
02050000 00040000 07000000
03040000 00040000 09000000
04060000 00040000 09000000

ID: 00020000
TOTAL STOLEN: 0 bytes, TOTAL CURSOR: 1 MB, MAX STOLEN: 0 bytes, MAX OVERALL: 1 MB (1052672 bytes)
GPU Name: Intel HD Graphics 3000
Model Name(s): MacBookPro8,3
Freq: 1808 Hz, FreqMax: 1808 Hz
Mobile: 1, PipeCount: 2, PortCount: 1, FBMemoryCount: 0
[5] busId: 0x03, pipe: 0, type: 0x00000002, flags: 0x00000030 - LVDS
05030000 02000000 30000000
This is what I looked into, although I really can't make out what this means with Index 5.
So I think you meant the former.
I meant Con0, as in ID: 00010000. By former, I think you mean Con1 with Index 1, BusID 5, DP, but the screen blacks out on boot If I don't have the following: with
-Con0, Index 5, BusID 3, Type LVDS
-Any one of these lines has Index 0, Dummy, all flags unchecked
-Any one of these lines has Index 0, Dummy, all flags unchecked
-Any one of these lines has Index 0, Dummy, all flags unchecked
The screen turns on "white" and is recognized as all Dummies I have made in the table, like this:
-Con0, Index 5, BusID 3, Type LVDS
-Con1, Index 1, BusID 5, Type DP
-Con2, Index 0, BusID 4, Type Dummy
-Con3, Index 0, BusID 2, Type Dummy
  • Are you saying that Platform ID 0x00030010 gives you "normal output" but when you unplug the power adapter, the screen does not dim automatically to conserve battery power?
  • Is the screen readable with 0x00030010?
  • Is the brightness fixed at 100%?
The screen does turn dim automatically to conserve battery power. Brightness slider patch with SSDT-PLNF and the corresponding kext doesn't work as macOS thinks it is an external screen. I can't get it back up to 100 % without replug. The screen is readable. Even better than when I boot Windows 10, I think. The brightness is fixed at 100 % with power plugged in, and something like 50 % when the laptop runs on battery. I want the brightness to be fixed at 100 %, or make the brightness slider work to get it back up to 100 %.
Can you lower the brightness manually?
I've tried the Brightness Slider app from App Store, and it does what it's supposed to do, only adding dark layer onto the already dim screen, not getting any brighter. I've also tried the NativeDisplayBrightness kext. It only shows the slider effect with no change in actual brightness. I do not know what I could do to manually change the brightness.
What do you mean by "But I have no idea how to configure the Framebuffer table for the screen to come on" because it seems the screen is already giving you "normal output"??
The screen comes on "normal" only if I inject snb-platform-id 00030010 and EDID via Graphics/. If I have it (10000300) in Devices/Properties/PciRoot~, it turns off or stops at the Apple logo or -v boot. I assume that's how the old IntelGraphicsFixup and the current WhatEverGreen differ? I have not figured out a way for WhatEverGreen to pick up the "normal" screen with 10000300 in Devices/Properties/PciRoot~ method. This is what I meant. And even this (getting the screen to work as external) is to be avoided because the screen is built-in, so I should have 00000100 and fully functioning internal screen.
The screen blows white if I inject snb-platform-id 00010000 or 00020000 into Graphics/ or Devices/Properties/PciRoot~. Like I described, it's because macOS picks up the screen as unhighlighted Con0 Index 5 BusID 3 LVDS and highlighted green Dummies. It also works with 00030010 if I have "fully patched" data as I mentioned:
-Con0, Index 5, BusID 3, Type LVDS
-Any one of these lines has Index 0, Dummy, all flags unchecked
-Any one of these lines has Index 0, Dummy, all flags unchecked
-Any one of these lines has Index 0, Dummy, all flags unchecked
But "white" screen. So WhatEverGreen turns on the screen with 00030010 ID and 00020000 table.
All the above information is just the errors I have with my screen. Probably none of that will matter if I get my screen to fully function. I really need an HDMI cable to see what's happening with LVDS turned off. I am getting one in next week.
 
I get very good screen 1920*1200 in DVI but connecting by HDMI makes desktop oversized and hard to use. Moreover in DVI mode monitor went sleep and becoming black, but in HDMI mode only changes to blue. Is it possible to get same on HDMI as on DVI, as I am concerning to buy some 4k monitor.
 
I get very good screen 1920*1200 in DVI but connecting by HDMI makes desktop oversized and hard to use. Moreover in DVI mode monitor went sleep and becoming black, but in HDMI mode only changes to blue. Is it possible to get same on HDMI as on DVI, as I am concerning to buy some 4k monitor.
Can you please confirm that your framebuffer settings resemble the image below? When you run Hackintool, you must first select Framebuffer --> MacOS 10.14 and Patch --> Apply Current Patches from the top menu bar.

Then look at the Connectors tab, plug both DVI and HDMI cables at the same time and take a screenshot.

I am trying to make sure that the settings we discussed previously are in effect.
Screen Shot 2019-01-20 at 2.04.16 PM.png
 
I found the correct configuration for the Asrock H370M-ITX/AC with Intel UHD 630 (Coffee Lake):

Port 5 (Index 1) is DisplayPort -> Bus = 0x05
Port 6 (Index 2) is HDMI -> Bus = 0x02
Port 7 (Index 3) is HDMI -> Bus = 0x01

At the moment the only thing doesn't work is: Sleep.

Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Devices</key>
    <dict>
        <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>
    </dict>
</dict>
</plist>
 

Attachments

  • connectors.png
    connectors.png
    137 KB · Views: 110
  • general.png
    general.png
    127.5 KB · Views: 106
I found the correct configuration for the Asrock H370M-ITX/AC with Intel UHD 630 (Coffee Lake):

Port 5 (Index 1) is DisplayPort -> Bus = 0x05
Port 6 (Index 2) is HDMI -> Bus = 0x02
Port 7 (Index 3) is HDMI -> Bus = 0x01

At the moment the only thing doesn't work is: Sleep.
Thank you very much for sharing!!

Before I add this to the Guide, can you please answer the following:
  • Your board has 3 on-board video ports: DP, HDMI, HDMI.
  • Have you tested all three ports and do they work properly?
Regarding sleep, most of the time (note: this does not mean all of the time) this can be fixed as follows:
  • Enable the checkbox in ACPI section of Clover Configurator: PluginType
  • Enable the checkbox in Kernel and Kext Patches: AppleIntelCPUPM
  • To enable wake-from-sleep with one key press, usually darkwake=0 will work.
But every motherboard behaves a little differently, so there's no one-size-fits-all...
 
Thank you very much for sharing!!

Before I add this to the Guide, can you please answer the following:
  • Your board has 3 on-board video ports: DP, HDMI, HDMI.
  • Have you tested all three ports and do they work properly?
Regarding sleep, most of the time (note: this does not mean all of the time) this can be fixed as follows:
  • Enable the checkbox in ACPI section of Clover Configurator: PluginType
  • Enable the checkbox in Kernel and Kext Patches: AppleIntelCPUPM
  • To enable wake-from-sleep with one key press, usually darkwake=0 will work.
But every motherboard behaves a little differently, so there's no one-size-fits-all...
Yes, I tested all 3 ports (DP,HDMI,HDMI).

Now I try your settings for the sleep and I will tell you if they work.
 
Back
Top