Contribute
Register

UHD 620 not accelerated on Gigabyte GB-BRi5(H)-8250

Status
Not open for further replies.
Although you might get close using a NUC guide, there will likely be differences you'll need to account for (audio codec, USB port layout, HDMI vs. DP port layout/assignment, ACPI differences, etc).
Thank you again - at this point I would be happy to get past the Apple Logo on boot.
I am aware that this thread is about the 8th generation Intel CPU and mine is 7th generation. I will ask one more question here - with the Kaby Lake 7th Gen and HD620 graphics do I need to inject a Fake CPUID in order to get the BRIX to boot from the UniBeast created install usb? I have seen that Kaby Lake processors have been supported in macOS for a while but wonder if that also applies to the HD620 variant? I posted asking for info in another post LINKED HERE so to respect the OP in this thread maybe reply there if you can find time. Once again many thanks
 
Thank you again - at this point I would be happy to get past the Apple Logo on boot.
I am aware that this thread is about the 8th generation Intel CPU and mine is 7th generation. I will ask one more question here - with the Kaby Lake 7th Gen and HD620 graphics do I need to inject a Fake CPUID in order to get the BRIX to boot from the UniBeast created install usb? I have seen that Kaby Lake processors have been supported in macOS for a while but wonder if that also applies to the HD620 variant? I posted asking for info in another post LINKED HERE so to respect the OP in this thread maybe reply there if you can find time. Once again many thanks

FakeCPUID not needed for current macOS.
 
Right... strange things.. I've switched to the Kaby Lake R profile I mentioned before, because I kept running into problems. Manually testing the platform-ID's worked, but after a cold boot, it was wrong again, although my config.plist wasn't changed.

I found out:
  1. when Clover boots automatically (timeout = 2 sec), my screen gets garbled after login
  2. when I pause the booting, my screen gets garbled after login
  3. when I change any Clover parameter (mouse speed for example), my screen gets garbled after login
  4. when I go to SMBios and edit any field, WITHOUT CHANGING ANYTHING, my screen IS NORMAL and accelerated after login
To be clear: I just confirm the already present line by selecting (for example) ProductID, press enter and press enter again.
I've tried this with (changed in config.plist before reboot) Product-ID's iMac14,1, 14,2 and 16,2. Video is stable in all cases (platformID= 0x59120000, FaceID = 0x59168086), although booting with 16,2 flickers a bit more.

I've compared Clover preboot logs, debug logs and kernel logging. No hints to what causes this difference when compared line by line. In the end, the only difference I can find is this kernel logging when it's allright:
Code:
root# grep gpu 18h26-16-2-bootlog-good.log
kernel: (AppleGraphicsPowerManagement) [AGPM Controller] build gpuDict by GPU IGPU.
kernel: (AppleGraphicsPowerManagement) [AGPM Controller] build gpuDict by GPU IGPU.
kernel: (AppleGraphicsPowerManagement) [AGPM Controller] build gpuDict by GPU IGPU.
displaypolicyd: (GPUWrangler) [com.apple.GPUWrangler:default] (reg) gpu 0x2401 flags 0xb2000010 (IG,published,quiet,pubSched,pubArmed) vid.did=8086.5916 b:d:f=0:2:0
gpu 0x2401        pci 0x1000001ef IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2
gpu 0x2401       agdc 0x1000003ca     /AppleIntelFramebufferController/IntelFBClientControl
gpu 0x2401       gpuc 0x000000000
gpu 0x2401 agdpclient 0x1000003cd     /AppleIntelFramebufferController/IntelFBClientControl/AppleGraphicsDevicePolicy/AGDPClientControl
gpu 0x2401      accel 0x100000383     /IntelAccelerator
gpu 0x2401      fb0:0 0x100000386     /AppleIntelFramebuffer@0
gpu 0x2401      fb1:1 0x100000387     /AppleIntelFramebuffer@1
gpu 0x2401      fb2:2 0x100000388     /AppleIntelFramebuffer@2

