Jump to content

Intel HD 630 acceleration


thefiredragon
 Share

37 posts in this topic

Recommended Posts

3 hours ago, Zenith432 said:

I installed macOS 10.13.4, with Intel HD Graphics 630 (model 0x5912), using
AppleIntelKBLGraphics
AppleIntelKBLGraphicsFramebuffer

and I'm getting massive flicker and screen artifacts.

This happens with patches posted in this thread for ComputeLaneCount/PAVP-disable.

So I tried with latest Lilu 1.2.2/IntelGraphicsFixup 1.2.6.  Flicker still there!

Anyone else run into this or know of a solution?

Thanks!

You need to install the model iMac18.1 , only it does not flicker.

  • Like 1
Link to comment
Share on other sites

  • 3 months later...
  • 7 months later...

It's been a while since I visited this topic, but here are up-to-date kext patches via Clover config.plist that allow me to run

OS 10.14.3

on Intel HD 630 (KabyLake CPU + Z270 chipset)

with full accelleration and without using Lilu/IntelGraphicsFixup or Lilu/WhateverGreen.

There are three patches needed

			<dict>
				<key>Comment</key>
				<string>10.12.6-KBL-59120000-Port_0x5-DP2HDMI</string>
				<key>Find</key>
				<data>AQUJAAAEAACHAQAA</data>
				<key>Name</key>
				<string>com.apple.driver.AppleIntelKBLGraphicsFramebuffer</string>
				<key>Replace</key>
				<data>AQUJAAAIAACHAQAA</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>10.14.3-KBL-ComputeLaneCount</string>
				<key>Find</key>
				<data>SP8FJFcHAA==</data>
				<key>MatchOS</key>
				<string>10.14.3</string>
				<key>Name</key>
				<string>com.apple.driver.AppleIntelKBLGraphicsFramebuffer</string>
				<key>Replace</key>
				<data>uAEAAADrdQ==</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>10.12.6-KBL-Turn off PAVP/HDCP on Kabylake HD630</string>
				<key>Find</key>
				<data>g+AGuQYAAAA=</data>
				<key>Name</key>
				<string>com.apple.driver.AppleIntelKBLGraphics</string>
				<key>Replace</key>
				<data>McCQuQYAAAA=</data>
			</dict>

Notes

  • I also use -disablegfxfirmware bootarg to prevent loading of firmware.
  • Use mac model iMac18,1
  • The patch for PAVP problem is same since 10.12.6, and same as one posted earlier in this thread.
  • The patch for DP to HDMI connectors is also an old one and works since 10.12.6.
  • The patch for ComputeLaneCount is new and revised for OS 10.14.3.
  • For some odd reason, if I leave out the DP2HDMI patch, my screen turns reddish, so it appears that having the wrong connector type (DP) that doesn't really exist on the mainboard can cause bad side-effects.
Edited by Zenith432
  • Like 3
Link to comment
Share on other sites

New discovery

 

After some reverse engineering of AppleIntelKBLGraphicsFramebuffer I found that the freeze due to ComputeLaneCount in OS 10.14.3 can be eliminated by adding a bootarg

HDMI_2_0_Disable=1

 

Notes

  • Setting this bootarg makes the patch to ComputeLaneCount unnecessary in 10.14.3.
  • Setting this bootarg also eliminates the reddish hue I get in the absence of the DP2HDMI patch.  So this patch does not have to be used.  However, if you want to enable HDMI audio you still need the DP2HDMI patch.
  • In OS 10.13.6, the sense of this bootarg is reversed, so HDMI_2_0 is disabled by default, and to enable a bootarg HDMI_2_0_Enable=1 is available.  In particular, this means that the ComputeLaneCount patch on OS 10.13.6 is not needed by default.  It's been some time since I tried to boot HighSierra without it, so I didn't notice that it's not needed!

 

So to summarize, with Z270 chipset, Kabylake HD 630, no IntelGraphicsFixup nor WhateverGreen, for full acceleration

  • In OS 10.13.6
    • Use mac model iMac18,1
    • Use bootarg -disablegfxfirmware
    • DP2HDMI patch is optional if want HDMI audio
    • PAVP patch is optional - not required for the system to boot but can prevent some freezes when playing YouTube video
  • In OS 10.14.3
    • Same as above and also add bootarg HDMI_2_0_Disable=1 (this bootarg does not interfere with 10.13.6, so can always leave it there).
Edited by Zenith432
  • Like 6
Link to comment
Share on other sites

The fix for ComputeLaneCount by HDMI_2_0_Disable is not "coincidental".  I checked the code.  The link you gave shows outdated code.  The freeze is in AppleIntelFramebuffer::validateDetailedTiming, which in 10.14.3 does the following

                call    AppleIntelFramebufferController::ComputeLaneCount(IODetailedTimingInformationV2 const*,uint,uint *)
                test    al, al
                jz      short 17EB5
                inc     cs:AF060
                movzx   eax, byte ptr [r14+2389h]
                cmp     [rbp-34h], eax
                jbe     short 17EE9
