Jump to content
89 posts in this topic

Recommended Posts

This post is targeted at users who have an Ice Lake-based laptop.

 

- Major Updates on Sep 5:

Both fixes have been integrated into WhateverGreen and will be available as of v1.4.2, so public tests are now over and thanks for your participation.

I have renamed this post, so feel free to use it as a general discussion thread.

 

-----------------------------------------------------------------------------------------------

 

Mobile Ice Lake processors can be classified by their integrated graphics card into three categories, G1, G4, and G7.

You could find information about your processor in the following table.

 

image.png.204f52cee3b540746dbe0d13d63d32a8.png

 

Note that Apple uses NG* processors on genuine Macs.

Even though device IDs of UHD Graphics on G1 series processors are not listed in Info.plist, the driver itself does support the hardware.

As a result, you need to spoof the device ID (e.g. 0x8A5A) to make UHD Graphics work with full acceleration.

 

As far as I know, there are two major issues one might encounter while trying to make the integrated graphics card work on macOS Catalina.

1) The kernel panic due to an unsupported CD clock decimal frequency can be resolved by adding the boot argument `-igfxcdc`.

panic: "[IGFB][PANIC][DISPLAY  ] " "Unsupported CD clock decimal frequency 0x158\n"
@/Library/Caches/com.apple.xbs/Sources/GPUDriversIntel/GPUDriversIntel-14.7.8/IONDRV/ICLLP/AppleIntelFramebuffer/AppleIntelClocks.cpp:348

 

2) The kernel panic due to an unsupported ICL SKU is related to DVMT pre-allocated memory.

You might find something similar to the following lines right above the kernel panic message.

[IGPU] HWCAPS - GPU Sku: 0
[IGPU] HWCAPS - VEDBOXEnableFuses:0xf00ff  VEBox units enabled: 4  VDBox units enabled:8
[IGPU] HWCAPS - NumSlices: 0    SlicesCountFuse:0x0
[IGPU] HWCAPS - NumSubSlices:32   SubSliceCountFuse:0x0
[IGPU] HWCAPS - MaxEUPerSubSlice:8   EUDisableFuses:0x0  ExecutionUnitCount:256
[IGPU] ERROR: Unsupported ICL Sku!

You could resolve this issue by changing the DVMT pre-allocated memory to 64MB or above in your BIOS.

If your BIOS does not provide such options, you could try EFI Shell (setup_var) or RU.EFI to modify BIOS settings.

If your laptop uses a custom UEFI firmware or has a strict BIOS protection, you should add the boot argument `-igfxdvmt` to solve the problem.

 

Once you have applied above fixes, you should be able to boot into desktop with full graphics acceleration.

If you get stuck in `gIOConsoleUser`, you should try different `ig-platform-id`s and make sure that you have enabled other necessary fixes, for example the Core Display patch (`-cdfon`) for built-in 4K display.

 

You need to compile the latest WhateverGreen from the upstream repo (https://github.com/acidanthera/WhateverGreen) until Acidanthera officially releases v1.4.2.

 

-----------------------------------------------------------------------------------------------

 

3) Apple has removed the assertion of DVMT stolen memory from the framebuffer driver on ICL platforms, but you are strongly encouraged to patch the framebuffer properly to get rid of the insufficient stolen memory error.

 

You could find the following line in your kernel log.

kernel: (AppleIntelICLLPGraphicsFramebuffer) [IGFB][ERROR][DISPLAY   ] Insufficient stolen memory

You should adjust the size of framebuffer and cursor memory, so that the total amount of required stolen memory is less than the one pre-allocated by BIOS. This might also fix the distorted image around the mouse cursor.

 

- FireWolf

Edited by Austere.J

Good stuff! :)

 

Re: UHD graphics of G1 CPUs, Apple appear to have pursued the same trend/pattern/philosophy they adopted since Sandy Bridge models so G1 graphics are expected to remain unsupported as per GT1 graphics of previous generations. So far, that's been confirmed by those who posted about (failed) attempts to obtain graphics acceleration under Catalina with UHD graphics of G1 ICL CPUs.

Much appreciated for your contribution to Ice Lake Hackintosh.

Unfortunately I still got kernel panic, but there was progress.
iGPU was recognized as GT2.

[IGPU] HWCAPS - GPU Sku: ICL GT2 LP

