Jump to content
Whit3Spirit

Disabling NVIDIA Optimus card on all laptops

345 posts in this topic

Recommended Posts

Advertisement

SSDT method don't work with my laptop. I have the _INI method in the _SB scope.

Read post #74 carefully.

No methods working under osx 10.9.2 even the DSDT method... you know that ?

On the contrary. I know of several examples of people using my method to disable discrete cards on 10.9.2.

 

It is a very detail oriented task, however. One detail wrong, and it won't work... with little indication as to what the mistake is.

Share this post


Link to post
Share on other sites

Read post #74 carefully.

 

On the contrary. I know of several examples of people using my method to disable discrete cards on 10.9.2.

 

It is a very detail oriented task, however. One detail wrong, and it won't work... with little indication as to what the mistake is.

Agree, I always use ssdt/dsdt manually patching method and it works on tons of laptops: hp, asus, dell, acer, etc... I only need to repatch them after BIOS update.

 

Also, it's easy: use "iasl -da *.aml", then add _off to _ini.

Share this post


Link to post
Share on other sites

...

Also, it's easy: use "iasl -da *.aml", then add _off to _ini.

Yes, it is easy in concept. It is the details that trip people up.

 

Details:

- you must find the appropriate _INI method (the _INI on a device related to your discrete card... the one with _OFF)

- older machines do not have _OFF but contain similar methods... you have to search for them (use your brain)

- errors are reduced with 'iasl -da' but you may still have errors... fix them prior to applying patches

- even after your files are patched, errors corrected, if you open the patched/compiled .aml files, your errors may come back. The errors are not real, as they are created by the disassembly process. Always disassemble in a group with 'iasl -da'

- edit the resulting .dsl files, not .aml files when making changes

- save the resulting files as .aml files (format: ACPI Machine Language Binary). Not surprisingly, AppleACPIPlatform does not like loading text files into ACPI.

- if you rename devices in DSDT, you must do the same rename in all SSDTs you plan on loading (eg. GFX0->IGPU, B0D3->HDAU must be done universally)

- SSDTs that contain duplicate method (any duplicate object, actually) definitions will be thrown away (eg. DTGP can be defined only in one place; best not to use DTGP)

- SSDTs must be placed where the bootloader will load them. Chameleon, in Extra: SSDT.aml, SSDT-1.aml, SSDT-2.aml, no gaps in the numbers (Chameleon stops at first file not found... at first gap). Clover, in EFI/CLOVER/ACPI/patched, SSDT.aml, SSDT-? (where ? is a digit), gaps in the numbers allowed.

- you must drop each OEM SSDT you are patching. Best strategy: drop them all, add the ones you need (patched or not patched)

- some people experience problems with sleep/restart/shutdown when the discrete card is left in the off state... call _ON from DSDT _PTS and _OFF from DSDT _WAK. Use External to access the methods from DSDT. You must refer to the actual path (eg. _SB.PCI0.PEGP.PEG0._OFF)

- if the device with _INI in it (eg. PEG0.PEGP) is not active, OS X will not call _INI. An inactive device is one that returns Zero from _STA. Usually points to other issues with DSDT...

- if you upgrade hardware or BIOS, you must repeat the process...

 

 

Having a basic understanding of ACPI, ACPI namespace, how SSDTs are loaded, goes a long way.

 

One way to troubleshoot an issue is to extract all *patched* DSDT/SSDTs *binaries* from your running system (from ioreg). Then disassemble them with 'iasl -da'. If iasl finds errors in loading all your DSDT/SSDTs into a namespace, so will OS X have the same problems.

Share this post


Link to post
Share on other sites

Just out of interest, and I apologise for off topic, but, does the _ON/_OFF method work for iGPU as well.

I'm pretty sure it is not there at all... Optimus and other dual graphics technologies on PCs (aka. "switching") work by having the discrete card "go through" the integrated chip's framebuffer/hardware. So the IGPU is the conduit for everything going to the display. Turning it off doesn't make any sense because then neither would work.

 

At least that is my basic understanding. I'm a software guy not a hardware guy, so I'm probably leaving out some valuable information or am off on the technical details.

Share this post


Link to post
Share on other sites

Thanks for info, still off topic,

I have my MB via VGA with iGPU (G1610) and HD7750 via DVI to ONE monitor, just trying to figure out how to switch from VGA to DVI without the manual switch on monitor.

As per my post      VGA and DVI using single monitor    

Just want to know if this is possible with DSDT edit. Any info appreciated.

I don't think you're going to solve that with ACPI. Celeron integrated graphics aren't even supported by OS X. Is there a driver loading for it?

Share this post


Link to post
Share on other sites

Topic edited in information about patch, i make the patch for MaciASL and Chameleon Wizard next week.

Share this post


Link to post
Share on other sites

PS0 is for PState, this is just to be sure everything is disabled. I know it's just work with _OFF or just with _PS3 but like that i'm very sure :P

Share this post


Link to post
Share on other sites

Could you please look at my DSDT and tell me what is wrong?.  First I tried you M_OFF and M_ON method.  Did not work and I looked at your own dsdt with Otimus disabled.  Noticed you are using another technique PINI, I tried that one two with no success.  In the enclosed zip you will find my dsdt; ssdt and ioreg dump.  Do apprecite your help

Thanks

Artimess

OptimusDisable.zip

Share this post


Link to post
Share on other sites