WindowServer: (GPUWrangler) [com.apple.GPUWrangler:default] (reg) gpu 0x2401 flags 0x10 (IG) vid.did=8086.5916 b:d:f=0:2:0
gpu 0x2401        pci 0x1000001ef IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2
gpu 0x2401       agdc 0x1000003ca     /AppleIntelFramebufferController/IntelFBClientControl
gpu 0x2401       gpuc 0x000000000
gpu 0x2401 agdpclient 0x1000003cd     /AppleIntelFramebufferController/IntelFBClientControl/AppleGraphicsDevicePolicy/AGDPClientControl
gpu 0x2401      accel 0x100000383     /IntelAccelerator
gpu 0x2401      fb0:0 0x100000386     /AppleIntelFramebuffer@0
gpu 0x2401      fb1:1 0x100000387     /AppleIntelFramebuffer@1
gpu 0x2401      fb2:2 0x100000388     /AppleIntelFramebuffer@2

SafeEjectGPUService: (GPUWrangler) [com.apple.GPUWrangler:default] (reg) gpu 0x2401 flags 0x10 (IG) vid.did=8086.5916 b:d:f=0:2:0
gpu 0x2401        pci 0x1000001ef IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2
gpu 0x2401       agdc 0x1000003ca     /AppleIntelFramebufferController/IntelFBClientControl
gpu 0x2401       gpuc 0x000000000
gpu 0x2401 agdpclient 0x1000003cd     /AppleIntelFramebufferController/IntelFBClientControl/AppleGraphicsDevicePolicy/AGDPClientControl
gpu 0x2401      accel 0x100000383     /IntelAccelerator
gpu 0x2401      fb0:0 0x100000386     /AppleIntelFramebuffer@0
gpu 0x2401      fb1:1 0x100000387     /AppleIntelFramebuffer@1
gpu 0x2401      fb2:2 0x100000388     /AppleIntelFramebuffer@2

and this when it's failing:
Code:
root# grep gpu 18h25-16-2-bootlog-fault.log
kernel: (AppleGraphicsPowerManagement) [AGPM Controller] build gpuDict by GPU IGPU.
displaypolicyd: (GPUWrangler) [com.apple.GPUWrangler:default] (reg) gpu 0x2401 flags 0x2000010 (IG,pubArmed) vid.did=8086.5916 b:d:f=0:2:0
gpu 0x2401        pci 0x1000001ef IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2
gpu 0x2401       agdc 0x1000003aa     /AppleIntelFramebufferController/IntelFBClientControl
gpu 0x2401       gpuc 0x000000000
gpu 0x2401 agdpclient 0x000000000
gpu 0x2401      accel 0x000000000
gpu 0x2401     fb0:-1 0x100000395     /AppleIntelFramebuffer@0
gpu 0x2401     fb1:-1 0x100000396     /AppleIntelFramebuffer@1
gpu 0x2401     fb2:-1 0x100000397     /AppleIntelFramebuffer@2

displaypolicyd: (GPUWrangler) [com.apple.GPUWrangler:default] event type=GpuAdded (0x1) gpuId=0x2401 (ku)
displaypolicyd: (GPUWrangler) [com.apple.GPUWrangler:default] gpu 0x2401 flags 0xb2000010 (IG,published,quiet,pubSched,pubArmed) vid.did=8086.5916 b:d:f=0:2:0
gpu 0x2401        pci 0x1000001ef IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2
gpu 0x2401       agdc 0x1000003aa     /AppleIntelFramebufferController/IntelFBClientControl
gpu 0x2401       gpuc 0x000000000
gpu 0x2401 agdpclient 0x000000000
gpu 0x2401      accel 0x100000393     /IntelAccelerator
gpu 0x2401      fb0:0 0x100000395     /AppleIntelFramebuffer@0
gpu 0x2401      fb1:1 0x100000396     /AppleIntelFramebuffer@1
gpu 0x2401      fb2:2 0x100000397     /AppleIntelFramebuffer@2