17EB5:
                inc     cs:AF058
                mov     rdi, [r14+1D0h]
                mov     rsi, r12
                call    AppleIntelFramebufferController::isValidExtendedModesetParams(IODetailedTimingInformationV2 const*)
                test    al, al
                jz      short 17EE9
                inc     cs:AF070
                mov     rdi, r14
                mov     rsi, r12
                call    AppleIntelFramebuffer::IsHorizontalBlankingRequired(IODetailedTimingInformationV2 const*)
                test    al, al
                jz      182DD

17EE9:

The patch to ComputeLaneCount (done by WhateverGreen, or my Clover patch above) causes the code to execute the first "jbe 17EE9" and succeed.  With the original ComputeLaneCount, it proceeds to 17EB5, then...

- With HDMI 2.0 enabled, the call to isValidExtendedModesetParams returns true, and then isHorizontalBlankingRequired returns false which makes it jump to 182DD and this is the cause of the failure.

- With HDMI 2.0 disabled, isValidExtendedModesetParams returns false, because the params are set in initTimingRange so that this function returns false (i.e. the functionality is disabled.)  So the code proceeds to 17EE9 just as the ComputeLaneCount patch causes it to do.

 

I'm not excluding the possibility that people have other issues than the ones I need to fix.  But the stuff I listed is enough to make it work with my MB.

Edited by Zenith432
  • Like 2
Link to comment
Share on other sites

Quote

I'm not excluding the possibility that people have other issues than the ones I need to fix.  But the stuff I listed is enough to make it work with my MB.

Yeah, that's the point. The core issue is that AGDP assumes the display is a built-in one, and forces this path. HDMI 2.0 disable just discards some unrelated code, and it happens to fix the lane count issue as well. 

The only issue with the description in WhateverGreen is the name, the code returned just as it was in 10.13.x beta. Anyway, good we have it back, though I would not expect it work the same way in the future.

  • Like 1
Link to comment
Share on other sites

I still don't understand the point, because the fact that the patch that WhateverGreen makes to ComputeLaneCount solves this freeze is just as a big of a coincidence as the fact that disabling HDMI 2.0 solves the freeze.  Both solutions work due to the logic in the code snippet from AppleIntelFramebuffer::validateDetailedTiming I pasted above, and any change Apple makes in the few lines of source code for this snippet could break either fix or both.

The problem with ComputeLaneCount has been the most serious for me because (unlike the others) it causes the system to hang.  AppleIntelKBLGraphicsFramebuffer is not embedded in the prelinkedkernel shipped by Apple for recovery volumes, installation volumes and software update.  Since Clover can only patch prelinkedkernel or booter kexts, it left the only way of resolving the hang for software updates to inject WhateverGreen/IntelGraphicsFixup as booter kexts.  But by disabling HDMI 2.0, the freeze is resolved without any booter kexts.

  • Like 1
Link to comment
Share on other sites

Good Morning, i post here because i'm desesperate about UHD630 on MSI GL63, it's have an Intel i7-8750H, and after trying all id's and fake id's and all kexts to get functional, i can't do it.

So, are there any form to get acceleration of iGPU? MacOS High Sierra 10.13.6 recognize it, but appears only 7Mb...

I leave here my clover config to someone that check if i'm doing something wrong.

Thanks in advace.

CLOVER 2.zip

 

Edited by chemary85
Link to comment
Share on other sites

  • 1 year later...
On 2/26/2019 at 5:15 PM, Zenith432 said:

I still don't understand the point, because the fact that the patch that WhateverGreen makes to ComputeLaneCount solves this freeze is just as a big of a coincidence as the fact that disabling HDMI 2.0 solves the freeze.  Both solutions work due to the logic in the code snippet from AppleIntelFramebuffer::validateDetailedTiming I pasted above, and any change Apple makes in the few lines of source code for this snippet could break either fix or both.

The problem with ComputeLaneCount has been the most serious for me because (unlike the others) it causes the system to hang.  AppleIntelKBLGraphicsFramebuffer is not embedded in the prelinkedkernel shipped by Apple for recovery volumes, installation volumes and software update.  Since Clover can only patch prelinkedkernel or booter kexts, it left the only way of resolving the hang for software updates to inject WhateverGreen/IntelGraphicsFixup as booter kexts.  But by disabling HDMI 2.0, the freeze is resolved without any booter kexts.

Is this the same patch as enable-hdmi20 in WEG? How do I deal with 4k screens without WEG?

Link to comment
Share on other sites

  • 6 months later...
On 3/5/2019 at 6:59 PM, chemary85 said:

Good Morning, i post here because i'm desesperate about UHD630 on MSI GL63, it's have an Intel i7-8750H, and after trying all id's and fake id's and all kexts to get functional, i can't do it.

So, are there any form to get acceleration of iGPU? MacOS High Sierra 10.13.6 recognize it, but appears only 7Mb...

I leave here my clover config to someone that check if i'm doing something wrong.

Thanks in advace.

CLOVER 2.zip

 


Chemary,

I've found the solution for you here. I've managed to enable my UHD630 with full VRAM and acceleration using Clover's property injection and yes it is working in 10.13.6 17G14033). > 

 

Link to comment
Share on other sites

 Share

×
×
  • Create New...