Contribute
Register

HP EliteBook 8740w sleep and wake not working.

Status
Not open for further replies.
DSDT edit for disabling iGPU

I've recently made some progress on this issue.
After editing AppleGraphicsPowerManagement.kext/Contents/Info.plist it seems to recognise the GPU.
The logs now say
Code:
kernel[0]: [AGPM Controller] build GPUDict by Vendor1002Device68a0
instead of
Code:
kernel[0]: [AGPM Controller] unknownPlatform
previously.

Sleep and wake are still not working though.
Based on what I've managed to learn about the issue, I suspect that the sleep and wake sequence fails because it doesn't correctly handle the integrated and discrete GPUs.

So I want to change the DSDT to disable the iGPU and make sure that only the discrete GPU is used, but I'm not sure how to do that.

I have found some patches by RehabMan but they do the opposite: disable the Radeon discrete GPU in favour of the integrated GPU.
They are probably a good starting point but I need some help to figure out how to edit them.
 
...
So I want to change the DSDT to disable the iGPU and make sure that only the discrete GPU is used, but I'm not sure how to do that.

It is not possible. In a dual-GPU config, the discrete output goes through the integrated.

I have found some patches by RehabMan but they do the opposite:

Yes.
 
It is not possible. In a dual-GPU config, the discrete output goes through the integrated.
That's true for almost all laptops because they support hot graphics switching. Mine does not.
There is no GPU switching available or advertised by the manufacturer for this model, even in Windows.
No OS (Windows, Mac, Linux) detects the integrated graphics and there is no option related to it in the BIOS/UEFI.
Functionally, it is invisible but it is still mentioned in the DSDT as GFX0 along with the actual GPU (DGFX) and there are references to it in methods that seem related to sleep and wake.
I suspect OS X gets confused by this so I want to make it easier for it.
 
That's true for almost all laptops because they support hot graphics switching. Mine does not.
There is no GPU switching available or advertised by the manufacturer for this model, even in Windows.
No OS (Windows, Mac, Linux) detects the integrated graphics and there is no option related to it in the BIOS/UEFI.
Functionally, it is invisible but it is still mentioned in the DSDT as GFX0 along with the actual GPU (DGFX) and there are references to it in methods that seem related to sleep and wake.
I suspect OS X gets confused by this so I want to make it easier for it.

In Windows how do you switch from using AMD vs. Intel on the laptop display?
 
In Windows how do you switch from using AMD vs. Intel on the laptop display?
I don't.
Like I said, there is no switching supported.
The integrated GPU is not available at all.
It is not listed under Display adapters in Device manager and there are no drivers loaded for it.
Only the Radeon is listed as a display adapter.
 
I don't.
Like I said, there is no switching supported.
The integrated GPU is not available at all.
It is not listed under Display adapters in Device manager and there are no drivers loaded for it.
Only the Radeon is listed as a display adapter.

Then there is no issue to solve. You will find the same thing on OS X.
 
Then there is no issue to solve. You will find the same thing on OS X.
I do find the same thing on OS X, but there is still an issue to solve: neither sleep nor wake work.
That's what I'm trying to solve. I never had any concerns about the graphics switching topic.

The screen just turns blank and it can't be turned back on. The computer fails to go into sleep mode.
Before I made the change to AppleGraphicsPowerManagement.kext, the fans used to also spin up after the failed attempt to sleep.

If I act quickly I can restart the computer blindly using just keyboard commands, otherwise I have to turn it off using the power button.
I think it's pretty safe to say that the problem is related to the display hardware and the references to the integrated GPU in the DSDT could be to blame. That's why I'd like to do something about them.
 
I do find the same thing on OS X, but there is still an issue to solve: neither sleep nor wake work.
That's what I'm trying to solve. I never had any concerns about the graphics switching topic.

The screen just turns blank and it can't be turned back on. The computer fails to go into sleep mode.
Before I made the change to AppleGraphicsPowerManagement.kext, the fans used to also spin up after the failed attempt to sleep.

If I act quickly I can restart the computer blindly using just keyboard commands, otherwise I have to turn it off using the power button.
I think it's pretty safe to say that the problem is related to the display hardware and the references to the integrated GPU in the DSDT could be to blame. That's why I'd like to do something about them.

Integrated GPU related DSDT code (if there is any) would not have any effect if the device is not active on the PCI bus.

The only issue you might have with AGPM is if your integrated device entries in DSDT are named GFX0. OS X expects the discrete device to use GFX0, integrated to use IGPU. This is different than most PC BIOSes which use GFX0 for integrated and (usually) PEGP for the discrete.
 
The only issue you might have with AGPM is if your integrated device entries in DSDT are named GFX0. OS X expects the discrete device to use GFX0, integrated to use IGPU. This is different than most PC BIOSes which use GFX0 for integrated and (usually) PEGP for the discrete.
That's exactly what I'm seeing in the DSDT: a device called GFX0, another called PEGP.DGFX and no mention of IGPU.
Doing a search and replace to rename is easy enough, but in your patches I saw some extra code beyond that.
That's the part I don't really understand and don't know how to adapt to this case.
 
That's exactly what I'm seeing in the DSDT: a device called GFX0, another called PEGP.DGFX and no mention of IGPU.
Doing a search and replace to rename is easy enough, but in your patches I saw some extra code beyond that.
That's the part I don't really understand and don't know how to adapt to this case.

Ideally you rename GFX0 to IGPU. Then rename DGFX to GFX0.
 
Status
Not open for further replies.
Back
Top