WindowServer: (GPUWrangler) [com.apple.GPUWrangler:default] (reg) gpu 0x2401 flags 0x10 (IG) vid.did=8086.5916 b:d:f=0:2:0
gpu 0x2401        pci 0x1000001ef IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2
gpu 0x2401       agdc 0x1000003aa     /AppleIntelFramebufferController/IntelFBClientControl
gpu 0x2401       gpuc 0x000000000
gpu 0x2401 agdpclient 0x000000000
gpu 0x2401      accel 0x100000393     /IntelAccelerator
gpu 0x2401      fb0:0 0x100000395     /AppleIntelFramebuffer@0
gpu 0x2401      fb1:1 0x100000396     /AppleIntelFramebuffer@1
gpu 0x2401      fb2:2 0x100000397     /AppleIntelFramebuffer@2

SafeEjectGPUService: (GPUWrangler) [com.apple.GPUWrangler:default] (reg) gpu 0x2401 flags 0x10 (IG) vid.did=8086.5916 b:d:f=0:2:0
gpu 0x2401        pci 0x1000001ef IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2
gpu 0x2401       agdc 0x1000003aa     /AppleIntelFramebufferController/IntelFBClientControl
gpu 0x2401       gpuc 0x000000000
gpu 0x2401 agdpclient 0x000000000
gpu 0x2401      accel 0x100000393     /IntelAccelerator
gpu 0x2401      fb0:0 0x100000395     /AppleIntelFramebuffer@0
gpu 0x2401      fb1:1 0x100000396     /AppleIntelFramebuffer@1
gpu 0x2401      fb2:2 0x100000397     /AppleIntelFramebuffer@2

kernel: (IOAcceleratorFamily2) virtual IOReturn IOAccelEventMachine2::waitForStamp(int32_t, stamp_t, stamp_t *): initial wait for 1 second expired. Continue wait for 4 seconds. stamp 2849 (gpu_stamp=2848)
kernel: (IOAcceleratorFamily2) virtual IOReturn IOAccelEventMachine2::waitForStamp(int32_t, stamp_t, stamp_t *): timeout waiting for IntelAccelerator stamp 2849 (gpu_stamp=2848)
kernel: (IOAcceleratorFamily2) virtual IOReturn IOAccelEventMachine2::waitForStamp(int32_t, stamp_t, stamp_t *): initial wait for 1 second expired. Continue wait for 4 seconds. stamp 2849 (gpu_stamp=2848)
DumpGPURestart: (CrashReporterSupport) Saved gpuRestart report for kernel to Kernel_2018-11-02-192549_Be-Brave.gpuRestart

(minor editing for readability on both)

The only difference seems to be the agdpclient, which seems to be connected by some miracle after changing nothing.. And perhaps something with the flags / the way the GPU is registered.

Although I could keep "changing" nothing during boot, I prefer to know why that makes a difference (and prefer to solve this)..
Or does it make sense?
 

Attachments

  • debug_25840.zip
    5.6 MB · Views: 80
Have you tried switching to 17,1? That solved my issue (I had acceleration but the screen was flickering and bugging out like crazy)
 
Just tried that (without interrupting the boot), but the flickering returns/is still there
 
I've been struggling to make UHD620 work on my BRi5H-8250. I use dual 4K monitors one via HDMI 2.0 and other via DP Initially I've been trying to inject GPU as UHD 620

Device ID 8086 5961
Platform ID 0x95160000

Graphics was working with full acceleration on both HDMI an DP but I was unable to boot the computer with Dual monitors. When booting with both of them I'd get black screen and Kernel Panic

Also booting with single display and connecting the other one I'd get a BlackScreen and Kernel Panic. So I turned to patching the framebuffer but I did not have any success with that. I almost tried every possible configuration. So I've researched the system logs a bit further. Looking at the displaypolicyd IGPU log I've found those lines

u>26808857 ERROR: Fixed/Static fMap[ 0 ] Device[ 0 ] 1.0 with unpopulated stream info bad:f00d -> bad:f00d ...
u>26941698 ERROR: Aux 100,202 result 1 bitrate 0 lanecount 0
u>27068995 ERROR: Aux 100,202 result 1 bitrate 0 lanecount 0

So each time the both monitors are connected communication on AUX DP channels get broken. I started looking at WhateverGreen code to see if there are any way to patch this.

