- Joined
- Nov 5, 2011
- Messages
- 63
- Motherboard
- MSI GF63 9RCX
- CPU
- i7-9750H
- Graphics
- UHD630
- Mac
- Mobile Phone
My S410UN debug
Hello everyone,
I comment, I need some help to patch my DSD,
to disable the GFX0 graphics card and boot from the IGPU
I have tried several patches, but I think there are some inconsistencies once applied,
The Computer is an iMac from mid-2011 Intel i7 SandyBridge 2nd generation, with an Ati Radeon 6970 and Intel HD3000,
The problem is that the ATI Radeon 6970m GPU is broken and does not boot in any way, change it to an Nvidia fx2800,
but it does not work either, so I extracted the ROM from BIOS, with a raspberry pi and unpacked it with CHIPSEC,
and I'm trying to edit the dsdt ssdt files to disable the boot from the DGPU and boot from IGPU
or try to inject the necessary code to start from the DGPU Nvidia Quadrofx2800.
I attach my DSD files where there are references to GFX0 and IGPU in case they could help me
Greetings and thank you
Your post is off-topic.
This thread does not apply to Apple hardware. It is only for dual-GPU PC (non-Apple) laptops.
Ok, I'm sorry, I was asking around here because it's the most similar thing I've found to what I wanted to do to try to fix this computer. but if it can not be applied to mac computers, then I'll keep trying other solutions ... thank you very much.
You have incorrect settings in config.plist/ACPI/DSDT/Fixes.
Remove or set false all of the following: DeleteUnused, FixRegions
SSDT-8-SgUlx.aml should be named SSDT-8.aml (as it is named in ACPI/origin).
Renames that are done in config.plist/ACPI/DSDT/Patches should not be applied to patched files in ACPI/patched.
(eg. GFX0->IGPU, SAT0->SATA, etc)
You forgot to patch HGOF in SSDT-7. As per guide, EC related code must be removed from _OFF or anything _OFF calls (in your case _OFF calls HGOF, which has EC related code).
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
If (LEqual (CTXT, Zero))
{
If (LNotEqual (GPRF, One))
{
Store (VGAR, VGAB)
}
Store (One, CTXT)
}
\_SB.PCI0.HGOF (One)
}
Scope (\_SB.PCI0.RP01.PEGP)
{
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
Store (Zero, \_SB.PCI0.RP01.PEGP._ADR)
}
}
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If (LEqual (Arg0, 0x03))
{
Store (Arg1, ECFL)
}
}
Method (HGOF, 1, Serialized)
{
If (LNotEqual (SGGP, One))
{
Return (Zero)
}
Store (Arg0, RPIX)
If (LEqual (CCHK (Zero, RPIX), 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, 0x89)
\_SB.PCI0.LPCB.EC0.WRAM (0x03A4, Zero)
\_SB.PCI0.LPCB.EC0.WRAM (0x03A5, Zero)
If (LEqual (RPIX, One))
{
Store (LCT1, ELCT)
Store (SVI1, HVID)
Store (SDI1, HDID)
Store (LRE1, LTRE)
Store (One, LKD1)
}
ElseIf (LEqual (RPIX, 0x09))
{
Store (LCT9, ELCT)
Store (SVI9, HVID)
Store (SDI9, HDID)
Store (LRE9, LTRE)
Store (One, LKD9)
}
If (LEqual (RPIX, One))
{
While (LNotEqual (LKS1, Zero))
{
Sleep (One)
}
}
ElseIf (LEqual (RPIX, 0x09))
{
While (LNotEqual (LKS9, Zero))
{
Sleep (One)
}
}
SGPO (HRE0, HRG0, HRA0, One)
SGPO (PWE0, PWG0, PWA0, Zero)
Return (Zero)
}
Scope (\_SB.PCI0.RP01.PEGP)
{
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
Store (Zero, \_SB.PCI0.RP01.PEGP._ADR)
_OFF ()
}
}
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If (LEqual (Arg0, 0x03))
{
Store (Arg1, ECFL)
}
//FROM HGOF start
If (LAnd (LEqual (Arg0, 0x03), LEqual (Arg1, One)))
{
Store (RRAM (0x0521), Local0)
And (Local0, 0xCF, Local0)
WRAM (0x0521, Local0)
WRAM (0x0520, 0x89)
WRAM (0x03A4, Zero)
WRAM (0x03A5, Zero)
} //FROM HGOF end
}
Method (_OFF, 0, Serialized) // _OFF: Power Off
{
If (LEqual (CTXT, Zero))
{
If (LNotEqual (GPRF, One))
{
Store (VGAR, VGAB)
}
Store (One, CTXT)
}
}
Which best smbios for my computer MacBook Pro 14,1 or MacBookAir6,2 for Coffelake
2. SSDT-8-SgUlx.aml should be named SSDT-8.aml (as it is named in ACPI/origin).
It is quite strange when I press F4 on Clover last weekend and yesterday. Yesterday it put just SSDT-8.aml. Before it was SSDT-8-SgUlx.aml
3. Renames that are done in config.plist/ACPI/DSDT/Patches should not be applied to patched files in ACPI/patched.
(eg. GFX0->IGPU, SAT0->SATA, etc)
OK, I dont do renames patch on DSDT, SSDT. I just patch _INI on SSDT8.aml , on DSDT I had
ASUS->Battery Patch
ASUS->Fn Brightness Keys Patch
ASUS->FnKeys as Function Keys Patch
ASUS->KeyboardBacklight Patch 4
VoodooI2c->GPIO Controller Enabled
VoodooI2c->Window 10 Patch
VoodooI2c->Guide-> Pin 0x55
I just add also Instant Wake patch ( I dont know I need or what )
I just take on SSDT-IGPU.aml SSDT-HDEF.aml SSDT-PNLF.aml from star central U430 thread. Did it has renames on it?
I ve seen your 620 config plist has more rename switch. Which on I need to enable still been studying.
THe HGOF Method is described on SSDT-7
Code:Method (HGOF, 1, Serialized) { If (LNotEqual (SGGP, One)) { Return (Zero) } Store (Arg0, RPIX) If (LEqual (CCHK (Zero, RPIX), 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, 0x89) \_SB.PCI0.LPCB.EC0.WRAM (0x03A4, Zero) \_SB.PCI0.LPCB.EC0.WRAM (0x03A5, Zero) If (LEqual (RPIX, One)) { Store (LCT1, ELCT) Store (SVI1, HVID) Store (SDI1, HDID) Store (LRE1, LTRE) Store (One, LKD1) } ElseIf (LEqual (RPIX, 0x09)) { Store (LCT9, ELCT) Store (SVI9, HVID) Store (SDI9, HDID) Store (LRE9, LTRE) Store (One, LKD9) } If (LEqual (RPIX, One)) { While (LNotEqual (LKS1, Zero)) { Sleep (One) } } ElseIf (LEqual (RPIX, 0x09)) { While (LNotEqual (LKS9, Zero)) { Sleep (One) } } SGPO (HRE0, HRG0, HRA0, One) SGPO (PWE0, PWG0, PWA0, 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, 0x89)
\_SB.PCI0.LPCB.EC0.WRAM (0x03A4, Zero)
\_SB.PCI0.LPCB.EC0.WRAM (0x03A5, Zero)
Your computer is KabyLake-R, not CoffeeLake.
Either of those will work... Although MacBookAir6,2 is Haswell, it still seems to work (and disables HWP). MacBookPro14,1 will work and will enable HWP.
Not strange.
It depends on Clover version and Clover options in config.plist/ACPI.
The files you provided showed various renames done to the patched files in ACPI/patched.
Please note that add-on SSDTs (such as SSDT-PNLF.aml) are not "patched files".
Easy to see the EC related code:
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, 0x89) \_SB.PCI0.LPCB.EC0.WRAM (0x03A4, Zero) \_SB.PCI0.LPCB.EC0.WRAM (0x03A5, Zero)
Must be moved from HGOF to _REG as per post #1.
Method (HGOF, 1, Serialized)
{
If (LNotEqual (SGGP, One))
{
Return (Zero)
}
Store (Arg0, RPIX)
If (LEqual (CCHK (Zero, RPIX), Zero))
{
Return (Zero)
}
// EC REMOVED ....
If (LEqual (RPIX, One))
{
Store (LCT1, ELCT)
Store (SVI1, HVID)
Store (SDI1, HDID)
Store (LRE1, LTRE)
Store (One, LKD1)
}
ElseIf (LEqual (RPIX, 0x09))
{
Store (LCT9, ELCT)
Store (SVI9, HVID)
Store (SDI9, HDID)
Store (LRE9, LTRE)
Store (One, LKD9)
}
If (LEqual (RPIX, One))
{
While (LNotEqual (LKS1, Zero))
{
Sleep (One)
}
}
ElseIf (LEqual (RPIX, 0x09))
{
While (LNotEqual (LKS9, Zero))
{
Sleep (One)
}
}
SGPO (HRE0, HRG0, HRA0, One)
SGPO (PWE0, PWG0, PWA0, Zero)
Return (Zero)
}
Method (_REG, 2, NotSerialized) // _REG: Region Availability
{
If (LEqual (Arg0, 0x03))
{
Store (Arg1, ECFL)
}
//_REG disable nvidia start
If (LAnd (LEqual (Arg0, 0x03), LEqual (Arg1, One)))
{
//FROM HGOF start
Store (RRAM (0x0521), Local0)
And (Local0, 0xCF, Local0)
WRAM (0x0521, Local0)
WRAM (0x0520, 0x89)
WRAM (0x03A4, Zero)
WRAM (0x03A5, Zero)
//FROM HGOF end
}
//_REG disable nvidia end
}
DSDT ?
I just had newer SSDT-IGPU and SSDT-HDEF from backlight thread, guide.git (not included in the debug files created)
SSDT-PNLF I just rewrite using thread Backlight including Backlight injector in L/E (not included in the debug files created)
3. it copied to _REG DSDT.aml already.
so HGOF on SSDT-7 removed also to become