Jump to content

[Solved] E6530: dGPU is disabled in Windows after reboot from MacOS


Soterlll
Go to solution Solved by Hervé,

Recommended Posts

Hi!

I'm having a problem with DGPU. It's disabled using SSDT and ACPI patching.

The issue is: After reboot from MacOS into Windows Nvidia NVS 5200m is not present in Device Manager. How to fix the problem?

 

Specs:

Dell Latitude E6530 with A22 Bios 

i7-3740QM

1366x768 screen

16GB RAM

HD 4000 + NVS 5200M(disabled in SSDT-DGPU)

Mojave 10.14.6

EFI.rar

Link to comment
Share on other sites

I'm using Clover. I think the problem dGPU is disabled when i reboot Mac OS. I don't know how to enable it while rebooting.

 

If i use only -wegnoegpu boot arg (disabling patches and SSDT-DGPU) Nvidia card is present in Device manager.

 

Spoiler
DefinitionBlock ("", "SSDT", 2, "hack", "DGPU", 0x00000000)
{
    External (_SB_.PCI0.PEG0.VID_._OFF, MethodObj)    // 0 Arguments
    External (_SB_.PCI0.PEG0.VID_._ON_, MethodObj)    // 0 Arguments
    External (ZPTS, MethodObj)    // 1 Arguments
    External (ZWAK, MethodObj)    // 1 Arguments

    Method (EGPU, 0, NotSerialized)
    {
        If ((_OSI ("Darwin") && CondRefOf (\_SB.PCI0.PEG0.VID._ON)))
        {
            \_SB.PCI0.PEG0.VID._ON ()
        }
    }

    Method (DGPU, 0, NotSerialized)
    {
        If ((_OSI ("Darwin") && CondRefOf (\_SB.PCI0.PEG0.VID._OFF)))
        {
            \_SB.PCI0.PEG0.VID._OFF ()
        }
    }

    Device (RMD1)
    {
        Name (_HID, "RMD10000")  // _HID: Hardware ID
        Method (_INI, 0, NotSerialized)  // _INI: Initialize
        {
            If (_OSI ("Darwin"))
            {
                DGPU ()
            }
        }

        Method (_STA, 0, NotSerialized)  // _STA: Status
        {
            If (_OSI ("Darwin"))
            {
                Return (0x0F)
            }

            Return (Zero)
        }
    }

    Method (_PTS, 1, NotSerialized)  // _PTS: Prepare To Sleep
    {
        If (_OSI ("Darwin"))
        {
            EGPU ()
        }

        ZPTS (Arg0)
    }

    Method (_WAK, 1, Serialized)  // _WAK: Wake
    {
        Local0 = ZWAK (Arg0)
        If (_OSI ("Darwin"))
        {
            DGPU ()
        }

        Return (Local0)
    }
}

 

 

Link to comment
Share on other sites

  • Administrators
  • Solution

Ok, so dGPU remains disabled on warm reboots from macOS into Windows. There are only a few ways to address this:

  1. you opt for the boor arg option rather than the patched ACPI code.
  2. you call on your EGPU ACPI code on macOS shutdown to re-enable the dGPU; that should be handled by an event that you need to identify. Maybe one of those EV methods.
  3. you power off your laptop when you want to boot Windows.
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...