Searching the web i've found this one https://www.tonymacx86.com/threads/...ve-kernel-panic-due-to-divide-by-zero.261687/

But with deeper looking i see it was related to internal display. And all those patches were meant to be used on Coffee Lake. So I tried to apply them to the KBL framebuffer but I did not have any success with that too.


All the Kernel panics I've got were related to com.apple.driver.AppleIntelKBLGraphicsFramebuffer so in the end I figured it out. com.apple.driver.AppleIntelKBLGraphicsFramebuffer is broken there must be some issue there which makes those page faults. Why not try with using the different driver. A


Anyway i5-8250U is not Kaby Lake it's Kaby Lake Refresh it is 8th generation CPU. It have stepping value of 0xA so Lily detects it as Coffee Lake. So the Kaby Lake Refresh should be handled as Coffee Lake.

So I decided to give it a try. and I've injected the GPU as UHD-630 with following:

Device Id 8086 3E9B
Platform ID 0x3E9B0007

From Hackintool I've got this as Macmini8,1 so change SMBIOS to Macmini8,1 as well

I use the following bootflags

-igfxnohdmi - I don't want WhateverGreen to automatically rewrite them
-disablegfxfirmware - Fixes some boot artifacts


I am using WhateverGreen and injecting device properties

Device - PciRoot(0x0)/Pci(0x2,0x0)
device-id 9B3E0000
AAPL,ig-platform-id 07009B3E

I also set this to increase VRAM to 4095MB - I have 16GB of ram so I want 4K to run smoothly. 2048MB of VRAM can also be used is value is set to 00000080
framebuffer-patch-enable 01000000
framebuffer-unifiedmem 0000F0FF


In order for this to work properly DSDT have to be fixed. F - Find, R - Replace

RTC Fix F:47017000 70000108 R: 47017000 70000102 - Not still sure about this one
Rename _OSI to XOSI F:5F4F5349 R:584F5349 - Pair with SSDT-XOSI
Rename H_EC to EC F:485F4543 R:45435F5F
Rename HDAS to HDEF F:48444153 R:48444546
Rename HECI to IMEI F:48454349 R:494D4549
Rename GFX0 to IGPU F:47465830 R:49475055
I also have Fix Shutdown and Generate Plugin Type in ACPI Section

And make sure CSM support is enabled in UEFI BIOS

Finally all works good. Boots with both monitors no Kernel Panics when second monitor is plugged in.


For Audio injection i use AppleALC with Layout ID 30 but it far from good. Internal Microphone has too much gain and Microphone via input jack is not working. I'm working on creating the custom layout in AppleALC. Already found hot to fix the Gain issue with Internal mic but getting the Input Jack to work will be a little tricky as It also does not work with Live version of Ubuntu. There is still a work to do on this but hopefully will get that to work


Once I get everything working properly I'll create a detailed Guide here on the forum.
 
I see now that there is an issue. When waking from longer sleep HDMI monitor resolution is only 1080p

Got this error in console

u>2830399651 ERROR: Port 2 result 0 bitRate 20:10 laneCount 4:4 status_0_1 0 status_2_3 0 error 0
u>2830405287 NOTICE: EDID read 2.0 failed: GPU failed the command for block 0

I'll try patching the connector as HDMI to see how it goes

Also I can try injecting EDID to see if it will fix the issue
 
Cleaned up config.plist, started trying systematically, seems to work with:

Product Name iMac14,2, Platform 0x59120000, FakeID/IntelGFX 0x59168086

Stable picture, transparancy, much faster.



I'm happy for now. If anyone knows if it is wise to integrate a number/many of the above Kaby Lake R patches, please advise.

@RehabMan: thanks for the help!

Regards,
Paul
Should this work with a HDMI cable?
 
I've been struggling to make UHD620 work on my BRi5H-8250. I use dual 4K monitors one via HDMI 2.0 and other via DP Initially I've been trying to inject GPU as UHD 620

Device ID 8086 5961
Platform ID 0x95160000

Graphics was working with full acceleration on both HDMI an DP but I was unable to boot the computer with Dual monitors. When booting with both of them I'd get black screen and Kernel Panic

