Contribute
Register

[solved] HP Spectre x360 15-bl110nd High Sierra Intel UHD 620 4K Graphics

Status
Not open for further replies.
Joined
Apr 7, 2018
Messages
93
Motherboard
Asus ROG Strix Z390-I Gaming
CPU
i7-8700K
Graphics
Vega 56
Mac
  1. iMac
Mobile Phone
  1. iOS
Hi all,

So far, I installed MacOS High Sierra on my HP Spectre x360 15-bl110nd. I managed to get my Intel UHD 620 graphics to work at 1920 X 1080 60 Hz with the following config and patches:

- IntelGFX = 0x59168086
- ig-platform-id = 0x59160000
- proper DSDT (rename patches included) in acpi/patched
- added fake-pciid.kext, fake-pciid-intel-hd-graphics.kext, CoreDisplayFixup.kext and Lilu.kext in Clover kext folder
in other/
- added SSDT-IGPU hotpatch and added under LAPH section this code:
Code:
// KabyLake/UHD620
            0x5917, 0, Package()
            {
                "AAPL,ig-platform-id", Buffer() { 0x00, 0x00, 0x16, 0x59 }, //UHD/QHD+
                "model", Buffer() { "Intel UHD Graphics 620" },
                "device-id", Buffer { 0x16, 0x59, 0x00, 0x00 },
                "hda-gfx", Buffer() { "onboard-1" },
            },
- Checked if in fake-pciid-intel-hd-graphics.kext this config was set:
Code:
<key>UHD620</key>
        <dict>
            <key>CFBundleIdentifier</key>
            <string>org.rehabman.driver.FakePCIID</string>
            <key>FakeProperties</key>
            <dict>
                <key>RM,device-id</key>
                <data>FlkAAA==</data>
            </dict>
            <key>IOClass</key>
            <string>FakePCIID</string>
            <key>IOMatchCategory</key>
            <string>FakePCIID</string>
            <key>IOPCIClassMatch</key>
            <string>0x03000000&amp;0xff000000</string>
            <key>IOPCIPrimaryMatch</key>
            <string>0x59168086 0x59178086</string>
            <key>IOProbeScore</key>
            <integer>9001</integer>
            <key>IOProviderClass</key>
            <string>IOPCIDevice</string>
        </dict>
With this configuration I managed to get graphics acceleration at max resolution 1920 X 1080 60 Hz. My internal display supports 4k resolution which does not work. I have no 4k resolution option at display settings. The problem why 4K is not working right now has probably to do with the required 128mb dvmt-prealloc option set in bios. If I apply this framebuffer patch which requires 128mb dvmt-prealloc:
Code:
<dict>
                <key>Comment</key>
                <string>0x59160000, 80MB framebuffer 12MB cursor bytes (credit RehabMan)</string>
                <key>Disabled</key>
                <false/>
                <key>Find</key>
                <data>AQMDAwAAIAIAAAAA</data>
                <key>Name</key>
                <string>com.apple.driver.AppleIntelKBLGraphicsFramebuffer</string>
                <key>Replace</key>
                <data>AQMDAwAAAAUAAMAA</data>
            </dict>
my system hangs (see picture).
IMG_4407.JPG

So my question is how can I check which dvmt-prealloc size is set in my bios right know? Or does somebody already now which size it has as default? I already know that windows 10 is not a valid way to check so what is the correct way?

My second question is if I do not have enough dvmt-prealloc mb, does anybody know how to set it in bios (I have no option in bios) with shell or patch?

thanks in advance


 
Last edited:
Hi all,

So far, I installed MacOS High Sierra on my HP Spectre x360 15-bl110nd. I managed to get my Intel UHD 620 graphics to work at 1920 X 1080 60 Hz with the following config and patches:

- IntelGFX = 0x59168086
- ig-platform-id = 0x59160000
- proper DSDT (rename patches included) in acpi/patched
- added fake-pciid.kext, fake-pciid-intel-hd-graphics.kext, CoreDisplayFixup.kext and Lilu.kext in Clover kext folder
in other/
- added SSDT-IGPU hotpatch and added under LAPH section this code:
Code:
// KabyLake/UHD620
            0x5917, 0, Package()
            {
                "AAPL,ig-platform-id", Buffer() { 0x00, 0x00, 0x16, 0x59 }, //UHD/QHD+
                "model", Buffer() { "Intel UHD Graphics 620" },
                "device-id", Buffer { 0x16, 0x59, 0x00, 0x00 },
                "hda-gfx", Buffer() { "onboard-1" },
            },
