RP05.PEGP is initialised in table SSDT-9-SgPch.aml:
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
Store (Zero, \_SB.PCI0.RP05.PEGP._ADR)
}
This is where you would normally add the _OFF () command:
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
Store (Zero, \_SB.PCI0.RP05.PEGP._ADR)
External (\_SB.PCI0.RP05.PEGP._OFF, MethodObj)
_OFF ()
}
And in DSDT, you could adjust Method _REG as follows:
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If (LEqual (Arg0, 0x03))
{
Store (Arg1, ECFL)
}
If (LAnd (LEqual (Arg0, 0x03), LEqual (Arg1, One)))
{
^^^PEG0.PEGP._OFF ()
}
If (LAnd (LEqual (Arg0, 0x03), LEqual (Arg1, One))) // Added test to disable dGPU device RP05.PEGP
{
^^^RP05.PEGP._OFF ()
}
}
If you want, give those revised tables a go:
DSDT.aml.zip
SSDT-RP05.aml.zip