Could you please look at my DSDT and tell me what is wrong?.  First I tried you M_OFF and M_ON method.  Did not work and I looked at your own dsdt with Otimus disabled.  Noticed you are using another technique PINI, I tried that one two with no success.  In the enclosed zip you will find my dsdt; ssdt and ioreg dump.  Do apprecite your help

Thanks

Artimess

In DSDT, _SB.PCI0.GFX0 is renamed to _SB.PCI0.IGPU, but not in SSDT2.

Share this post


Link to post
Share on other sites

In DSDT, _SB.PCI0.GFX0 is renamed to _SB.PCI0.IGPU, but not in SSDT2.

I see, but the problem is SSDT2 gives lots of compile error!  Is this normal?  Could I please ask you give me some hint, I do not know even where to start.  I wanted to copy paste the errors here are some of the errors!  What i did was use Macaisl to generate the ssdt and compile it and here is the result!

Thanks for your help.

Artimess

 

5/19/14, 9:13:50 PM, Pass 2 parse of [sSDT]

5/19/14, 9:13:50 PM, Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)

5/19/14, 9:13:50 PM, ........................

5/19/14, 9:13:50 PM, Parsing completed

5/19/14, 9:13:50 PM, Disassembly completed, written to "iASLVPpaKa.dsl"

5/19/14, 9:15:47 PM, iASLCRH0XG.dsl(30) : Error    4065 - Object not found or not accessible from scope (DGEN)

5/19/14, 9:15:47 PM, iASLCRH0XG.dsl(128) : Error    4096 - syntax error, unexpected PARSEOP_FIELD

5/19/14, 9:15:47 PM, iASLCRH0XG.dsl(132) : Error    4064 - Object does not exist (BPCI)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(194) : Error    4064 - Object does not exist (_PSC)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(197) : Error    4064 - Object does not exist (\_SB.PCI0.P0P2.PEGP._ON)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(204) : Error    4064 - Object does not exist (_PSC)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(209) : Error    4064 - Object does not exist (OPCE)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(213) : Error    4064 - Object does not exist (\_SB.PCI0.P0P2.PEGP._OFF)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(217) : Error    4064 - Object does not exist (OPCE)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(220) : Error    4064 - Object does not exist (_PSC)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(371) : Remark   5111 - Use of compiler reserved name (_T_0)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(384) : Error    4064 - Object does not exist (\_SB.PCI0.P0P2.PEGP.GOBT)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(403) : Error    4064 - Object does not exist (OPCE)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(414) : Error    4064 - Object does not exist (OPCM)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(449) : Error    4068 - Object is not accessible from this scope (LLGE)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(450) : Error    4068 - Object is not accessible from this scope (LGGE)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(451) : Error    4068 - Object is not accessible from this scope (PEPO)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(452) : Error    4068 - Object is not accessible from this scope (ROE0)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(453) : Error    4068 - Object is not accessible from this scope (ROE1)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(454) : Error    4068 - Object is not accessible from this scope (ROE2)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(455) : Error    4068 - Object is not accessible from this scope (ROE3)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(456) : Error    4068 - Object is not accessible from this scope (ROE4)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(457) : Error    4068 - Object is not accessible from this scope (ROE5)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(458) : Error    4068 - Object is not accessible from this scope (ROE6)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(459) : Error    4068 - Object is not accessible from this scope (ROE7)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(460) : Error    4068 - Object is not accessible from this scope (ROE8)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(461) : Error    4068 - Object is not accessible from this scope (ROE9)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(462) : Error    4068 - Object is not accessible from this scope (ROEA)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(463) : Error    4068 - Object is not accessible from this scope (ROEB)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(464) : Error    4068 - Object is not accessible from this scope (ROEC)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(465) : Error    4068 - Object is not accessible from this scope (ROED)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(466) : Error    4068 - Object is not accessible from this scope (ROEE)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(467) : Error    4068 - Object is not accessible from this scope (ROEF)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(468) : Error    4068 - Object is not accessible from this scope (PCGE)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(469) : Error    4068 - Object is not accessible from this scope (HCLQ)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(470) : Error    4068 - Object is not accessible from this scope (PEDQ)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(471) : Error    4068 - Object is not accessible from this scope (LNKD)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(472) : Error    4068 - Object is not accessible from this scope (LLGE)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(473) : Error    4068 - Object is not accessible from this scope (LGGE)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(479) : Error    4068 - Object is not accessible from this scope (LNKS)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(487) : Error    4064 - Object does not exist (VGAR)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(494) : Error    4064 - Object does not exist (VGAR)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(496) : Error    4068 - Object is not accessible from this scope (LLGE)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(497) : Error    4068 - Object is not accessible from this scope (LGGE)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(498) : Error    4068 - Object is not accessible from this scope (LNKD)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(499) : Error    4068 - Object is not accessible from this scope (LNKS)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(504) : Error    4068 - Object is not accessible from this scope (PEDQ)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(505) : Error    4068 - Object is not accessible from this scope (LNKD)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(506) : Error    4068 - Object is not accessible from this scope (PIDQ)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(511) : Error    4068 - Object is not accessible from this scope (PCGE)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(512) : Error    4068 - Object is not accessible from this scope (HCLQ)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(513) : Error    4068 - Object is not accessible from this scope (PEPO)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(514) : Error    4068 - Object is not accessible from this scope (ROE0)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(515) : Error    4068 - Object is not accessible from this scope (ROE1)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(516) : Error    4068 - Object is not accessible from this scope (ROE2)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(517) : Error    4068 - Object is not accessible from this scope (ROE3)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(518) : Error    4068 - Object is not accessible from this scope (ROE4)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(519) : Error    4068 - Object is not accessible from this scope (ROE5)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(520) : Error    4068 - Object is not accessible from this scope (ROE6)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(521) : Error    4068 - Object is not accessible from this scope (ROE7)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(522) : Error    4068 - Object is not accessible from this scope (ROE8)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(523) : Error    4068 - Object is not accessible from this scope (ROE9)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(524) : Error    4068 - Object is not accessible from this scope (ROEA)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(525) : Error    4068 - Object is not accessible from this scope (ROEB)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(526) : Error    4068 - Object is not accessible from this scope (ROEC)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(527) : Error    4068 - Object is not accessible from this scope (ROED)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(528) : Error    4068 - Object is not accessible from this scope (ROEE)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(529) : Error    4068 - Object is not accessible from this scope (ROEF)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(530) : Error    4068 - Object is not accessible from this scope (LLGE)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(531) : Error    4068 - Object is not accessible from this scope (LGGE)

