Whit3Spirit Posted January 25, 2014 Share Posted January 25, 2014 Edited the 15/07/2014 Hi all ! After months of passive research i have found on some different forums a DSDT solution for disabling the NVidia card. Disabling Nvidia allow to save battery power of 2x and temperature of laptop too. My Specs Acer Aspire V3-571G-73614G50Makk :: Processor Intel Core i7-3610QM 2.3 GHz (Intel Core i7) :: Mainboard Intel HM77 (Panther Point) :: Memory 4096 MB :: Graphics adapter NVIDIA GeForce GT 640M - 2048 MB, Core: 708 MHz, Memory: 900 MHz, DDR3, 80.07.14.00.09, Optimus :: Display 15.6 inch 16:9, 1366x768 pixel, LG Philips LP156WH4-TLA1, TFT LED :: Soundcard Realtek ALC269 @ Intel Panther Point PCH - High Definition Audio Controller :: Networking Broadcom NetLink BCM57785 PCI-E Gigabit Ethernet Controller (10/100/1000MBit), Atheros AR5BWB222 Wireless Network Adapter (b g n ), 4.0 Bluetooth :: Optical drive MAT{censored}A DVD-RAM UJ8B0AW :: Hackintosh Config SMBios : Macmini6,2 org.chameleon.boot.plist : link DSDT : link Extra Folder : link Source DSDT/SSDT Method ( work on it, not fully fonctionnal ) : Link here DSDT Method (work with all bootloader) Instructions Needed AIDA64 version 2.80 --> link ssdtPRGen.sh --> link AppleIntelCPUPowerManagementInfo.kext --> link MacIASL --> link Disabling NVidia card In the first step, dump your dsdt from Windows with AIDA64 (version 2.80 max) --> tuto YouTube Reboot on OSX This patch don't need to extract or modify any SSDT. You can see the DSDT edits in the link of qwerty12 topic in credits. Quickly, in DSDT, i call external method for disabling the card. These links calls methods of SSDT-4 in my config but can be different with your machine. You don't need to copy manually the _OFF method from SSDT to DSDT. Add these lines if you don't have them to the top of your DSDT : [...] External (_SB_.PCI0.PEG0.PEGP._PS3, MethodObj) External (_SB_.PCI0.PEG0.PEGP._PS0, MethodObj) External (_SB_.PCI0.PEG0.PEGP._OFF, MethodObj) External (_SB_.PCI0.PEG0.PEGP._ON, MethodObj) External (_SB_.PCI0.PEG0.PEGP.SGOF, MethodObj) External (_SB_.PCI0.PEG0.PEGP.SGON, MethodObj) [...] I added the method M_OF before the _WAK method : [...] Method (M_OF, 0, NotSerialized) { If (CondRefOf(\_SB_.PCI0.PEG0.PEGP._OFF)) { \_SB_.PCI0.PEG0.PEGP._OFF() } If (CondRefOf(\_SB_.PCI0.PEG0.PEGP._PS3)) { \_SB_.PCI0.PEG0.PEGP._PS3() } If (CondRefOf(\_SB_.PCI0.PEG0.PEGP.SGOF)) { \_SB_.PCI0.PEG0.PEGP.SGOF() } } [...] After that, i call the M_OF method in _WAK : [...] Method (_WAK, 1, Serialized) { M_OF () If (LAnd (LEqual (\_SB.PCI0.LPCB.EC0.AAST, One), LEqual (\_SB.PCI0.LPCB.EC0.AAEN, One))) { Store (Zero, GP53) [...] And i call the M_OF method in the _INI method : [...] Method (_INI, 0, NotSerialized) { Store (0x07D0, OSYS) M_OF () If (CondRefOf (\_OSI, Local0)) { If (_OSI ("Windows 2001")) [...] If you use Chameleon or branch, paste your modified DSDT to your Extra folder and add these options to your org.chameleon.Boot.plist : <key>DSDT</key> <string>/Extra/DSDT.aml</string> <key>DropSSDT</key> <string>No</string> If you use Clover Bootloader, copy DSDT file in "EFI/CLOVER/ACPI/Patched" Reboot and go to Applications/Utilities/System Information Go to Graphics Card Section, if the NVidia Chipset not appear, it’s working. Enable the SpeedStep management The only problem with this technic is the Power Management. When your turn off the DropSSDT flags in org.chameleon.Boot.plist, Chameleon don’t go dump your SSDT tables in the ACPI tables of your machine. For enabling SpeedStepper with that fix, you should make a patched SSDT with the ssdtPRGen method : Download the later ssdtPRGen.sh Be sure that your SMBios.plist is appropriate with your CPU and system (A good SMBios can fix the iMessage, iCloud, iTunes and Apple Store connexion and login bugs). With my V3-571G core i7, i prefer the Macmini6,2 model for more speed steps. In Terminal app, launch the ssdtPRGen.sh with command : sudo sh /the_way_of_your_file/ssdtPRGen.sh Write your password and type "y" when it’s demanded for make a ssdt_pr.aml in your Extra folder only if you use Chameleon bootloader. If you use clover, copy this file in "EFI/CLOVER/ACPI/Patched" and rename it to ssdt-1.aml. If you have already a ssdt-1, rename it to ssdt-2... Reboot To be sure that your Speed Stepper is patched, download the AppleIntelCPUPowerManagementInfo.kext and add it to your System/Library/Extensions/ folder with the kext installer of your choice. I for one better in Kext Utility. Rebuild cache with the app of your choice (kext utility make that automaticly) and reboot. At start, open your terminal app and type this command : cat /var/log/system.log | grep "AICPUPMI:" If you can see a lot of P-States, you did a good job. About problems Problem with auto ON after sleep Past this method before the M_OF method in your DSDT : Method (M_ON, 0, NotSerialized) { If (CondRefOf(\_SB_.PCI0.PEG0.PEGP._ON)) { \_SB_.PCI0.PEG0.PEGP._ON() } If (CondRefOf(\_SB_.PCI0.PEG0.PEGP._PS0)) { \_SB_.PCI0.PEG0.PEGP._PS0() } If (CondRefOf(\_SB_.PCI0.PEG0.PEGP.SGON)) { \_SB_.PCI0.PEG0.PEGP.SGON() } } After that, call M_ON method in _PTS (Prepare To Sleep) so that the _WAK after sleep can shutdown the card. (thanks to RehabMan) Method (_PTS, 1, NotSerialized) { M_ON () [...] Error of compilation If you find an error of compilation in MacIASL after have make a clean DSDT (with no error), like "Line 1 : Input file does not appear to be an ASL or data table source file" Try to delete all return to the line in the M_ON or M_OF method or just replace it like that : M_OF Method (M_OF, 0, NotSerialized){If (CondRefOf(\_SB_.PCI0.PEG0.PEGP._OFF)){\_SB_.PCI0.PEG0.PEGP._OFF()}If (CondRefOf(\_SB_.PCI0.PEG0.PEGP._PS3)){\_SB_.PCI0.PEG0.PEGP._PS3()}If (CondRefOf(\_SB_.PCI0.PEG0.PEGP.SGOF)){\_SB_.PCI0.PEG0.PEGP.SGOF()}} M_ON Method (M_ON, 0, NotSerialized){If (CondRefOf(\_SB_.PCI0.PEG0.PEGP._ON)){\_SB_.PCI0.PEG0.PEGP._ON()}If (CondRefOf(\_SB_.PCI0.PEG0.PEGP._PS0)){\_SB_.PCI0.PEG0.PEGP._PS0()}If (CondRefOf(\_SB_.PCI0.PEG0.PEGP.SGON)){\_SB_.PCI0.PEG0.PEGP.SGON()}} Credit Thanks to PikeRAlpha for ssdtPRGen.sh Thanks to 'qwerty12' for all informations --> link of her topic Thanks to 'Skvo' for speedster and SSDT solution --> link of her post Thanks to RehabMan for their instructions Thanks to LexHimself for the SSDT method 12 Link to comment Share on other sites More sharing options...
badaxe2 Posted January 26, 2014 Share Posted January 26, 2014 Great work man, do you think that your patch is compatible or can be modified to work on my dsdt ? Nvidia card is 670mx with hd4000 DSDT https://www.dropbox.com/s/ehmksupwhn1440d/DSDT.aml IOREG https://www.dropbox.com/s/4k1b5nbuxl3tqz7/ioreg.ioreg Link to comment Share on other sites More sharing options...
Whit3Spirit Posted January 29, 2014 Author Share Posted January 29, 2014 Great work man, do you think that your patch is compatible or can be modified to work on my dsdt ? Nvidia card is 670mx with hd4000 DSDT https://www.dropbox.com/s/ehmksupwhn1440d/DSDT.aml IOREG https://www.dropbox.com/s/4k1b5nbuxl3tqz7/ioreg.ioreg Hi Badaxe, try with that and say to me if your card is disabled. link Link to comment Share on other sites More sharing options...
Demonbane Posted February 12, 2014 Share Posted February 12, 2014 nice guide! Link to comment Share on other sites More sharing options...
Whit3Spirit Posted February 14, 2014 Author Share Posted February 14, 2014 thanks Link to comment Share on other sites More sharing options...
mo.1 Posted February 28, 2014 Share Posted February 28, 2014 Hey, do you think that your patch is compatible or can be modified to work on my dsdt? I have a Nvidia GTX 765m and a Intel HD4600 DSDT https://www.dropbox.com/s/vx30qnw4l270qcc/DSDT.aml IOREG https://www.dropbox.com/s/4rffijvra3verdw/XMG%20C702.ioreg Is it important that I create my DSDT with AIDA64, or can I create my DSDT with DSDT Editor on Mac? I use Clover v.2330. Link to comment Share on other sites More sharing options...
Whit3Spirit Posted March 2, 2014 Author Share Posted March 2, 2014 Is it important that I create my DSDT with AIDA64, or can I create my DSDT with DSDT Editor on Mac? DSDT Editor is a good editor but it can only extract the DSDT. AIDA can extract DSDT, SSDT, and all ACPI's tables. Can you extract your SSDT tables and upload it here ? Link to comment Share on other sites More sharing options...
mo.1 Posted March 3, 2014 Share Posted March 3, 2014 I got some Problems. First is, I don't find the option "ACPI Tools" on Windows 8.1 at the actual AIDA64 Version. But I have found a older Version 3.20.2600 and there ist the option "ACPI Tools". The Program says that my Motherboard was not found or is Unkown. Second is, that when I use the old Version of AIDA64 in ACPI Tool and click on Save Table I see 7 Lists of SSDT. Which one you need? Should I upload all? Here is a Zip with all SSDT 1 to 7 from up to down and the actual DSDT. https://www.dropbox.com/s/fgg87z14moyboji/DSDT%20SSDT%20AIDA64.zip Link to comment Share on other sites More sharing options...
Whit3Spirit Posted March 9, 2014 Author Share Posted March 9, 2014 Hi guy ! I have opened your DSDT, the first have a bug or is wrong and the second is so buggy ! I try to debbug it but i'm not sure to getting there... I tell you quickly if i'm able to do it. Can you upload your DSDT original extracted from AIDA too please ? Edit : I have found your PS3 and DSM method in SSDT-7, i think that the hack will be functional. Link to comment Share on other sites More sharing options...
RehabMan Posted March 9, 2014 Share Posted March 9, 2014 I got some Problems. First is, I don't find the option "ACPI Tools" on Windows 8.1 at the actual AIDA64 Version. But I have found a older Version 3.20.2600 and there ist the option "ACPI Tools". The Program says that my Motherboard was not found or is Unkown. Second is, that when I use the old Version of AIDA64 in ACPI Tool and click on Save Table I see 7 Lists of SSDT. Which one you need? image.jpeg Should I upload all? Here is a Zip with all SSDT 1 to 7 from up to down and the actual DSDT. https://www.dropbox.com/s/fgg87z14moyboji/DSDT%20SSDT%20AIDA64.zip Disassemble them correctly: # in Terminal, with recent iasl iasl -da *.bin *.aml These patches for DSDT: into method label ADBG replace_content begin //nothing end; Remove all the lines 'Zero' starting at line ~6258. You then have a DSDT which will compile with no errors. 1 Link to comment Share on other sites More sharing options...
MyDoOm3 Posted March 10, 2014 Share Posted March 10, 2014 Hi all I have a samsung notebook series 3 with nvidia optimus and 520MX intel hd 3000 I would like to disable the secondary display adapter in order to use the video card intel 3000. This guide is fine for my notebook? thank you very much Link to comment Share on other sites More sharing options...
Whit3Spirit Posted March 12, 2014 Author Share Posted March 12, 2014 Hi Mydoom3. Try it and if you have a problème, post there. Disassemble them correctly: # in Terminal, with recent iasl iasl -da *.bin *.aml These patches for DSDT: into method label ADBG replace_content begin //nothing end; Remove all the lines 'Zero' starting at line ~6258.You then have a DSDT which will compile with no errors. Yes but this dsdt was modified and have 160 errors. With the original DSDT, it's more simple Link to comment Share on other sites More sharing options...
vusun123 Posted March 12, 2014 Share Posted March 12, 2014 I think it's a bit easier to disable your nvidia optimus in your ssdt ( especially for Haswell ). And you should decompile your dsdt/ssdt through iasl to reduce errors to minimum P/S: here an example for you, I patched it already, although this Alienware can use the GTX 765M: http://www.insanelymac.com/forum/topic/296713-alienware-17-need-help-with-dsdt-compile-error/ Link to comment Share on other sites More sharing options...
mo.1 Posted March 12, 2014 Share Posted March 12, 2014 Here is my DSDT original extracted from AIDA. AIDA64_dsdt.aml.zip Link to comment Share on other sites More sharing options...
Whit3Spirit Posted March 14, 2014 Author Share Posted March 14, 2014 i can't correct it, i'm sorry Link to comment Share on other sites More sharing options...
RehabMan Posted March 14, 2014 Share Posted March 14, 2014 Here is my DSDT original extracted from AIDA. AIDA64_dsdt.aml.zip See post #10. Link to comment Share on other sites More sharing options...
Whit3Spirit Posted March 16, 2014 Author Share Posted March 16, 2014 Yes a I see that but the DSDT is corrupted. I can't make a clean result for save in aml... Sorry dude, i did my best Link to comment Share on other sites More sharing options...
RehabMan Posted March 16, 2014 Share Posted March 16, 2014 Yes a I see that but the DSDT is corrupted. I can't make a clean result for save in aml... Sorry dude, i did my best Post #10 contains instructions for obtaining an error free DSDT compile. Link to comment Share on other sites More sharing options...
mo.1 Posted March 17, 2014 Share Posted March 17, 2014 To Post #10I have no idea how your method works.In which terminal I need to copy the code? # in Terminal, with recent iasl iasl -da *.bin *.aml I need to use the program MaciASL, DSDT Editor or DSDTSE? I found this: http://www.osx86.net/files/file/4-iasl-intel-acpi-tools-x64/ Can you post a tutorial or some explanations? At the moment I get about 150 Errors, but I don't use the Code in the Terminal...I don´t know how does it goes... THANK YOU GUYS!! Link to comment Share on other sites More sharing options...
TimeWalker75a Posted March 17, 2014 Share Posted March 17, 2014 ... Nice one. iasl is a binary tool .. Google acpica Link to comment Share on other sites More sharing options...
pokenguyen Posted March 17, 2014 Share Posted March 17, 2014 To Post #10 I have no idea how your method works. In which terminal I need to copy the code? # in Terminal, with recent iasl iasl -da *.bin *.aml I need to use the program MaciASL, DSDT Editor or DSDTSE? I found this: http://www.osx86.net/files/file/4-iasl-intel-acpi-tools-x64/ Can you post a tutorial or some explanations? At the moment I get about 150 Errors, but I don't use the Code in the Terminal...I don´t know how does it goes... THANK YOU GUYS!! You need to extract all ssdt along with dsdt, only one dsdt is not enough to decompile. Then copy all *.aml and iasl to one folder, run iasl -da *.bin *.aml, the .dsl will have much fewer errors. Link to comment Share on other sites More sharing options...
Whit3Spirit Posted March 19, 2014 Author Share Posted March 19, 2014 A week on this DSDT and i'm sorry all but with all my goodwill, i can't resolve this. Link to comment Share on other sites More sharing options...
Whit3Spirit Posted April 12, 2014 Author Share Posted April 12, 2014 re, i have make a DSDT with no errors but a lot of warnings I have disabling your graphic card too. Say to me if the DSDT is fonctionnaly. https://www.dropbox.com/s/odytnu1oyzmy9sf/DSDT_clean-mo1.aml Link to comment Share on other sites More sharing options...
mo.1 Posted April 13, 2014 Share Posted April 13, 2014 hmm, thank you, but I get Kernal Panic... And when I open the DSDT_clean-mo1.aml and compile it, I get 201 Errors... Link to comment Share on other sites More sharing options...
Whit3Spirit Posted April 14, 2014 Author Share Posted April 14, 2014 hmm, thank you, but I get Kernal Panic... And when I open the DSDT_clean-mo1.aml and compile it, I get 201 Errors... Foto 1.JPGBildschirmfoto 2014-04-13 um 19.56.36.png I don't understand... Another can give help please ? What is your laptop model ? Link to comment Share on other sites More sharing options...
Recommended Posts