Contribute
Register

<< Solved >> Comet Lake 10900k: can't enable iGPU for headless mode

Status
Not open for further replies.
@Edhawk
@Jasonhacks
Thank you guys! It all worked out perfectly.
Yes, it's OCAT. :)
Got my device-id in place and added igfxfw=2 to my boot args.
I checked the terminal and the firmware was missing before as you said, but now with igfxfw it looks like this:
Code:
gpu 0x2e3c        pci 0x100000275 IOService:/AppleACPIPlatformExpert/PC00@0/AppleACPIPCI/IGPU@2
2022-12-21 07:11:05.579396+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Ring Size: 32 KB
2022-12-21 07:11:05.579399+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Ring Size: 32 KB
2022-12-21 07:11:05.579407+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Graphics Scheduler Preemption Enabled!
2022-12-21 07:11:05.579408+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Graphics Scheduler Preemption Enabled!
2022-12-21 07:11:05.579409+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Setting preemptionDelayIntervalUS to 400 microseconds
2022-12-21 07:11:05.579413+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Setting preemptionDelayIntervalUS to 400 microseconds
2022-12-21 07:11:05.579414+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Setting preemptionTimerIntervalUS to 2000 microseconds
2022-12-21 07:11:05.579415+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Setting preemptionTimerIntervalUS to 2000 microseconds
2022-12-21 07:11:05.579415+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Will NOT fallback to host-side scheduling if graphics firmware fails to load
2022-12-21 07:11:05.579417+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Will NOT fallback to host-side scheduling if graphics firmware fails to load
2022-12-21 07:11:05.579417+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Tail Coalescing Enabled.
2022-12-21 07:11:05.579418+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Tail Coalescing Enabled.
2022-12-21 07:11:05.579419+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Page Fault Handling Enabled.
2022-12-21 07:11:05.579419+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Page Fault Handling Enabled.
2022-12-21 07:11:05.579420+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Single Channel Index Disabled
2022-12-21 07:11:05.579421+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Single Channel Index Disabled
2022-12-21 07:11:05.579421+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Channel Wait For Complete Disabled
2022-12-21 07:11:05.579422+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler Channel Wait For Complete Disabled
2022-12-21 07:11:05.579423+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler: Process CSB using HWS.
2022-12-21 07:11:05.579424+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler: Process CSB using HWS.
2022-12-21 07:11:05.579425+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler: PM notify enabled
2022-12-21 07:11:05.579426+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Scheduler: PM notify enabled
2022-12-21 07:11:05.579429+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Selected Apple Firmware Scheduler
2022-12-21 07:11:05.579430+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Selected Apple Firmware Scheduler
2022-12-21 07:11:05.581999+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Graphics Address: PPGTT, Separate Address Space
2022-12-21 07:11:05.582003+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Graphics Address: PPGTT, Separate Address Space
2022-12-21 07:11:05.582003+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] MultiForceWake Enabled: Using 3D Driver
2022-12-21 07:11:05.582004+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] MultiForceWake Enabled: Using 3D Driver
2022-12-21 07:11:05.582005+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Render Compression Enabled.
2022-12-21 07:11:05.582005+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Render Compression Enabled.
2022-12-21 07:11:05.582006+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Render Compression for IOSurface is Enabled.
2022-12-21 07:11:05.582007+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Render Compression for IOSurface is Enabled.
2022-12-21 07:11:05.586388+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Begin Gfx firmware load process
2022-12-21 07:11:05.586390+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Begin Gfx firmware load process
2022-12-21 07:11:05.586391+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU]    ForceWake Multithread = 0x30002
2022-12-21 07:11:05.586393+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU]    ForceWake Multithread = 0x30002
2022-12-21 07:11:05.586393+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU]    CONFIG0 (0xD00)       = 0x8000000e
2022-12-21 07:11:05.586394+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU]    CONFIG0 (0xD00)       = 0x8000000e
2022-12-21 07:11:05.586395+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU]    GT_THREAD_STATUS      = 0x400b0000
2022-12-21 07:11:05.586396+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU]    GT_THREAD_STATUS      = 0x400b0000
2022-12-21 07:11:05.586397+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU]    Doing retry #0
2022-12-21 07:11:05.586397+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU]    Doing retry #0
2022-12-21 07:11:05.619302+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Graphics Firmware Version: 2.18.5.2
2022-12-21 07:11:05.619303+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Graphics Firmware Version: 2.18.5.2
2022-12-21 07:11:05.621910+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Graphics accelerator is using scheduler: Apple Firmware
2022-12-21 07:11:05.621914+0100 0x644      Default     0x0                  0      0    kernel: (AppleIntelKBLGraphics) [IGPU] Graphics accelerator is using scheduler: Apple Firmware
gpu 0x2e3c        pci 0x100000275 IOService:/AppleACPIPlatformExpert/PC00@0/AppleACPIPCI/IGPU@2
gpu 0x2e3c        pci 0x100000275 IOService:/AppleACPIPlatformExpert/PC00@0/AppleACPIPCI/IGPU@2
IOResources: IOAFTriage-GFX0 = 0102030405060708090a0b0c0d0e0f101112131415161718191aIOResources: IOAFTriage-IGPU = 0102030405060708090a0b0c0d0e0f101112131415161718191a
IOResources: IOAFTriage-GFX0 = 0102030405060708090a0b0c0d0e0f101112131415161718191aIOResources: IOAFTriage-IGPU = 0102030405060708090a0b0c0d0e0f101112131415161718191a
2022-12-21 07:11:07.751604+0100 0x9e3      Default     0x0                  363    0    Dock: (AppleVPA) VPA error: Failed to find IGPU IOService plane for IGPU. Will search for GFX
2022-12-21 07:11:07.751636+0100 0x9e3      Default     0x0                  363    0    Dock: (AppleVPA) VPA error: Failed to find IGPU IOService plane for GFX.
gpu 0x2e3c        pci 0x100000275 IOService:/AppleACPIPlatformExpert/PC00@0/AppleACPIPCI/IGPU@2
2022-12-21 07:11:22.085626+0100 0xf70      Default     0x0                  495    0    avconferenced: (AppleGVA) GVA error: Failed to find IGPU IOService plane.
2022-12-21 07:11:22.085678+0100 0xf70      Default     0x0                  495    0    avconferenced: (AppleGVA) GVA error: Failed to find IGPU IOService plane for GFX.
2022-12-21 07:11:24.130768+0100 0x11e2     Default     0x0                  547    0    VTDecoderXPCService: (AppleGVA) GVA error: Failed to find IGPU IOService plane.
2022-12-21 07:11:24.130781+0100 0x11e2     Default     0x0                  547    0    VTDecoderXPCService: (AppleGVA) GVA error: Failed to find IGPU IOService plane for GFX.
2022-12-21 07:11:27.475199+0100 0x12d0     Default     0x0                  567    0    VTDecoderXPCService: (AppleGVA) GVA error: Failed to find IGPU IOService plane.
2022-12-21 07:11:27.475213+0100 0x12d0     Default     0x0                  567    0    VTDecoderXPCService: (AppleGVA) GVA error: Failed to find IGPU IOService plane for GFX.
2022-12-21 07:11:27.729118+0100 0x12ea     Default     0x0                  569    0    VTEncoderXPCService: (AppleGVA) GVA error: Failed to find IGPU IOService plane.
2022-12-21 07:11:27.729144+0100 0x12ea     Default     0x0                  569    0    VTEncoderXPCService: (AppleGVA) GVA error: Failed to find IGPU IOService plane for GFX.
2022-12-21 07:11:34.759475+0100 0x1416     Default     0x0                  548    0    mediaanalysisd: (AppleGVA) GVA error: Failed to find IGPU IOService plane.
2022-12-21 07:11:34.759497+0100 0x1416     Default     0x0                  548    0    mediaanalysisd: (AppleGVA) GVA error: Failed to find IGPU IOService plane for GFX.
2022-12-21 07:11:53.408451+0100 0x1742     Default     0x0                  621    0    VTDecoderXPCService: (AppleGVA) GVA error: Failed to find IGPU IOService plane.
2022-12-21 07:11:53.408470+0100 0x1742     Default     0x0                  621    0    VTDecoderXPCService: (AppleGVA) GVA error: Failed to find IGPU IOService plane for GFX.
2022-12-21 07:11:59.027709+0100 0x18cd     Default     0x0                  645    0    VTDecoderXPCService: (AppleGVA) GVA error: Failed to find IGPU IOService plane.
2022-12-21 07:11:59.027722+0100 0x18cd     Default     0x0                  645    0    VTDecoderXPCService: (AppleGVA) GVA error: Failed to find IGPU IOService plane for GFX.
Is "(AppleGVA) GVA error: Failed to find IGPU IOService plane." something I should be worried about?
 