This guy said CFG Lock disabled and set DVMT prealloc to 64MB is needed, it might be related to a kernel panic.
https://github.com/frozenzero123/YOGA-S740/blob/master/README-EN.md
My GPD WIN Max UEFI settings are locked, so I can't change CFG Lock and DVMT settings in BIOS nor setup_var command.
stolenmem and fbmem patch did not change the result.

CPU: Core i5-1035G7 (GPD WIN Max)
OS: 10.15.6 (19G2021)
OpenCore: 0.6.0
Lilu: 1.4.7-DEBUG (b8eb26f) from https://dortania.github.io/builds/?viewall=true&product=Lilu
smbios: MacBookAir9,1
ig-platform-id: 8A520000

 

panic.txt

Short Summary:

So far, it seems that the kernel panic of an unsupported ICL SKU is resolved if one could change its DVMT settings to 64MB or above.

Some laptops have DVMT set to 60 MB instead, such as Surface Pro 7, and one is able to get rid of the unsupported SKU error by adding the -igfxsku boot argument but will then encounter another kernel panic.

 

However, I have some good news to share.

@Hervé It turns out that the graphics driver itself supports the UHD graphics on G1 series processors even though the device ID 0x80868A56 is not list in both kexts.

One of my friends managed to make his UHD graphics card on i5-1035G1 work on macOS Catalina with full graphics acceleration.

The device ID is spoofed as 0x80868A5A (i.e. the one on G4 processors), and the ig-platform-id is set to 8A5A0000.

Here is a screenshot as a proof.

 

ICLG1Success.thumb.png.c5745e45202b768c541f801544591987.png

 

 

Edited by Austere.J

My problem is partially solved.

 

iGPU works with an external display, and internal one is not recognized.

No device properties needed at this time.

 

Maybe I have to fix device properties or edid settings, but I think it is not Ice Lake related problems, rather this laptop specific.

 

Thanks.

Screen Shot 2020-08-30 at 17.10.14.png

Screen Shot 2020-08-30 at 17.20.28.png

What I got so far: I installed Catalina 10.15.6 on my Lenovo S740 14inch (i5-1035G1) with the EFI below: 

https://files.catbox.moe/pcxmxy.zip

 

Graphics and brightness adjustment don't work.

 

This EFI I used for installing the system is using a MacBook Pro 16,2 SMBios.

When I tried using a MacbookAir9,1 SMBios + both Lilu and Austere.J's O WhateverGreen kext + .asl patches + adding willyboyshy's device properties for the igpu in order to try and fake a G4 iGPU, I got the kernel panic in the picture attached.

BD42-DFB7-1-A3-B-4-B6-B-9-BAF-9045-DD4-F770-C.jpg

Summary:

The kernel panic of "Unsupported ICL SKU" and the further page fault in `IGAccelTask::withOptions()` after SKU is fixed are indeed caused by the DVMT pre-allocated memory set to 60M (or any other values that are not a multiple of 32MB) in BIOS.

If you are not able to modify your BIOS settings via EFI shell or RU.EFI, you need the `-igfxdvmt` boot argument to enable the fix.

Please note that the boot argument `-igfxsku` has been removed. You could find the source code at my repo. (https://github.com/0xFireWolf/WhateverGreen)

Refer to the manual for details.

 

I have also submitted a PR to the upstream repo, and I am waiting for it to be merged. (https://github.com/acidanthera/WhateverGreen/pull/64)

Hi, I really appreciate your help and collaboration, my IGPU is now working without unlocking DVMT to 64M or higher and even on Big Sur!!

for all of. you whose struggling, set AAPL,ig-platform-id to 0000528A, and add -igfxdvmt boot arg or add enable-dvmt-calc-fix property under AAPL,ig-platform-id in DeviceProperties.

getting macOS running on Ice Lake in a pretty early stage reminds me of the old Hackintosh age. 

Cheers

ScreenShot.thumb.png.842dec4ed3670b9a95a2d1a2fa0922a0.png

WhateverGreen-1.4.2-DEBUG.zip

@LireMei, I think you should build the Whatevergreen kext manually, your KP is solved with this commit https://github.com/acidanthera/WhateverGreen/commit/6319f826f7c4c0c2f9b8097cea847ad5265e8946

If you don't want to rebuild yourself, you can use the kext build from @Ab2774 and it should work

 

EDIT: @Austere.J do you know something about glitches during boot and inability to wake up or it's only my problem?

  • Allan pinned and featured this topic
×
×
  • Create New...