- Checked if in fake-pciid-intel-hd-graphics.kext this config was set:
Code:
<key>UHD620</key>
        <dict>
            <key>CFBundleIdentifier</key>
            <string>org.rehabman.driver.FakePCIID</string>
            <key>FakeProperties</key>
            <dict>
                <key>RM,device-id</key>
                <data>FlkAAA==</data>
            </dict>
            <key>IOClass</key>
            <string>FakePCIID</string>
            <key>IOMatchCategory</key>
            <string>FakePCIID</string>
            <key>IOPCIClassMatch</key>
            <string>0x03000000&amp;0xff000000</string>
            <key>IOPCIPrimaryMatch</key>
            <string>0x59168086 0x59178086</string>
            <key>IOProbeScore</key>
            <integer>9001</integer>
            <key>IOProviderClass</key>
            <string>IOPCIDevice</string>
        </dict>
With this configuration I managed to get graphics acceleration at max resolution 1920 X 1080 60 Hz. My internal display supports 4k resolution which does not work. I have no 4k resolution option at display settings. The problem why 4K is not working right now has probably to do with the required 128mb dvmt-prealloc option set in bios. If I apply this framebuffer patch which requires 128mb dvmt-prealloc:
Code:
<dict>
                <key>Comment</key>
                <string>0x59160000, 80MB framebuffer 12MB cursor bytes (credit RehabMan)</string>
                <key>Disabled</key>
                <false/>
                <key>Find</key>
                <data>AQMDAwAAIAIAAAAA</data>
                <key>Name</key>
                <string>com.apple.driver.AppleIntelKBLGraphicsFramebuffer</string>
                <key>Replace</key>
                <data>AQMDAwAAAAUAAMAA</data>
            </dict>
my system hangs (see picture).
View attachment 339846
So my question is how can I check which dvmt-prealloc size is set in my bios right know? Or does somebody already now which size it has as default? I already know that windows 10 is not a valid way to check so what is the correct way?

My second question is if I do not have enough dvmt-prealloc mb, does anybody know how to set it in bios (I have no option in bios) with shell or patch?

thanks in advance



No "Problem Reporting" files attached.
Read FAQ, "Problem Reporting" again. Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
Use the gen_debug.sh tool mentioned in the FAQ, that way it is less likely you'll omit something.
 

Attachments

  • Archive.zip
    14.9 MB · Views: 112
Your ioreg proves your display is working at 3840x2160.
@RehabMan

If I open /Settings/Display, I am only able to choose max resolution 1920 x 1080. No 4k option present.
I also cannot use this patch:

Code:
<dict>
                <key>Comment</key>
                <string>0x59160000, 80MB framebuffer 12MB cursor bytes (credit RehabMan)</string>
                <key>Disabled</key>
                <false/>
                <key>Find</key>
                <data>AQMDAwAAIAIAAAAA</data>
                <key>Name</key>
                <string>com.apple.driver.AppleIntelKBLGraphicsFramebuffer</string>
                <key>Replace</key>
                <data>AQMDAwAAAAUAAMAA</data>
            </dict>
If I enable it in clover, I get kernel panic (see picture). Is this patch still needed?
 
@RehabMan

If I open /Settings/Display, I am only able to choose max resolution 1920 x 1080. No 4k option present.
I also cannot use this patch:

Code:
<dict>
                <key>Comment</key>
                <string>0x59160000, 80MB framebuffer 12MB cursor bytes (credit RehabMan)</string>
                <key>Disabled</key>
                <false/>
                <key>Find</key>
                <data>AQMDAwAAIAIAAAAA</data>
                <key>Name</key>
                <string>com.apple.driver.AppleIntelKBLGraphicsFramebuffer</string>
                <key>Replace</key>
                <data>AQMDAwAAAAUAAMAA</data>
            </dict>
If I enable it in clover, I get kernel panic (see picture). Is this patch still needed?

You should not expect to be able to choose any sort of 4k resolution. The text size would be ridiculous.

The patch you mention is only valid if you can set DVMT-prealloc to 128MB.
 
You should not expect to be able to choose any sort of 4k resolution. The text size would be ridiculous.

The patch you mention is only valid if you can set DVMT-prealloc to 128MB.
Okee, So my build is correct regarding to the Graphics acceleration? No option for 4k is normal for internal display? And do I still need the framebuffer patch from post #6?
 
Last edited:
Okee, So my build is correct regarding to the Graphics acceleration?

According to ioreg, yes.

No option for 4k is normal for internal display?

Normal. You would find the same on retina Mac.

And do I still need the framebuffer patch from post #7?

That patch would require 128MB DVMT-prealloc (which would probably need to be set via setup_var in special UEFI shell or patched/unlocked BIOS, as your BIOS probably does not have the option).
 
According to ioreg, yes.



Normal. You would find the same on retina Mac.



That patch would require 128MB DVMT-prealloc (which would probably need to be set via setup_var in special UEFI shell or patched/unlocked BIOS, as your BIOS probably does not have the option).
@RehabMan

Thank you very much @RehabMan for the quick input. One last question. What benefits has the framebuffer patch applied over not applied? Why are my graphics working right now without the patch? I read some posts somewhere it is recommended for the UHD 620.
 
Status
Not open for further replies.
Back
Top