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.