Hm.. is everything working correctly? Is Hardware encoding and decoding done by iGPU? If you have any issue with igfxfw flag, delete it and try using igfxrpsc=1 boot flag instead. I've also noticed that injecting AAPL,ig-platform-id property was not neccesary for my Z490 10900K system as it defaults to 0x9BC80030(empty FB) since Catalina. I now have no property for my iGPU except for igfxfw=2 boot flag.
 
@Jasonhacks
As far as I can tell, everything is working correctly except two minor issues (here and here, but not sure if that's related to this). I always thought that as long as Sidecar is working, everything's good (CPU/GPU wise). Is there a particular test or terminal command I should run in order to check if encoding and decoding is done by the iGPU?

I now have no property for my iGPU except for igfxfw=2 boot flag.
Alright, I'll remove the platform-id and see if anything changes.
These are my boot flags: agdpmod=pikera alcid=12 igfxonln=1 igfxfw=2. Not sure if igfxonln is really needed. I don't even remember when and why I added that. But I'll gladly remove anyhing that isn't needed.

Update: I just noticed that Sidecar is no longer working. I believe it's since I changed the platform-id to 0300983E. The iPad is now showing a black screen. :D 7009B3E, which I had before, was causing me these ultra long booting times, but Sidecar was working.

Is there another id I could try in order to make Sidecar working again but without getting those long booting times?
 
Last edited:
If you remove the AAPL,ig-platform-id entry your IGPU will be forced by WhateverGreen.kext to use the 'Default' framebuffer.

The whole idea behind adding the AAPL,ig-platform-id is so you can inject an alternative framebuffer, which may be more compatible with your Comet Lake system.

See this section of the WhateverGreen.kext Intel HD Manual, it shows the framebuffer options for Coffee Lake (CFL) and Comet Lake (CML) systems.

FAQ.IntelHD.en.md - CFL & CML
 
@Edhawk
Thanks for the explanation and the link. I tried both 3E910003 (CFL) 9BC80003 (CML) from your link, but none of them worked. They make my system take 3 minutes to boot and no Sidecar. I tried several other framebuffers from this thread, but none of them seem to work either. Sometimes the booting time is good (like 15 seconds), but still no Sidecar. Most of the framebuffers however seem to cause these tremendously high booting times. I tried removing the AAPL,ig-platform-id entry as well, no difference.

7009B3E remains the only framebuffer that successfully enabled Sidecar so far. But as posted in this thread, something's still not right as it takes minutes to boot (and according to Jasonhacks it's not the right id anyway).

