Jump to content

Disabling NVIDIA Optimus card on all laptops


Whit3Spirit
 Share

345 posts in this topic

Recommended Posts

  • 4 months later...
  • 5 months later...
  • 4 weeks later...
  • 1 month later...

hey man

thank you for this lovely thread

i recently treid to disable my nvidia card and i was successful but i am having sleep issues with my setup

the screen goes off , hdd off , usb off but the cpu fan still on and laptop lights (for power and wifi stays on) and i cannot recover from sleep afterwards

here is a link to my issue

http://www.insanelymac.com/forum/topic/316483-samsung-300e4a-s0esa-laptop-sleep-not-working/

hope you can help me

thanks in advance

Link to comment
Share on other sites

  • 8 months later...

My laptop is Acer V3-771g . 

I added only one line \_SB.PCI0.PEG0.PEGP._OFF () in the beginning of _INI under IGPU in SSDT , then the gt630m was disabled . But the laptop goes shutdown when it is restarted . After awoken from sleeping , the laptop can restart normally .

 

Adding _ON() in _PTS is of no use . I guess _ON() must be added in some where i don't know . 

Link to comment
Share on other sites

  • 3 months later...

Can you help me to disabling nvidia card? i've done step by step carefully but i still have my nvidia card running. My laptop is Dell Vostro 5460 with Intel HD4000 and NVIDIA GT630M graphics. I attach my DSDT and my config.plist file also, i suspect if anything wrong in my config.plist but i have no idea what it is because i'm new in hackintosh. Thanks in advance.

DSDT.dsl.zip

config.plist.zip

Link to comment
Share on other sites

  • 1 month later...

I wish to share my experience.

Dell Latitude E6430 has Intel+Nvidia Optimus and Intel can be switched off in BIOS (Optimus = disable, yeah, it switched off Intel) so Nvidia will be only videocard.

So i want to have DSDT and SSDT to be universal and working in both cases.

ACPI has simple check if ClassCode of Intel is 0x0300.

_PTS method

        	If (\_SB_.PCI0.IGPU.DCLS == 0x0300)
        	{
    			\_SB_.PCI0.PEG0.VID._ON()
		} Else {
        		\_SB.PCI0.PEG0.VID._OFF ()
		}

_WAK method

        \_SB.PCI0.PEG0.VID._ON ()

        If (\_SB_.PCI0.IGPU.DCLS == 0x0300)
        {
		\_SB_.PCI0.PEG0.VID._OFF()
	}

Comment: we need Nvidia to be working after wake if it is only card.

With this DSDT I have working sleep/wake/shutdown in both BIOS config.

 

Method _INI in the SSDT

           If (\_SB_.PCI0.IGPU.DCLS == 0x0300)
           {
              \_SB.PCI0.PEG0.VID._PS3 ()
           }


  • Like 1
Link to comment
Share on other sites

  • 4 months later...

Guys, I'm having problems with my new laptop, Acer Aspire A515-51G-70PU.

It has the NVIDIA Optimus 940MX and I've tried everything to disable it. I'm stuck at the installer boot, It hangs on "Service only ran for 0 seconds".

I'm sure it's a discrete graphics card issue... Attached are my DSDT and SSDT files that I extracted using Clover. Please, help me!

leociotti_DSDT_SSDT.zip

Link to comment
Share on other sites

  • 3 months later...
  • 2 weeks later...

U36SD i5 2410M tries El Capitan with Enoch Bootloader.


-[0000:00]-+-00.0  Intel Corporation 2nd Generation Core Processor Family DRAM Controller [8086:0104]
           +-01.0-[01]----00.0  NVIDIA Corporation GF119M [GeForce GT 520M] [10de:1050]
           +-02.0  Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0116]
           +-16.0  Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 [8086:1c3a]
           +-1a.0  Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 [8086:1c2d]
           +-1b.0  Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20]
           +-1c.0-[02]--
           +-1c.1-[03]----00.0  Qualcomm Atheros AR9285 Wireless Network Adapter (PCI-Express) [168c:002b]
           +-1c.3-[04]----00.0  Fresco Logic FL1000G USB 3.0 Host Controller [1b73:1000]
           +-1c.5-[05]----00.0  Qualcomm Atheros AR8151 v2.0 Gigabit Ethernet [1969:1083]
           +-1d.0  Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 [8086:1c26]
           +-1f.0  Intel Corporation HM65 Express Chipset Family LPC Controller [8086:1c49]
           +-1f.2  Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller [8086:1c03]
           \-1f.3  Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller [8086:1c22]

 

I want to turn off the Optimus for beginning. I removed kext Geforce* and NV* to able to boot.

I got several dsdt from AIDA64 (acpi*.bin), Windows ACPIdump , Linux dump (tables.zip)

I am troubling finding how turn off. _REG _INI

 

My modified is dsdtmod3.dsl

 

Regards

 

