Ramalama Posted April 14, 2014 Share Posted April 14, 2014 To disable Nvidia Card (Easy Way) you can simply use this DSDT Patch: https://github.com/Ramalama2/UX301_DSDT/blob/master/6.%20Experimental/DSDT%20Patches/%5BALL%5D%20Nvidia%20PowerOff.txt Cheers :-) Link to comment https://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/page/2/#findComment-2012661 Share on other sites More sharing options...
Whit3Spirit Posted April 16, 2014 Author Share Posted April 16, 2014 To disable Nvidia Card (Easy Way) you can simply use this DSDT Patch: https://github.com/Ramalama2/UX301_DSDT/blob/master/6.%20Experimental/DSDT%20Patches/%5BALL%5D%20Nvidia%20PowerOff.txt Cheers :-) Great patch but i can't make a clean original DSDT of her laptop... If you can.. ? Link to comment https://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/page/2/#findComment-2013162 Share on other sites More sharing options...
Ramalama Posted April 16, 2014 Share Posted April 16, 2014 Great patch but i can't make a clean original DSDT of her laptop... If you can.. ? https://www.dropbox.com/s/odytnu1oyzmy9sf/DSDT_clean-mo1.aml This link is dead :-) Link to comment https://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/page/2/#findComment-2013167 Share on other sites More sharing options...
Ramalama Posted April 16, 2014 Share Posted April 16, 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. can you reupload your ioreg and give me a clean (vanilla) dsdt+(all)ssdt's? Link to comment https://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/page/2/#findComment-2013177 Share on other sites More sharing options...
Whit3Spirit Posted April 19, 2014 Author Share Posted April 19, 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 Link to comment https://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/page/2/#findComment-2013890 Share on other sites More sharing options...
Whit3Spirit Posted April 20, 2014 Author Share Posted April 20, 2014 What is your right laptop ? You can also use Clover because it can patch your DSDT on the fly, no problem with asl errors ^^ And with clover, you can get iMessage natively (i have see your post and it is a big problem with chameleon ) Link to comment https://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/page/2/#findComment-2014107 Share on other sites More sharing options...
mo.1 Posted April 21, 2014 Share Posted April 21, 2014 I use already the latest Clover...how can I use it on the fly? My Laptop is a XMG C703 similar as MSI GS70. http://www.insanelymac.com/forum/topic/297447-how-to-install-macosx-109x-mavericks-on-a-xmg-c703/ http://www.insanelymac.com/forum/topic/294224-how-to-install-macosx-109-mavericks-on-a-msi-gs70-laptop/ How did you get iMessage natively? iCloud worked and so on, but iMessage show me a notification, that I must contact the support... Link to comment https://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/page/2/#findComment-2014134 Share on other sites More sharing options...
jsl Posted April 23, 2014 Share Posted April 23, 2014 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. Hi, RehabMan: Can you help me for similar modification of my DSDT and SSDT to disable Nvidia Optimus GTX 880M ? I have tried in vain by DSDT Editor or IASL due to too many errors. My laptop is Asus G750JZ and Audio is Realtek AL-282 with working Speaker output now. If possible I need HDMI audio for internal Intel HD4600 too. I have got these DSDT & 7 SSDT with AIDA64 Business version 4.30 G750.rar Link to comment https://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/page/2/#findComment-2014652 Share on other sites More sharing options...
RehabMan Posted April 23, 2014 Share Posted April 23, 2014 Hi, RehabMan: Can you help me for similar modification of my DSDT and SSDT to disable Nvidia Optimus GTX 880M ? I have tried in vain by DSDT Editor or IASL due to too many errors. My laptop is Asus G750JZ and Audio is Realtek AL-282 with working Speaker output now. If possible I need HDMI audio for internal Intel HD4600 too. I have got these DSDT & 7 SSDT with AIDA64 Business version 4.30 If you disassemble correctly, and use ACPI 5.0, your DSDT compiles almost error free. (remove all the 'Zero' lines, remove Arg0 line causing second error) 1 Link to comment https://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/page/2/#findComment-2014654 Share on other sites More sharing options...
jsl Posted April 25, 2014 Share Posted April 25, 2014 If you disassemble correctly, and use ACPI 5.0, your DSDT compiles almost error free. (remove all the 'Zero' lines, remove Arg0 line causing second error) Hi, RehabMan: Thanks for your help. Following your advice there are 3 errors remained in my DSDT.dsl Can you help me to correct these errors ? Because I need error-free to get the final DSDT.aml DSDT.dsl.zip Link to comment https://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/page/2/#findComment-2015069 Share on other sites More sharing options...
RehabMan Posted April 25, 2014 Share Posted April 25, 2014 Hi, RehabMan: Thanks for your help. Following your advice there are 3 errors remained in my DSDT.dsl Can you help me to correct these errors ? Because I need error-free to get the final DSDT.aml You did not disassemble correcty... with SSDTs as context. Place all OEM SSDTs and DSDT in a single directory and disassemble with 'iasl -da *' Link to comment https://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/page/2/#findComment-2015074 Share on other sites More sharing options...
jsl Posted April 26, 2014 Share Posted April 26, 2014 You did not disassemble correcty... with SSDTs as context. Place all OEM SSDTs and DSDT in a single directory and disassemble with 'iasl -da *' Thanks for your advice and help again ! I can disable Nvidia GTX 880M Optimus in Asus G750JZ now with DropSSDT=No Screen Shot 2014-04-26 at 12.14.55 PM.zip 1 Link to comment https://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/page/2/#findComment-2015295 Share on other sites More sharing options...
Whit3Spirit Posted April 26, 2014 Author Share Posted April 26, 2014 If you disassemble correctly, and use ACPI 5.0, your DSDT compiles almost error free. (remove all the 'Zero' lines, remove Arg0 line causing second error) https://www.dropbox.com/s/l6rkwgvh7u329av/DSDT.dsl I deleted 18 errors. File in .dsl with no error but i can't compile it.... Help please. Link to comment https://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/page/2/#findComment-2015309 Share on other sites More sharing options...
RehabMan Posted April 26, 2014 Share Posted April 26, 2014 https://www.dropbox.com/s/l6rkwgvh7u329av/DSDT.dsl I deleted 18 errors. File in .dsl with no error but i can't compile it.... Help please. The file you posted compiles without errors. Link to comment https://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/page/2/#findComment-2015361 Share on other sites More sharing options...
Whit3Spirit Posted April 29, 2014 Author Share Posted April 29, 2014 My MaciASL bug then... Anyone can up the clean compil please ? Wheni compile the clean asl file, MaciASL give to me a bugged aml... Link to comment https://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/page/2/#findComment-2016109 Share on other sites More sharing options...
RehabMan Posted April 29, 2014 Share Posted April 29, 2014 Wheni compile the clean asl file, MaciASL give to me a bugged aml... What do you mean? Link to comment https://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/page/2/#findComment-2016110 Share on other sites More sharing options...
webcivilian Posted April 30, 2014 Share Posted April 30, 2014 I'm facing a problem with Optimus turned off. When I restart my computer, it shuts down. I know that this is due the Optimus being turned off and I need to turn it on inside the PTS method. My problem is that I have disabled the card using a SSDT. I don't know how to turn it on from a SSDT or calling an external method from a SSDT during PTS and WAK. Can someone help me turn on the card from SSDT? Thanks. Link to comment https://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/page/2/#findComment-2016173 Share on other sites More sharing options...
RehabMan Posted April 30, 2014 Share Posted April 30, 2014 I'm facing a problem with Optimus turned off. When I restart my computer, it shuts down. I know that this is due the Optimus being turned off and I need to turn it on inside the PTS method. My problem is that I have disabled the card using a SSDT. I don't know how to turn it on from a SSDT or calling an external method from a SSDT during PTS and WAK. Can someone help me turn on the card from SSDT? Thanks. We do the same thing on the ProBook. You use an External declaration to gain access to the methods in SSDT from DSDT. These are the DSDT patches we use: into definitionblock code_regex . insert begin External(\_SB_.PCI0.PEGP.DGFX._OFF, MethodObj)\n External(\_SB_.PCI0.PEGP.DGFX._ON, MethodObj)\n end; into method label _PTS code_regex ([\s\S]*) replace_matched begin If (CondRefOf(\\_SB_.PCI0.PEGP.DGFX._ON)) { \\_SB_.PCI0.PEGP.DGFX._ON() }\n %1 end; into method label _WAK code_regex (Return\s+\(.*) replace_matched begin If (CondRefOf(\\_SB_.PCI0.PEGP.DGFX._OFF)) { \\_SB_.PCI0.PEGP.DGFX._OFF() }\n %1 end; The paths to _ON/_OFF may be different in your SSDT, so be sure to tweak the patch as necessary. 1 Link to comment https://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/page/2/#findComment-2016177 Share on other sites More sharing options...
webcivilian Posted April 30, 2014 Share Posted April 30, 2014 I'm not even touching the DSDT but only adding _DSM methods and other things that I need in a SSDT which is injected by Clover (DSDT free Clover config). The _PTS and _WAK methods do not exist in the SSDT where I have turned off the card. Can I reference to the _PTS and _ WAK in the SSDT? How? And will that overwrite the methods with the ones defined in DSDT? Thanks again. My SSDT is similar to this one as decribed by Stevo here DefinitionBlock ("SSDT-1.aml", "SSDT", 2, "APPLE ", "Optimus", 0x00001000) { External (\_SB_.PCI0.PEG0, DeviceObj) External (\_SB_.PCI0.PEG0.PEGP._PS3, MethodObj) External (\_SB_.PCI0.PEG0.PEGP._DSM, MethodObj) Scope (\_SB.PCI0.PEG0) { Method (_INI, 0, NotSerialized) { \_SB.PCI0.PEG0.PEGP._DSM (Buffer (0x10) { /* 0000 */ 0xF8, 0xD8, 0x86, 0xA4, 0xDA, 0x0B, 0x1B, 0x47, /* 0008 */ 0xA7, 0x2B, 0x60, 0x42, 0xA6, 0xB5, 0xBE, 0xE0 }, 0x0100, 0x1A, Buffer (0x04) { 0x01, 0x00, 0x00, 0x03 }) If (One) { \_SB.PCI0.PEG0.PEGP._PS3 () } } } } Link to comment https://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/page/2/#findComment-2016189 Share on other sites More sharing options...
RehabMan Posted April 30, 2014 Share Posted April 30, 2014 I'm not even touching the DSDT but only adding _DSM methods and other things that I need in a SSDT which is injected by Clover (DSDT free Clover config). The _PTS and _WAK methods do not exist in the SSDT where I have turned off the card. Can I reference to the _PTS and _ WAK in the SSDT? How? And will that overwrite the methods with the ones defined in DSDT? Thanks again. My SSDT is similar to this one as decribed by Stevo here DefinitionBlock ("SSDT-1.aml", "SSDT", 2, "APPLE ", "Optimus", 0x00001000) { External (\_SB_.PCI0.PEG0, DeviceObj) External (\_SB_.PCI0.PEG0.PEGP._PS3, MethodObj) External (\_SB_.PCI0.PEG0.PEGP._DSM, MethodObj) Scope (\_SB.PCI0.PEG0) { Method (_INI, 0, NotSerialized) { \_SB.PCI0.PEG0.PEGP._DSM (Buffer (0x10) { /* 0000 */ 0xF8, 0xD8, 0x86, 0xA4, 0xDA, 0x0B, 0x1B, 0x47, /* 0008 */ 0xA7, 0x2B, 0x60, 0x42, 0xA6, 0xB5, 0xBE, 0xE0 }, 0x0100, 0x1A, Buffer (0x04) { 0x01, 0x00, 0x00, 0x03 }) If (One) { \_SB.PCI0.PEG0.PEGP._PS3 () } } } } OK, pretty weird way to do it, and some strange code you have there (the 'if (1)' is especially curious) but... There exists an SSDT somewhere in your system (OEM SSDT) that has the _PS3 method you're calling (why you're not calling _OFF, I'm not sure). So you can reach those methods (_ON or whatever) from DSDT just like you can reach them from the ssdt-1 you show above. There is no way to change the behavior of _WAK/_PTS in DSDT without patching the DSDT itself. Note that your _INI method defined in that SSDT likely overrides any _INI method already defined in one of the OEM SSDTs at the same path (\_SB.PCI0.PEG0). Maybe that's what you want, but you should be aware that the _INI code intended to execute (provided in OEM DSDT) will not execute. You can't have multiple methods of the same name at the same path... one will "win." 1 Link to comment https://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/page/2/#findComment-2016195 Share on other sites More sharing options...
webcivilian Posted April 30, 2014 Share Posted April 30, 2014 Can I copy the _WAK/_PTS methods to SSDT and just add the _OFF/_ON methods to it including what was originally there? Will it work. Regarding the way I'm turning off the card. I was doing it earlier with just calling the _OFF methods but people recommended to so it through _PS3 as _PS3 method is in defined in most systems and will probably work without looking at the SSDT table for Optimus(OFF can be DOFF or OPOF). It was one recommended by the developers of Bumblebee project. The same way is defined in the first post of this topic. Link to comment https://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/page/2/#findComment-2016196 Share on other sites More sharing options...
pokenguyen Posted April 30, 2014 Share Posted April 30, 2014 You can creare a link to _OFF/_ON method in your dsdt by using External External (\_SB_.PCI0.PEG0.PEGP._OFF, MethodObj) than you can call _OFF in _PTS/_WAK/_INI in your dsdt. Make sure you included the ssdt containing _OFF method along with the patched dsdt/ Link to comment https://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/page/2/#findComment-2016198 Share on other sites More sharing options...
RehabMan Posted April 30, 2014 Share Posted April 30, 2014 Can I copy the _WAK/_PTS methods to SSDT and just add the _OFF/_ON methods to it including what was originally there? Will it work. No. Methods defined in DSDT always take precedence over methods with the same name found in an SSDT. You can creare a link to _OFF/_ON method in your dsdt by using External External (\_SB_.PCI0.PEG0.PEGP._OFF, MethodObj)than you can call _OFF in _PTS/_WAK/_INI in your dsdt. Make sure you included the ssdt containing _OFF method along with the patched dsdt/ You missed part of the discussion. For some reason, webcivilian is averse to modifying the DSDT. 1 Link to comment https://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/page/2/#findComment-2016199 Share on other sites More sharing options...
webcivilian Posted April 30, 2014 Share Posted April 30, 2014 RehabMan - I already have a patched DSDT that works I'm just trying this new method of not using a patched DSDT and using Clover to do patching on the fly. I guess I will patch in the _PTS and _WAK sections of the DSDT using Clover. Link to comment https://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/page/2/#findComment-2016201 Share on other sites More sharing options...
RehabMan Posted April 30, 2014 Share Posted April 30, 2014 ... I'm just trying this new method of not using a patched DSDT and using Clover to do patching on the fly. I guess I will patch in the _PTS and _WAK sections of the DSDT using Clover. With Clover's support for "floating regions" (FixRegions_10000000) in a patched DSDT, there is little reason to expend so much effort to not patch DSDT. Link to comment https://www.insanelymac.com/forum/topic/295584-disabling-nvidia-optimus-card-on-all-laptops/page/2/#findComment-2016202 Share on other sites More sharing options...
Recommended Posts