Why is this so difficult. :(
 
Last edited:
The 07009B3E framebuffer is for an IGPU that drives a display, so it is definitely the wrong framebuffer to use, if you are using a discrete GPU such as the RX 6900 XT.

The Empty framebuffer for a CFL system is 0300923E

The Empty framebuffer for a CML system is 0300C89B

I assume you have tried both of these framebuffers.

Can you post a copy of your EFI folder so we can see exactly what you are using, as there may be something in your setup causing this issue, which we are not aware of.

Remember to delete/redact the Serial number from your config.plist before you post a copy here.
 
Can you post a copy of your EFI folder so we can see exactly what you are using, as there may be something in your setup causing this issue, which we are not aware of.
Sure, thanks!

The Empty framebuffer for a CFL system is 0300923E

The Empty framebuffer for a CML system is 0300C89B
Uhm... I have no idea where these framebuffers come from. When I was checking out your link earlier I copied 3E910003 and 9BC80003 to my config.plist because it says
Code:
Empty framebuffer (CFL):
0x3E910003 (default)
Empty framebuffer (CML):
0x9BC80003 (default)
Apparently I have no idea how to use that correctly... I was literally using wrong numbers before it seems.
Have you converted them or anything?

Anyway, tried both of them just now with no luck. System boots fine, but Sidecar remains black.

Edit:
"The bytes in Properties must be put in reversed order. For example: framebuffer 0x0166000B would be put in as 0B006601" lol I wasn't aware of that. I'm sorry.
 

Attachments

  • EFI.zip
    11.3 MB · Views: 31
Last edited:
The framebuffer is shown as 0x3E920003, but OpenCore uses the framebuffer in reverse pairs.

0x3E920003 becomes 0300923E
0x9BC80003 becomes 0300C89B

Simple when you know, not so simple if you don't know.

You may need to try a few of the other framebuffers again, just to make sure they don't work ;)

I will have a look at your EFI and let you know if I find anything that needs your attention.

Just checking but you are using OC 0.8.6, yes?
 
Try the attached EFI on a spare USB pen drive, I have cleaned up the config, added a couple of kexts, drivers and removed some Tools/SSDT's. To better match your Z590/CML/Navi system.

Add your Serial Number, MLB, ROM and SystemUUID to the config.plist before you use it.

Use the ResetNvramEntry.efi from the OC Boot Screen, before booting with this EFI, so you don't have any NVRAM holder overs from your current OC setup.

The ResetNvramEntry will be hidden by default, just press the Spacebar when you reach the OC boot screen to unhide this Driver and some other hidden icons.
 

Attachments

  • EFI.zip
    11.8 MB · Views: 63
Try the attached EFI on a spare USB pen drive, I have cleaned up the config, added a couple of kexts, drivers and removed some Tools/SSDT's. To better match your Z590/CML/Navi system.
You fixed my bluetooth. :O Any idea how that happened so I can update my post? Just in case someone has the same issue. This is great.

Thanks for the EFI, it works just fine. Alright so I made a list. Here's what I've just tried again, all of them are from this thread including the two from your link.

0300C59B
0300983E
0300923E
0300C89B
0300C49B
03009BC5 (slow boot)
07009BC5 (slow boot)

Unfortunately still no Sidecar.

But I checked the internet again and 0300C89B is always said to be the right one for the 10900k in order to make it work. I'll go check my BIOS now, because this can't be.

Edit: BIOS is fine.
 
Last edited:
Status
Not open for further replies.
Back
Top