5/19/14, 9:15:48 PM, iASLCRH0XG.dsl(538) : Error    4096 - syntax error, unexpected PARSEOP_SCOPE, expecting $end

5/19/14, 9:15:48 PM, ASL Input:  iASLCRH0XG.dsl - 539 lines, 19234 bytes, 214 keywords

5/19/14, 9:15:48 PM, Compilation complete. 70 Errors, 0 Warnings, 1 Remarks, 0 Optimizations

5/19/14, 9:16:47 PM, Loading Acpi table from file iASLEpFLS0.aml

5/19/14, 9:16:47 PM, Acpi table [sSDT] successfully installed and loaded

5/19/14, 9:16:47 PM, Pass 1 parse of [sSDT]

5/19/14, 9:16:47 PM, Pass 2 parse of [sSDT]

5/19/14, 9:16:47 PM, Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)

5/19/14, 9:16:47 PM, ........................

5/19/14, 9:16:47 PM, Parsing completed

5/19/14, 9:16:47 PM, Found 2 external control methods, reparsing with new information

5/19/14, 9:16:47 PM, Pass 1 parse of [sSDT]

5/19/14, 9:16:47 PM, Pass 2 parse of [sSDT]

5/19/14, 9:16:47 PM, Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)

5/19/14, 9:16:47 PM, ........................

5/19/14, 9:16:47 PM, Parsing completed

5/19/14, 9:16:47 PM, Disassembly completed, written to "iASLEpFLS0.dsl"

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(30) : Error    4065 - Object not found or not accessible from scope (DGEN)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(128) : Error    4096 - syntax error, unexpected PARSEOP_FIELD

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(132) : Error    4064 - Object does not exist (BPCI)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(194) : Error    4064 - Object does not exist (_PSC)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(197) : Error    4064 - Object does not exist (\_SB.PCI0.P0P2.PEGP._ON)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(204) : Error    4064 - Object does not exist (_PSC)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(209) : Error    4064 - Object does not exist (OPCE)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(213) : Error    4064 - Object does not exist (\_SB.PCI0.P0P2.PEGP._OFF)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(217) : Error    4064 - Object does not exist (OPCE)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(220) : Error    4064 - Object does not exist (_PSC)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(371) : Remark   5111 - Use of compiler reserved name (_T_0)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(384) : Error    4064 - Object does not exist (\_SB.PCI0.P0P2.PEGP.GOBT)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(403) : Error    4064 - Object does not exist (OPCE)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(414) : Error    4064 - Object does not exist (OPCM)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(449) : Error    4068 - Object is not accessible from this scope (LLGE)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(450) : Error    4068 - Object is not accessible from this scope (LGGE)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(451) : Error    4068 - Object is not accessible from this scope (PEPO)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(452) : Error    4068 - Object is not accessible from this scope (ROE0)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(453) : Error    4068 - Object is not accessible from this scope (ROE1)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(454) : Error    4068 - Object is not accessible from this scope (ROE2)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(455) : Error    4068 - Object is not accessible from this scope (ROE3)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(456) : Error    4068 - Object is not accessible from this scope (ROE4)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(457) : Error    4068 - Object is not accessible from this scope (ROE5)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(458) : Error    4068 - Object is not accessible from this scope (ROE6)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(459) : Error    4068 - Object is not accessible from this scope (ROE7)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(460) : Error    4068 - Object is not accessible from this scope (ROE8)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(461) : Error    4068 - Object is not accessible from this scope (ROE9)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(462) : Error    4068 - Object is not accessible from this scope (ROEA)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(463) : Error    4068 - Object is not accessible from this scope (ROEB)

5/19/14, 9:16:53 PM, iASL4gXWsX.dsl(464) : Error    4068 - Object is not accessible from this scope (ROEC)

Share this post


Link to post
Share on other sites

I see, but the problem is SSDT2 gives lots of compile error!  Is this normal?  Could I please ask you give me some hint, I do not know even where to start.  I wanted to copy paste the errors here are some of the errors!  What i did was use Macaisl to generate the ssdt and compile it and here is the result!

Thanks for your help.

Artimess

