I didn't find OFF method!
An update for AMD Radeon HD 7650M
Display only works wen i disable ATI inject(4mb)
I know this thread is about laptops but this is the most relevant thread I have seen.
I have desktop with onboard intel graphics and 2 Nvidia 980ti cards. I use this to play windows games in SLI
i7 6700k
gigabyte Z170 mb
2 x 980ti
32gb ram
2 x NVMe ssd & hdd
Until High Sierra I had no issues with installers. The only way I got High Sierra to install was to remove on graphics card (onboard gift disabled in BIOS) which is a pain.
Could this guide help me out? Please me know what files I need to upload.
Thanks
As a Sierra user with Nvidia disabled via static patching and considering to update via App Store, Do I need any of those steps on the first post?
Thanks
Nothing in _OFF needs moving. _OFF calls SGOF. And SGOF has EC related code. It is the EC related code in SGOF that must be moved.
// save as SSDT-DiscreteSpoof.aml
DefinitionBlock ("", "SSDT", 2, "hack", "spoof", 0)
{
Method(_SB.PCI0.LPCB.EC0.RRAM._DSM, 4)
{
If (!Arg2) { Return (Buffer() { 0x03 } ) }
Return (Package()
{
"name", Buffer() { "#display" },
"IOName", "#display",
"class-code", Buffer() { 0xFF, 0xFF, 0xFF, 0xFF },
})
}
}
I found it in SSDT-10
This one is tricky. Should I cut from 1st Store to 2nd store? Cuz all have EC0?Code:Method (SGOF, 0, Serialized) { If (LEqual (CCHK (Zero), Zero)) { Return (Zero) } Store (\_SB.PCI0.LPCB.EC0.RRAM (0x0521), Local0) And (Local0, 0xCF, Local0) \_SB.PCI0.LPCB.EC0.WRAM (0x0521, Local0) \_SB.PCI0.LPCB.EC0.WRAM (0x0520, 0x95) \_SB.PCI0.LPCB.EC0.WRAM (0x03A4, Zero) \_SB.PCI0.LPCB.EC0.WRAM (0x03A5, Zero) Store (LCTL, ELCT) Store (SVID, HVID) Store (SDID, HDID) Store (LREN, LTRE) Store (One, LNKD) While (LNotEqual (LNKS, Zero)) { Sleep (One) } SGPO (HLRS, One) SGPO (PWEN, Zero) Return (Zero) }
This code needs to move to _REG:
Code:Store (\_SB.PCI0.LPCB.EC0.RRAM (0x0521), Local0) And (Local0, 0xCF, Local0) \_SB.PCI0.LPCB.EC0.WRAM (0x0521, Local0) \_SB.PCI0.LPCB.EC0.WRAM (0x0520, 0x95) \_SB.PCI0.LPCB.EC0.WRAM (0x03A4, Zero) \_SB.PCI0.LPCB.EC0.WRAM (0x03A5, Zero)
I got it but in case of something gets wrong, I need it anyway for the USB disk, right? So, here how we disabled my card, it was a bit different. And you said:
I've added what we moved to where below for reference. Here's my SSDT-DiscreteSpoof.aml. Is it correct?
Thanks
Code:// save as SSDT-DiscreteSpoof.aml DefinitionBlock ("", "SSDT", 2, "hack", "spoof", 0) { Method(_SB.PCI0.LPCB.EC0.RRAM._DSM, 4) { If (!Arg2) { Return (Buffer() { 0x03 } ) } Return (Package() { "name", Buffer() { "#display" }, "IOName", "#display", "class-code", Buffer() { 0xFF, 0xFF, 0xFF, 0xFF }, }) } }
Hmm, since the method we applied to disable the Nvidia card was a bit different, I thought Spoofing might be different too. Anyways, here's my patch to SSDT-11 for OFF.That content is nonsense for SSDT-DiscreteSpoof.aml.
Read post #1.
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
Store (Zero, \_SB.PCI0.RP05.PEGP._ADR)
//added to turn nvidia/radeon off
External(\_SB.PCI0.RP05.PEGP._OFF, MethodObj)
_OFF()
}
// save as SSDT-DiscreteSpoof.aml
DefinitionBlock ("", "SSDT", 2, "hack", "spoof", 0)
{
Method(_SB.PCI0.RP05.PEGP._DSM, 4)
{
If (!Arg2) { Return (Buffer() { 0x03 } ) }
Return (Package()
{
"name", Buffer() { "#display" },
"IOName", "#display",
"class-code", Buffer() { 0xFF, 0xFF, 0xFF, 0xFF },
})
}
}
We already done this unless this means somehow adding patched DSDT, SSDT-10 and 11 to USB EFI Patched folder. But I find Spoof method is easier to apply and want to stick to it.For disabling the discrete device (instead of just spoofing it), read here:
https://www.tonymacx86.com/threads/guide-disabling-discrete-graphics-in-dual-gpu-laptops.163772/