Contribute
Register

How to Disable NVIDIA to reduce heat and extend battery life (Yosemite on Toshiba P850)

Status
Not open for further replies.
Joined
Oct 17, 2013
Messages
70
Motherboard
P850 - PSPKFC -Oc4004
CPU
Intel Core i7 3630QM @ 2400 MHz (max : 3400)
Graphics
NVIDIA® GeForce® GT 630M 2GB with Optimus + Intel® HD Graphics 4000
Mac
Classic Mac
Mobile Phone
Hello Every one,

With the Help and Support of RehabMan i was able to install Yosemite on my Laptop Toshiba P850
including :
  • Power Management for my Ivy Bridge CPU on 7 Series Motherboard
  • Brightness fix for the HD4000 Intel Graphics
  • Sleep Fix
  • Audio ALC280 Working great (just line-in input not working still)

My problem now is that even after patching the DSDT and fixing Power Management Issue
My Idle CPU temperature still 48-50C while it should be 38-40C on idle state
and My Battery shows only 1:10 remaining time at 100% while it should be >3:00

RahebMan Suggested To Disable the NVIDIA to reduce power consumption and heat on the System

So I will share my results here so i can get some help and may someone get benefit of it too :)
 
Joined
Oct 17, 2013
Messages
70
Motherboard
P850 - PSPKFC -Oc4004
CPU
Intel Core i7 3630QM @ 2400 MHz (max : 3400)
Graphics
NVIDIA® GeForce® GT 630M 2GB with Optimus + Intel® HD Graphics 4000
Mac
Classic Mac
Mobile Phone
First thing i have my graphics GFX0 (renamed now) in the DSDT,

Should i search first for the SSDT that is for my external GPU NVIDIA and work on it?
i have 6 SSDT extracted how to find which one for my NVIDIA Device?

and what is the procedure to start with?

Thank You

 
Joined
Mar 19, 2014
Messages
985
Motherboard
Dell XPS 15 7590 - Clover
CPU
i7-9980HK
Graphics
HD 630 + GTX 1650
Mac
  1. iMac
  2. MacBook Pro
Classic Mac
  1. Apple
Mobile Phone
  1. iOS
First thing i have my graphics GFX0 (renamed now) in the DSDT,

Should i search first for the SSDT that is for my external GPU NVIDIA and work on it?
i have 6 SSDT extracted how to find which one for my NVIDIA Device?

and what is the procedure to start with?

Thank You


I'm not sure on this procedure, as I don't have an nVidia card, but you can try this:

Find the SSDT that has your GFX0 defined in it (or may be in DSDT, that's where mine is), and find the _INI method. You can find it if you search for this:

Method (_INI)

Then at the very bottom of the method before the curly bracket that closes the method add this code:

_OFF

Save your SSDT and make sure your boot loader is using it and it SHOULD disable your nVidia card. You can try it, but I'm not 100% sure. :think:

Cheers!
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
186,727
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
I'm not sure on this procedure, as I don't have an nVidia card, but you can try this:

Find the SSDT that has your GFX0 defined in it (or may be in DSDT, that's where mine is), and find the _INI method. You can find it if you search for this:

Method (_INI)

Then at the very bottom of the method before the curly bracket that closes the method add this code:

_OFF

Save your SSDT and make sure your boot loader is using it and it SHOULD disable your nVidia card. You can try it, but I'm not 100% sure. :think:

Cheers!

Search for the _OFF method related to your nvidia (the SSDT will have PEGP/PEG0 references). Call _OFF from the corresponding _INI.
 
Joined
Oct 17, 2013
Messages
70
Motherboard
P850 - PSPKFC -Oc4004
CPU
Intel Core i7 3630QM @ 2400 MHz (max : 3400)
Graphics
NVIDIA® GeForce® GT 630M 2GB with Optimus + Intel® HD Graphics 4000
Mac
Classic Mac
Mobile Phone
Thanks you Dudes Sorry i was away,

Mine, also my Device (GFX0) was is in DSDT and not in any SSDT
and also the Method (_INI) exist there

but now its renamed by RehabMan patch to Device (IGPU)
and i believe this is the HD4000 not the Nvidia so is this one which i should disable ?

please correct for me because I'm still new to this,

RehabMan
do you mean search for _OFF where it is implemented and copy it to the DSDT/SSDT i want to disable?
and
(the SSDT will have PEGP/PEG0 references)
what do you mean by PEGP/PEG0 references
Device (PEGP) this one??

this is also in my DSDT ..
so please help me to know what exactly to look for .. this one in DSDT or look for other one in SSDT files ,

actually there is only 2 possible SSDTs out of 6 ill attach it here too but still didn't fix their errors because I'm using now only one SSDT for CPU PM and the DSDT
Possible SSDTs:
View attachment SSDT-1.amlView attachment SSDT.aml

Used DSDT and SSDT:
View attachment DSDT.amlView attachment SSDT.aml

Thank you
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
186,727
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
...
actually there is only 2 possible SSDTs out of 6 ill attach it here too but still didn't fix their errors because I'm using now only one SSDT for CPU PM and the DSDT
Possible SSDTs:
View attachment 115878View attachment 115879
..

You will need both of them. _INI is in the SSDT-1, and _OFF is in SSDT.

From _INI in SSDT-1

Code:
        Method (_INI, 0, NotSerialized)
        {
            Store (Zero, \_SB.PCI0.PEG0.PEGP._ADR)
// added code follows
External(\_SB.PCI0.PEG0.PEGP._OFF, MethodObj)
_OFF()
        }
 
Joined
Oct 17, 2013
Messages
70
Motherboard
P850 - PSPKFC -Oc4004
CPU
Intel Core i7 3630QM @ 2400 MHz (max : 3400)
Graphics
NVIDIA® GeForce® GT 630M 2GB with Optimus + Intel® HD Graphics 4000
Mac
Classic Mac
Mobile Phone
You will need both of them. _INI is in the SSDT-1, and _OFF is in SSDT.

From _INI in SSDT-1

Code:
        Method (_INI, 0, NotSerialized)
        {
            Store (Zero, \_SB.PCI0.PEG0.PEGP._ADR)
// added code follows
External(\_SB.PCI0.PEG0.PEGP._OFF, MethodObj)
_OFF()
        }

Man im not able to fix my SSDTs I'm googling it non of the errors could fix it yet, any suggestion?
do you think if i use Ubuntu to extract them it will be better or maybe less errors i got now using RWEverything on windows ?

and I'm trying to summarise the concept:
  1. i search of the SSDT that have my Nvidia device. (which is here the attached SSDT-1.aml before)
  2. then find the _INI method in it
  3. Add the external method _OFF() at the end of _INI method
is this true?
and
should i keep now (after fixing from errors) Both SSDT.aml and SSDt-1.aml to load (in Extra folder) and also keep the already existing SSDT.aml .. just name it SSDT-3.aml ?

Thank You
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
186,727
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
Man im not able to fix my SSDTs I'm googling it non of the errors could fix it yet, any suggestion?

Make sure you're disassembling them correctly (iasl -da -dl). Even then there still may be errors, but usually can be fixed by removing unused code (code that is Windows specific).
 
Joined
Oct 17, 2013
Messages
70
Motherboard
P850 - PSPKFC -Oc4004
CPU
Intel Core i7 3630QM @ 2400 MHz (max : 3400)
Graphics
NVIDIA® GeForce® GT 630M 2GB with Optimus + Intel® HD Graphics 4000
Mac
Classic Mac
Mobile Phone
Make sure you're disassembling them correctly (iasl -da -dl). Even then there still may be errors, but usually can be fixed by removing unused code (code that is Windows specific).
Sorry man i edited it to make more clear and have more info .. can you update your reply please?

and Im trying now to know what you mean by dissembling them correctly ? is this the 1st step while extracting them i should customise it? or now while compiling ?
 
Joined
Oct 13, 2014
Messages
127
Motherboard
GA-Z77-D3H
CPU
i5 3570K
Graphics
EVGA GTX960 2GB
Mac
  1. iMac
  2. MacBook
you need all DSDT and SSDT-* files in the same directory to dissasemble correctly, not just a single file each time ;)


iasl -d -dl * in the directory where all DSDT and SSDT files are present
 
Status
Not open for further replies.
Top