Jump to content

Losing Headless iGPU after sleep/display sleep (Intel HD 630 + Yeston Radeon RX550 (Polaris) )


8 posts in this topic

Recommended Posts

Hi All,

I am hoping I can find some help diagnosing a particularly tricky issue I am experiencing with my Hackintosh Desktop. I posted something similar to Reddit a few weeks ago without much success.  The one suggestion I received previously was to add a SSDT-SBUS-MCHC, but that did not change the iGPU behavior

What I am seeing is that my iGPU (HD630/Kaby Lake) is working fine, in that I am running it headless alongside my Polaris card, and Intel Power Gadget shows it getting utilized on occasion when I play an h264 movie or try some other tasks that would typically trigger QuickSync to be used.

But when I either sleep the machine, or the display goes to sleep for any sort of extended period, the iGPU stops functioning properly. There are a few pieces of evidence that point to this:

  1. Right after boot, VDADecoderChecker returns quickly and reports that decoding is supported. After I start experiencing the issue, VDADecoderChecker will hang until I hit Ctrl+C to kill it.

  2. After sleep, I begin to experience issues with any application that uses GPU assisted rendering. Microsoft Teams, for example, is unable to be opened to anything more than a white screen after I start to experience this issue. Safari also has a difficult time loading more complicated pages.

  3. Even Hackintool appears to hang while trying to read the system configuration after this issue starts, and has to be killed.

  4. Intel Power Gadget shows that Prior to sleep the iGPU is being utilized(GFX AVG>0), and that the OS is requesting usage of it(GFX REQ around 0.3). After sleep, the GFX AVG is locked to 0 and the GFX REQ is now stuck to 1.10 and doesn't move. This looks like the OS still thinks the GPU should be there and is requesting cycles, but not getting them.

r/hackintosh - Losing Headless iGPU after sleep/display sleep

 

I am currently running without an AAPL,ig-platform-id defined as my SMBIOS of iMac18,2 matches my CPU such that it is unnecessary.  I am also using a SSDT-GPU-SPOOF.aml file to spoof my AMD GPU. Previously I had set the AMD device-id and the the AAPL,ig-platform-id of the iGPU set to 0x59120003 (03 00 12 59 after conversion) as seen below, but both configurations elicit the same behavior.

r/hackintosh - Losing Headless iGPU after sleep/display sleep

I've been through every console log I could find, but the only thing close to looking like the issue is this:

Aug  6 12:18:39 EliteDesk VTDecoderXPCService[1396]: getattrlist failed for /Library/GPUBundles/AppleIntelKBLGraphicsVADriver.bundle/Contents/MacOS/AppleIntelKBLGraphicsVADriver: #2: No such file or directory
Aug  6 12:18:39 EliteDesk VTDecoderXPCService[1396]: getattrlist failed for /Library/GPUBundles/AMDRadeonVADriver2.bundle/Contents/MacOS/AMDRadeonVADriver2: #2: No such file or directory
Aug  6 12:18:39 EliteDesk VTDecoderXPCService[1396]: getattrlist failed for /System/Library/Extensions/AMDRadeonVADriver2.bundle/Contents/MacOS/AMDRadeonVADriver2: #2: No such file or directory

Does anyone have any ideas I could use to either solve this, or debugging tools I could use to try to find an actual error message?

Thanks in Advance!

EDIT: Adding IOReg Dumps pre and post sleep

ioreg post sleep

ioreg pre sleep

 

Specs:

EliteDesk 800 G3 SFF

Processor: Intel Core i5-7500(Kaby Lake)

RAM: 32GB

Graphics: Intel HD630 (Headless Mode)

Graphics: Yeston Radeon RX550 4G LP(Polaris-based, the Hot Pink Card)

Ethernet:Intel I219-LM

Audio: Conexant CX20632

Power Supply: HP L08417-004 Power Supply (Upgraded from 180W by swapping in PSU from EliteDesk 800 G4 SFF. Fits perfectly.


The AAPL,ig-platform-id looks correct for the IGPU.

 

What happens if you disable the whole entry for the discret GPU and reboot?


Currently, my dGPU is using  SSDT-GPU-SPOOF to set the device ID properly, as my Yeston Radeon RX550 gets recognized as a Lexa Core Polaris card when it is actually a Baffin Core Polaris card. So if I remove that, I lose graphics acceleration on my RX550. 


Add these SSDTs and change SMBios to 18.3 is more adequate in my opinion, DO NOT rename EC0 to EC but add a Fake Device.
SSDT GPRW needs a rename to activate the patch
//
// In config ACPI, GPRW to XPRW 2
// Find:     47505257 02
// Replace:  58505257 02
//

SSDT-GPRW  SSDT-MCHC-SBUS , SSDT-EC-USBX (Desktop)

 

Archivio.zip


Thanks, I will test out what you provided.  A note on the EC rename.  After a lot of effort in attempting to create a SSDT-EC file, it ended up that the only way I could actually boot was with a EC0 to EC rename. You can see the details here, but essentially my DSDT has multiple entries (H_EC and EC0)  that both contain PNP0C09 so every combination of manual patch I could try at the time failed.


@Baio77 I tested with the changes you provided(including swapping in the SSDT for the EC0 rename), and I still get the same behavior.  Intel QSV works fine before sleep, and doesn't work after sleep.  

 

To make sure I got the patching correct, is there something I can check in IORegistryExplorer to see that the GPRW/XPRW patch functioned as expected?


@Dr. Monkey I experienced something similar when I was initially configuring my HackMini8,1.  Not sure this is your issue, but in my case, the problem was because I had disabled Intel ME in BIOS.  After enabling Intel ME, the problem was resolved.  The HP EliteDesk 800 G4/G5 Mini BIOS (the basis for my HackMini8,1) allowed me to enable Intel ME while disabling Intel AMT (to avoid conflicts with the AMT serial port).


  • 2 weeks later...
 Share

×
×
  • Create New...