acpi_dsdt.bin

acpi_ssdt1.bin

acpi_ssdt2.bin

acpi_ssdt3.bin

acpi_ssdt4.bin

acpi_ssdt5.bin

acpi_xsdt.bin

dsdt.dsl.zip

dsdt mod3.dsl

tables.zip

Link to comment
Share on other sites

Just finish editing the optimus 520m to off. and i don't need to remove geforce kext anymore also with skipnvidiagfx=yes in org.chameleon.boot.plist

 

question..

Do i really need to put m_On in PTS method?

 

 

 


    Method (M_ON, 0, NotSerialized)
    {
        If (CondRefOf (\_SB.PCI0.PEG0.GFX0._ON))
        {
            \_SB.PCI0.PEG0.GFX0._ON ()
        }

        If (CondRefOf (\_SB.PCI0.PEG0.GFX0._PS0))
        {
            \_SB.PCI0.PEG0.GFX0._PS0 ()
        }
    }

    Method (_PTS, 1, NotSerialized)  // _PTS: Prepare To Sleep
    {
       

       // M_ON()     // ...................Needed or not

        If (LNotEqual (Arg0, 0x05))
        {
            PTS (Arg0)
        }
    }

        Method (M_OF, 0, NotSerialized)
    {
        If (CondRefOf (\_SB.PCI0.PEG0.GFX0._OFF))
        {
            \_SB.PCI0.PEG0.GFX0._OFF ()
        }

        If (CondRefOf (\_SB.PCI0.PEG0.GFX0._PS3))
        {
            \_SB.PCI0.PEG0.GFX0._PS3 ()                  // no SGOF 
        }
    }

    Method (_WAK, 1, Serialized)  // _WAK: Wake
    {
        M_OF ()                           // shutdown in wake
        If (LOr (LLess (Arg0, One), LGreater (Arg0, 0x05)))
        {
            Store (0x03, Arg0)
        }

        WAK (Arg0)
        Return (Package (0x02)
        {
            Zero, 
            Zero
        })
    }

 

 

....

....

   Scope (_SB.PCI0)
    {
        Method (_INI, 0, NotSerialized)  // _INI: Initialize
        {
            M_OF ()  // Shut down when initialize computer
            Store (0x07D0, OSYS)
            If (CondRefOf (\_OSI, Local0))
            {
                If (LOr (_OSI ("Darwin"), _OSI ("Linux")))
                {
                    Store (0x03E8, OSYS)

 

....

....

dsdt.aml

Link to comment
Share on other sites

  • 2 months later...
  • 2 months later...

I need a feedback from users of ASUS KabyLake+optimus notebooks.  (ASUS FX753, GL753, GL502)

Who managed to successfully shut off nVidia and have no fan speed issues?

 

Iam able to switch optimus off , but fan goes crazy full on.

general desription in this topic:

Link

Link to comment
Share on other sites

  • 1 month later...

Is there anyway to get some help with disabling my laptop 950m Nvidia on my laptop?

 

MSI GP70 2QF Leopard Pro 486

core i7-4720hq Haswell

Intel HD4600 graphics 

Intel HM86

16gb DDR3

 

Attached is ACPI file which I was able to extract using F4 at the clover boot up screen.

 

Have Mojave installed but with the Optimus still enabled my battery dies out pretty quick. Hoping to get this fixed so it will at least last longer.

 

Thanks for any help.

acpi.zip

Link to comment
Share on other sites

  • 3 months later...
  • 5 months later...
On 11/9/2017 at 2:24 PM, Slice said:

I wish to share my experience.

Dell Latitude E6430 has Intel+Nvidia Optimus and Intel can be switched off in BIOS (Optimus = disable, yeah, it switched off Intel) so Nvidia will be only videocard.

So i want to have DSDT and SSDT to be universal and working in both cases.

ACPI has simple check if ClassCode of Intel is 0x0300.

_PTS method


        	If (\_SB_.PCI0.IGPU.DCLS == 0x0300)
        	{
    			\_SB_.PCI0.PEG0.VID._ON()
		} Else {
        		\_SB.PCI0.PEG0.VID._OFF ()
		}

_WAK method


        \_SB.PCI0.PEG0.VID._ON ()

        If (\_SB_.PCI0.IGPU.DCLS == 0x0300)
        {
		\_SB_.PCI0.PEG0.VID._OFF()
	}

Comment: we need Nvidia to be working after wake if it is only card.

With this DSDT I have working sleep/wake/shutdown in both BIOS config.

 

Method _INI in the SSDT


           If (\_SB_.PCI0.IGPU.DCLS == 0x0300)
           {
              \_SB.PCI0.PEG0.VID._PS3 ()
           }

 

I am using only DSDT on my E6420. Can it be done with DSDT only?

 

Best regards.

Link to comment
Share on other sites

 Share

×
×
  • Create New...