Disassemble your SSDT correctly and you likely will not have so many errors... Collect all native DSDT/SSDT, place in single directory, then use 'iasl -da *.aml' in Terminal to disassemble them as a group. Work with the resulting .dsl files.

 

This has been discussed in this thread quite a bit...

Share this post


Link to post
Share on other sites

Disassemble your SSDT correctly and you likely will not have so many errors... Collect all native DSDT/SSDT, place in single directory, then use 'iasl -da *.aml' in Terminal to disassemble them as a group. Work with the resulting .dsl files.

 

This has been discussed in this thread quite a bit...

Thanks I will do, which compiler you think I should use?  there so many floating around?  A url would be appreciated.

Artimess

Share this post


Link to post
Share on other sites

Verify that the code is being executed as you think it should. Use ACPIDebug: https://github.com/RehabMan/OS-X-ACPI-Debug

Hi RehabMan,

I used your ACPIDebug test and here is the result.  It seems it calls _OFF but it never gets back! 

May 20 21:55:13 localhost kernel[0]: ACPIDebug: Version 0.1.0 starting

May 20 21:55:13 localhost kernel[0]: ACPIDebug: "In _INI before call to PINI"

May 20 21:55:13 localhost kernel[0]: ACPIDebug: "Entering PINI"

May 20 21:55:13 localhost kernel[0]: ACPIDebug: "In PINI,  before call to _OFF"

And here is my PINI code:

    Method (PINI, 0, NotSerialized)

    {

        \RMDT.PUSH ("Entering PINI")

        If (CondRefOf (\_SB.PCI0.P0P2.PEGP._OFF))

        {

            \RMDT.PUSH ("In PINI,  before call to _OFF")

            \_SB.PCI0.P0P2.PEGP._OFF (\RMDT.PUSH ("In PINI,  after call to _OFF"))

        }

 

        If (CondRefOf (\_SB.PCI0.P0P2.PEGP._PS3))

        {

            \RMDT.PUSH ("In  PINI, _PS3")

            \_SB.PCI0.P0P2.PEGP._PS3 ()

        }

 

        \RMDT.PUSH ("Exiting PINI")

    }

 

Any thoughts?

 

Share this post


Link to post
Share on other sites

can someone help me to patch my DSDT? i use a intel hd 3000 and a nvidia gt610m!

 

when i patch the dsdt with chameleon i got these errors:

/Users/PC/cw_dsdt/dsdt.dsl   3782:             \_SB.PCI0.PEG0.PEGP._ON (\_SB.PCI0.PEG0.PEGP._PS0 ())
Error    4084 -                                       Object does not exist ^  (\_SB.PCI0.PEG0.PEGP._ON)

/Users/PC/cw_dsdt/dsdt.dsl   3782:             \_SB.PCI0.PEG0.PEGP._ON (\_SB.PCI0.PEG0.PEGP._PS0 ())
Error    4084 -                                                                 Object does not exist ^  (\_SB.PCI0.PEG0.PEGP._PS0)

/Users/PC/cw_dsdt/dsdt.dsl   3790:             \_SB.PCI0.PEG0.PEGP._OFF (\_SB.PCI0.PEG0.PEGP._PS3 ())
Error    4084 -                                        Object does not exist ^  (\_SB.PCI0.PEG0.PEGP._OFF)

/Users/PC/cw_dsdt/dsdt.dsl   3790:             \_SB.PCI0.PEG0.PEGP._OFF (\_SB.PCI0.PEG0.PEGP._PS3 ())
Error    4084 -                                                                  Object does not exist ^  (\_SB.PCI0.PEG0.PEGP._PS3)

attached is my DSDT! thank you :)

DSDT.aml.zip

Share this post


Link to post
Share on other sites

Hi RehabMan,

I used your ACPIDebug test and here is the result.  It seems it calls _OFF but it never gets back! 

May 20 21:55:13 localhost kernel[0]: ACPIDebug: Version 0.1.0 starting

May 20 21:55:13 localhost kernel[0]: ACPIDebug: "In _INI before call to PINI"

May 20 21:55:13 localhost kernel[0]: ACPIDebug: "Entering PINI"

May 20 21:55:13 localhost kernel[0]: ACPIDebug: "In PINI,  before call to _OFF"

And here is my PINI code:

    Method (PINI, 0, NotSerialized)

    {

        \RMDT.PUSH ("Entering PINI")

        If (CondRefOf (\_SB.PCI0.P0P2.PEGP._OFF))

        {

            \RMDT.PUSH ("In PINI,  before call to _OFF")

            \_SB.PCI0.P0P2.PEGP._OFF (\RMDT.PUSH ("In PINI,  after call to _OFF"))

        }

 

        If (CondRefOf (\_SB.PCI0.P0P2.PEGP._PS3))

        {

            \RMDT.PUSH ("In  PINI, _PS3")

            \_SB.PCI0.P0P2.PEGP._PS3 ()

        }

 

        \RMDT.PUSH ("Exiting PINI")

    }

 

Any thoughts?

This construct...

            \_SB.PCI0.P0P2.PEGP._OFF (\RMDT.PUSH ("In PINI,  after call to _OFF"))
... doesn't make any sense.

 

I'm assuming it is due to incorrect disassembly, not how you wrote it and that you actually wrote:

            \_SB.PCI0.P0P2.PEGP._OFF ()
            \RMDT.PUSH ("In PINI,  after call to _OFF")
