/*
* Disable discrete graphics for Optimus (credit) Bumblebee-Project
* >> https://github.com/Bumblebee-Project/Bumblebee/wiki/ACPI-for-Developers#acpi-and-the-nvidia-card
*
* --- --- --- --- ---
*
* Important: Change all ACPI paths accordingly.
* dGPU path is _SB_.PCI0.RP01.PEGP / \_SB.PCI0.RP01.PEGP in this example.
* Optimus dGPUs contain NVOP / NV3D / WMMX method, inside one of the SSDTs or the DSDT.
*
* If successful, Display / nVidia disappears from Graphics/Displays << System Information
*/
DefinitionBlock ("", "SSDT", 2, "MAEMO", "NoHybGfx", 0x00000000)
{
External (_SB_.PCI0.PEG0.PEGP._DSM, MethodObj) // 4 Arguments (from opcode)
External (_SB_.PCI0.PEG0.PEGP._PS3, MethodObj) // 0 Arguments (from opcode)
Device (NHG1)
{
Name (_HID, "NHG10000") // _HID: Hardware ID
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
// If methods exist
If (LAnd (CondRefOf (\_SB.PCI0.PEG0.PEGP._DSM), CondRefOf (\_SB.PCI0.PEG0.PEGP._PS3)))
{
// Card off preparation, card off
\_SB.PCI0.PEG0.PEGP._DSM (ToUUID ("a486d8f8-0bda-471b-a72b-6042a6b5bee0"), 0x0100, 0x1A, Buffer (0x04)
{
0x01, 0x00, 0x00, 0x03
})
\_SB.PCI0.PEG0.PEGP._PS3 ()
}
}
}
}