Also booting with single display and connecting the other one I'd get a BlackScreen and Kernel Panic. So I turned to patching the framebuffer but I did not have any success with that. I almost tried every possible configuration. So I've researched the system logs a bit further. Looking at the displaypolicyd IGPU log I've found those lines

u>26808857 ERROR: Fixed/Static fMap[ 0 ] Device[ 0 ] 1.0 with unpopulated stream info bad:f00d -> bad:f00d ...
u>26941698 ERROR: Aux 100,202 result 1 bitrate 0 lanecount 0
u>27068995 ERROR: Aux 100,202 result 1 bitrate 0 lanecount 0

So each time the both monitors are connected communication on AUX DP channels get broken. I started looking at WhateverGreen code to see if there are any way to patch this.

Searching the web i've found this one https://www.tonymacx86.com/threads/...ve-kernel-panic-due-to-divide-by-zero.261687/

But with deeper looking i see it was related to internal display. And all those patches were meant to be used on Coffee Lake. So I tried to apply them to the KBL framebuffer but I did not have any success with that too.


All the Kernel panics I've got were related to com.apple.driver.AppleIntelKBLGraphicsFramebuffer so in the end I figured it out. com.apple.driver.AppleIntelKBLGraphicsFramebuffer is broken there must be some issue there which makes those page faults. Why not try with using the different driver. A


Anyway i5-8250U is not Kaby Lake it's Kaby Lake Refresh it is 8th generation CPU. It have stepping value of 0xA so Lily detects it as Coffee Lake. So the Kaby Lake Refresh should be handled as Coffee Lake.

So I decided to give it a try. and I've injected the GPU as UHD-630 with following:

Device Id 8086 3E9B
Platform ID 0x3E9B0007

From Hackintool I've got this as Macmini8,1 so change SMBIOS to Macmini8,1 as well

I use the following bootflags

-igfxnohdmi - I don't want WhateverGreen to automatically rewrite them
-disablegfxfirmware - Fixes some boot artifacts


I am using WhateverGreen and injecting device properties

Device - PciRoot(0x0)/Pci(0x2,0x0)
device-id 9B3E0000
AAPL,ig-platform-id 07009B3E

I also set this to increase VRAM to 4095MB - I have 16GB of ram so I want 4K to run smoothly. 2048MB of VRAM can also be used is value is set to 00000080
framebuffer-patch-enable 01000000
framebuffer-unifiedmem 0000F0FF


In order for this to work properly DSDT have to be fixed. F - Find, R - Replace

RTC Fix F:47017000 70000108 R: 47017000 70000102 - Not still sure about this one
Rename _OSI to XOSI F:5F4F5349 R:584F5349 - Pair with SSDT-XOSI
Rename H_EC to EC F:485F4543 R:45435F5F
Rename HDAS to HDEF F:48444153 R:48444546
Rename HECI to IMEI F:48454349 R:494D4549
Rename GFX0 to IGPU F:47465830 R:49475055
I also have Fix Shutdown and Generate Plugin Type in ACPI Section

And make sure CSM support is enabled in UEFI BIOS

Finally all works good. Boots with both monitors no Kernel Panics when second monitor is plugged in.


For Audio injection i use AppleALC with Layout ID 30 but it far from good. Internal Microphone has too much gain and Microphone via input jack is not working. I'm working on creating the custom layout in AppleALC. Already found hot to fix the Gain issue with Internal mic but getting the Input Jack to work will be a little tricky as It also does not work with Live version of Ubuntu. There is still a work to do on this but hopefully will get that to work


Once I get everything working properly I'll create a detailed Guide here on the forum.

@ivcha Any further fixes or updates regarding your BRIX hackintosh project injecting UHD630 graphics (Mac mini 8,1). I am using HD620 Graphics patch running Catalina 10.15.4 with iMac 14,2 SMBIOS. For me system seems to me stable with no panics, stable graphics acceleration, HDMI audio and HDMI-DP ports hot plugging or toggling between them after booting. I am using 1080p Benz monitor with inbuilt speakers. Kindly post if any updates I want to try your settings too. Thanks.
 
Status
Not open for further replies.
Back
Top