In which case... it seems your \_SB.PCI0.POP2.PEGP._OFF is aborting (because we never see 'Exiting PINI'). Add additional traces there to see where/why...

Share this post


Link to post
Share on other sites

This construct...

            \_SB.PCI0.P0P2.PEGP._OFF (\RMDT.PUSH ("In PINI,  after call to _OFF"))
... doesn't make any sense.

 

I'm assuming it is due to incorrect disassembly, not how you wrote it and that you actually wrote:

            \_SB.PCI0.P0P2.PEGP._OFF ()
            \RMDT.PUSH ("In PINI,  after call to _OFF")
In which case... it seems your \_SB.PCI0.POP2.PEGP._OFF is aborting (because we never see 'Exiting PINI'). Add additional traces there to see where/why...

 

Yes it is the disassembling problem.  My challenge is to get SSDTs compiled...  Even disassembling with -da *.aml leaves errors...  I am working on it, let you know if I ever succeed.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

Announcements

  • Similar Content

    • By poisson-myfish
      So I have some less powerful hardware, that's why I'm installing High Sierra in 2020. Anyway, I'm trying to boot from the USB and I get the following errors:
      00:000 00:000 OCB: Missing DMG signature, aborting 00:585 00:585 OCB: LoadImage failed - Unsupported That's it. The logs begin and end there. The rest of the file is zeroes.
       
      Bootloader: OpenCore 0.5.9 Release
      Drivers:
      HfsPlus.efi
      OpenRuntime.efi
       
      Kexts:
      AppleALC.kext
      Lilu.kext
      RealtekRTL8111.kext
      SMCBatteryManager.kext
      SMCLightSensor.kext
      SMCProcessor.kext
      SMCSuperIO.kext
      VirtualSMC.kext
      WhateverGreen.kext
       
      ACPI:
      SSDT-EC.aml
      SSDT-HPET.aml
      SSDT-PLUG.aml
      Note: I used SSDTTime to make the DSDT dumps for this exact computer
       
      Hardware:
      Intel Core i3 (Haswell)
      An Intel VGA-Compatible Haswell iGPU
      An nVidia Geforce 920m GPU (part of the reason for installing High Sierra)
      USB: Intel 8 Series USB xHCI HC
      SATA: Intel 8 series SATA Controller
       
      If you need more details, here's my laptop https://www.asus.com/Laptops/X540LJ/ . I have the 512GB version with 4GB of RAM
       
      I found a lot of forum posts about people having the same error, except nothing solved mine. Also, I haven't found anything online about the error with the Missing DMG Signature.
       
      EDIT: If anybody needs my config.plist, feel free to ask for it and I'll happily post it
    • By monoKu
      Graphic: Nvidia RTX 2070s
      Memory:Predator 8GB 3200Mhz x 2
      Motherboard: MSI Z390m gaming edge ac
      CPU: i7-9700K
      System: macOS 10.15.5
       
      ------------------------Problem-------------------------
      It could detect IGPU at first time without 2070s plug in, it works fine. Model and version shows currently.
      but when I back 2070s in my motherboard, DP cable connected to IGPU, something went wrong as below:
      (example: chrome)
       
      About This Mac: 

       
      Connection:

       
      Here is my EFI:
      EFI.zip
    • By datta0
      Hi! I'm pretty new to OpenCore so please bear with me.
      I have an open core installation that goes till the Picker menu where I'm shown a few boot options.
      But there, I'm unable to choose the installation option. I've tried typing the corresponding number, using the arrow keys, or every possible key on my laptop's keyboard. Nothing seems to work and it goes into the first option after the timeout.
       
      I tried different VoodooPS2Controller kexts, This Solution
      https://dortania.github.io/OpenCore-Desktop-Guide/troubleshooting/troubleshooting.html#cant-select-anything-in-the-picker
      (both) provided in the guide.
       
      Here is a link to the logs: https://hastebin.com/oceyefumom.makefile
       
      Laptop: https://www.acer.com/ac/en/US/content/model/NX.HDRAA.001
       
      Specifications:
      Intel i7-8565U
      Intel UHD 620
      OC 0.5.9
      macOS Catalina 10.15.4
      EFI folder: 
      https://drive.google.com/drive/folders/1yIe4UdYidvXGzMrGSWX8niI0ND-BNEAQ?usp=sharing
       
    • By tonyx86
      This thread for installing Catalina on the Dell Latitude E6410 WITH NVIDIA GRAPHICS (BIOS A17, NVidia 3100m) will help you install a fresh installation of Catalina on your Dell Latitude E6410, it will help you upgrade from 10.15.2 to 10.15.x (if you originally installed Catalina from this thread) and it will also help you upgrade from Mojave 10.14.6 if you have already installed Mojave by following the instructions here.  The instructions in this first post assume that you are installing Catalina in an APFS container.  If you are curious about the evolution of this solution and how sleep/wake was solved, review the Mojave installation thread.
       
      Important: This Thread is NOT intended to help you install macOS on a Latitude E6410 with Intel HD Graphics (without Nvidia graphics).  The DSDT attached to this first post (in E6410-Catalina.zip) is VERY SPECIFIC to the Nvidia graphics implementation and has not been edited for HD Graphics - there are elements required for HD Graphics that are missing from the attached DSDT and there are DSDT mods that have not been tested with HD Graphics.  Also, the kexts attached to this first post are specific to a Broadcom Wi-Fi card which must replace the original Intel Wi-Fi card.
       
      This first post will be modified to reflect lessons learned and to reflect the most current working state of my Latitude E6410 (with NVidia 3100m discrete graphics) running Catalina.  Issues, observations and performance tips are recorded toward the bottom of this first post.  My recommended CLOVER configuration is specified toward the bottom of this first post.
       
      *** If you want help with your installation, please post your issue along with problem reporting files generated using @black.dragon74's problem reporting tool.  Google 'GENERATE PROPER PROBLEM REPORTING FILES black.dragon74' to find it. ***.  If Catalina's Read-Only protections block your installation of black.dragon74's gen_debug script, please copy the attached gen_debug script to your Desktop, change script properties with the terminal command 'chmod a+x ~/Desktop/gen_debug' and run the script from your Desktop.
       
      My system is as follows:
      Dell Latitude E6410 (I7-620m, Nvidia 3100M, 8GB DDR3, 512GB SSD, 1440x900 display, BIOS: A17) Wi-Fi: Broadcom BCM 94352HMB (replaced original Wi-Fi card) BIOS (version A17) configured as follows (leave default unless listed here): Boot Sequence: USB, Internal HDD, CD/DVD, Modular Bay HDD; Boot List Option: Legacy; Integrated NIC:Enabled; Parallel Port: Disabled; Serial Port: Disabled; SATA Operation: AHCI; Misc Devices: Enable Modular Bay, Camera, External USB, Microphone, Media Card and 1394; Latitude ON Reader: Disabled; Keyboard Illumination: Auto ALS and Input; Ambient Light Sensor: Enabled; OROM Keyboard Access: Disable; TPM Security: Disable; Computrace:Deactivate; CPU XD Support: Enable; Performance: Enable all options; Power Management: Disable Wake on AC, Disable Wake on LAN/WAN, Express Charge: Standard, Charge Behavior: Enabled; Keypad: Fn Key Only; Mouse/Touchpad: Touchpad/PS-2 Mouse; USB Emulation: Enable Legacy; Fn Key Emulation: Disabled; Fastboot: Thorough; Virtualization: Enable Intel Virtualization, Disable VT for Direct I/O, Disable Trusted Execution; Wireless Switch: Bluetooth and WLAN; Wireless Device Enable: Bluetooth and WLAN;   
      Versions of the software used in this installation are listed below the installation steps.  EFI and kexts for Catalina are attached to this first post in E6410-Catalina.zip.  CLOVER configuration is specified below the installation steps.
       
      Wi-Fi connection to an Access Point is delayed when using AppleALC for sound.  Do not use Apple ALC.  Use VoodooHDA pkg 2.9.2 v15 for sound.
       
      Steps to install Catalina on a Dell Latitude E6410 (BIOS A17, NVidia 3100m)
       
      If you want to upgrade to 10.15.5, see instructions at this post.
       
      If you want to upgrade to 10.15.4, see instructions at this post.  
       
      Follow instructions below for 10.15.2 and 10.15.3.
       
      Make sure that your system matches my system description above (including BIOS version, Wi-Fi card, BIOS settings) If performing an upgrade from Mojave or a previous version of Catalina, backup your Mojave or Catalina partition! (Carbon Copy or similar) Download Catalina Installer Download DosDude Catalina Patcher Use DosDude Patcher to create Catalina USB Installer Delete LegacyUSBInjector.kext (we're using @RehabMan's USBInjectAll.kext with custom SSDT) and delete SIPManager.kext (CLOVER is managing SIP) from Catalina USB Installer's /Library/Extensions folder Copy all but the FakeSMC sensor kexts in E6410-Catalina.zip (attached) LE folder to the Catalina USB Installer /Library/Extensions (copy all kexts (including FakeSMC.kext) but not the FakeSMC sensor kexts) Install CLOVER Bootloader (Legacy) on USB Installer using the EFI in the E6410-Catalina.zip (attached).  Use the CLOVER configuration specified below.  Be sure to replace the XX-MASKED-XX parameters in the attached config.plist with your own values. Reset your Latitude E6410 NVRAM by doing the following (this may be important if you're making changes to your existing EFI and won't hurt anything if you're not making any changes) turn-off your laptop remove A/C power and main battery press and hold the power button for 30 seconds restore A/C power and battery Boot your Latitude E6410 from the Catalina USB Installer that you created in steps 5-8. Select "Reinstall macOS" (note that I have existing installations of Mojave and High Sierra on my Latitude E6410, so it's possible that this menu item changes to "Install macOS" if you don't have any previous macOS installations). Select your Catalina destination partition (which will be your Mojave or previous Catalina partition if you are upgrading) After the Catalina Installer reboots the first time, boot from the "macOS Installer" partition on the disk that you selected as your Catalina destination (not the macOS installer on the USB) After the Catalina Installer reboots the second time, boot the Catalina macOS Installer on the USB Select the Post Install Patcher utility Select only the following Post Install Patches (no other patches / options) Install Patch Updater Legacy Video After the Post Install Patcher reboots,  boot from the newly installed (or upgraded) Catalina partition and complete the macOS configuration Remove these kexts (if they exist) from /Library/Extensions: LegacyUSBInjector.kext, LegacyUSBVideoSupport.kext and SIPManager.kext If you are performing a fresh installation of Catalina: Install CLOVER (LEGACY - NOT UEFI) on your boot disk and configure EFI using files in the attached E6410-Catalina.zip.  Use the CLOVER configuration below.  Be sure to replace the XX-MASKED-XX parameters in the attached config.plist with your own values. Install all kexts in the attached E6410-Catalina.zip LE folder to your /Library/Extensions folder. Copy HWMonitor from the application folder in the attached E6410-Catalina.zip to your Applications folder. Install VoodooHDA (I installed using the Classic method) Skip to Step 21 If you are upgrading from a previous version of Catalina using the instructions from this thread or from Mojave that you installed using the instructions here: Replace 3rd-party kexts in EFI/Clover/kexts/Other with those in the attached EFI folder.   Replace EFI/Clover config.plist with the attached config.plist (Be sure to replace the XX-MASKED-XX parameters in the attached config.plist with your own values) Replace EFI/Clover/ACPI/patched with the files in the attached EFI/Clover/ACPI/patched Replace 3rd-party kexts in /Library/Extensions with those in the attached LE folder Remove VoodooSDHC.kext from /Library/Extensions Re-install VoodooHDA if necessary (I installed using the Classic method for Catalina) Ensure PROPER kext installation: If you're manually installing kexts in /Library/Extensions, make sure that you execute the following (in terminal) cd /Library/Extensions sudo chown -R root:wheel *.kext sudo chmod -R 755 *.kext sudo kextcache -i / After you execute 'sudo kextcache -i /' you should observe that ALL kexts are allowed.  If not, your kext directory attributes are probably incorrect.  Repeat kext installation and try again. Reboot from your new/upgraded Catalina partition Welcome to macOS Catalina! Change the keyboard type to ISO (System Preferences > Keyboard > Change Keyboard Type) Swap the Command and Option keys (System Preferences > Keyboard > Modifier Keys) Set hibernatemode: In terminal, execute sudo pmset -a hibernatemode 0 sudo rm -f /var/vm/sleepimage sudo touch /var/vm/sleepimage sudo chflags schg /var/vm/sleepimage  
      Version Info at the time of this writing:
      Catalina Installer 10.15.5.02 CLOVER r5118 DosDude Catalina Patcher: v1.4.4 Lilu.kext 1.4.5 AirportBrcmFixup.kext 2.0.6 BrcmFirmwareData.kext 2.5.3 BrcmBluetoothInjector.kext 2.5.3 BrcmPatchRAM3.kext 2.5.3 IntelMausi.kext 1.0.3 (Not IntelMausiEthernet.kext)
      EFICheckDisabler.kext 0.5
      VoodooHDA.kext 2.9.2 v15 (NOT AppleALC)
       
      What is not working (that was working in Mojave)
      SD Card Slot (had to remove VoodooSDHC.kext which caused system freeze on wake)  
      Known Issues and Their Solutions
      (Solved - no further work required) Clover r5118 requires the config.plist key <key>NoDefaultProperties</key><false> to permit macOS to boot with Clover's "Inject Nvidia" = True.  See details here.  config.plist in the attached E6410-Catalina.zip archive includes this change. (Solved - no further work required) EFICheck is loaded.  Solution is to install EFICheckDisabler.kext which you can get here.  EFICheck.kext is included in the attached E6410-Catalina.zip archive. (Solved - no further work required) Some users experience display issues.  The solution is to remove Device (PNLF) from the DSDT.  Use the attached DSDT.  Removal of PNLF will disable sleep on lid closure.  Device (PNLF) can be added without modifying the DSDT by enabling the Clover PNLF ACPI patch.  The attached Clover config.plist enables the PNLF DSDT patch.  Disable the Clover PNLF patch if you experience display issues. (Solved - no further work required) USB sleep/wake power IORegistry keys are not injected (not included in Mojave's or Catalina's IOUSBHostFamily.kext).  Solution is to added SSDT-USBX.aml to EFI/CLOVER/ACPI/patched.  The attached SSDT-USBX.aml includes USB sleep/wake properties for MacBookPro6,2 from High Sierra 10.13.6 IOUSBHostFamily.kext. (No solution yet) Brightness slider does not work in System Preferences > Displays.  Brightness is easily controlled with Dell brightness keys.  There is some work on this later in this thread, but I will not be solving this as I'm content with the Dell brightness keys (and Ambient Light Sensor works to auto-adjust brightness). (No intention to solve) Display Settings in System Preferences are "garbled" when bright slider is visible.  This is a known issue with the legacy graphics patch and does not affect laptop operation. I continue to refine the DSDT and CLOVER config.plist to optimize my Latitude E6410 for multi-booting between various macOS versions (High Sierra, Mojave and Catalina at the time of this writing). If you upgrade your Latitude E6410 EFI using my attached EFI, you may find that your Latitude E6410 is stuck in a boot-loop that ends in a white screen and reboots.  Clear your system by doing the following: turn off your laptop, remove A/C power, remove the main battery, press and hold the power button for 30 seconds, restore A/C power and battery, boot normally.  I have only found this to be necessary (very rarely) after making an EFI change, but you may find it helpful if making kext changes in /Library/Extensions as well. (Solved - no further work required) Brcm firmware does not update when using BrcmFirmwareRepo.kext in /Library/Extensions.  Solution is to install BrcmFirmwareData.kext and BrcmPatchRAM3.kext in E/C/k/O with Clover "Inject Kexts" = YES. (Solved - no further work required) Laptop does not sleep when closing lid.  Solution appears to be a combination of adding Notify (LID0) code to Method (BTNV) and adding Device (PNLF) in the DSDT. I am using the same EFI for High Sierra 10.13.6, Mojave 10.14.6 and Catalina 10.15.3 and it works in all three macOSes. (No solution yet) No SD Card Slot (had to remove VoodooSDHC.kext) - I read somewhere that there is a solution that does not require any kexts (just a DSDT edit).  Haven't yet implemented this fix. (Not a problem that needs to be solved - leaving for historical purposes.  I am running Catalina without this.) - IOHWControl does not load under GFX0 (as observed in IORegistryExplorer).  Solution (if it needs to be solved) is to install AppleHWSensor.kext from a DosDude-patched Mojave /S/L/E in Catalina's /L/E.  Copy and install your own or use the kext attached to this post. (Solved - no further work required) Wi-Fi connection is delayed until a minute or so after boot - Use VoodooHDA and NOT AppleALC (Solved - no further work required) External USB ports do not work after waking from sleep (S3) - Upgrade Lilu.kext and replace BrcmFirmwareRepo.kext and BrcmPatchRAM2.kext (in /L/E) with latest BrcmBluetoothInjector.kext, BrcmFirmwareRepo.kext and BrcmPatchRAM3.kext. (Solved - no further work required) Boot and shut-down time of Catalina is slower than Mojave - Upgrade Lilu.kext and replace BrcmFirmwareRepo.kext and BrcmPatchRAM2.kext (in /L/E) with latest BrcmBluetoothInjector.kext, BrcmFirmwareRepo.kext and BrcmPatchRAM3.kext. (Solved - no further work required) Wi-Fi is not immediately available at OS startup - Upgrade Lilu.kext and replace BrcmFirmwareRepo.kext and BrcmPatchRAM2.kext (in /L/E) with latest BrcmBluetoothInjector.kext, BrcmFirmwareRepo.kext and BrcmPatchRAM3.kext. (Solved - no further work required) Laptop freezes on wake - Remove VoodooSDHC.kext from /Library/Extensions  
      Tips for Improved Performance (on this and other older systems)
      System Preferences > Spotlight > Search Results: Uncheck all options System Preferences > Spotlight > Privacy: Add all Volumes System Preferences > Accessibility > Display: Check "Reduce motion" System Preferences > Accessibility > Display: Check "Reduce transparency"  
      Other tips
      If your fan is always running and temps are good, try pressing Fn + z (I haven't noticed this issue for a while since I completed DSDT edits for Mojave, but keeping this here for historical purposes)  
      CLOVER Installation: Use these configuration options (Install Clover LEGACY - NOT UEFI)
      Install Clover in the ESP Boot Sectors Install boot0af in MBR Clover for BIOS (LEGACY - NOT UEFI) booting Clover EFI 64-bits SATA BIOS Drivers, 64-bit Recommended drivers FSInject File System drivers ApfsDriverLoader Install RC scripts on target volume Themes Choose your desired theme Install Clover Preference Pane After clicking "Continue", if prompted with "This Clover package is incompatible with this version of macOS," install anyway  
      After CLOVER installation is complete Copy the following from the attached E6410-Catalina.zip ACPI patched contents config.plist (change XX-MASKED-XX values to your own) kexts/Other (remove all other kext folders) Remove christmas and new year folders from themes (if present)  
      Credits
      Thanks to those who contributed to my Mojave solution and to the DosDude team (for the incredible macOS patchers), I think this Catalina installation was the easiest macOS installation that I have experienced (so far).  Many thanks to @Slice and his team for the incredible work on CLOVER and for continuing to support old legacy systems like this.  Also, thanks to @Mieze and @headkaze and others I'm sure for maintaining the Brcm kexts.  And finally, I still prefer to manually apply patches to the DSDTs in my systems.  CLOVER offers extensive patching functionality, but I'm old-school and like to have an error-free, fully-patched DSDT with a simple CLOVER config.plist.  I think that this manual DSDT patching approach (which required an extensive review and debugging of the original unpatched DSDT in this thread) is the reason that this Latitude E6410 is such a perfect MacBookPro6,2.  Thank you @RehabMan for being a great teacher and for always insisting on problem reporting files .
       
       

      AppleHWSensor.kext.zip
      gen_debug

      E6410 Catalina-5v2.zip
    • By Lorkiyn
      Hey,
       
      so I just can't get my trackpad working. I'm running Catalina with OC (v0.5.8 debug) on my Gigabyte Aero 15x9.
      I followed the OC vanilla laptop guide and created a GPI0 SSDT fitting to my device name but it didn't help. I have VoodooI2C and VoodooI2CHID in my kexts folder because the publisher of my trackpad is "Microsoft" accordingly to Windows.
      I have stumbled across the DSDT patches from VoodooI2C, but since you can't load your patched DSDT on OC I didn't know what to do with them.
       
      According to VoodooI2C-HID satellite description you need a "PNP0C50" trackpad, which mine is.
       
      I noticed that there are some messages during, boot from Voodoo-Something, after selecting boot device in OC. But these messages are not logged in any log file I can find. So I don't know what exactly they are saying.
       
      Thank you in advance
       
      EFI.zip
      opencore-2020-05-31-141607.txt
      Windows_device_manager.tar
×