Contribute
Register

[Guide] Lenovo IdeaPad U330/U430/U530 using Clover UEFI

Status
Not open for further replies.
I've checked the BIOS version: 7CCN62WW - latest
 
I've checked the BIOS version: 7CCN62WW - latest

Try with latest changes just pushed to github.
After updating your copy of the github project, must update ACPI (make install) and config.plist.
 
Last edited:
I'm sorry, but nothing changed.
 

Attachments

  • 05212018_1.zip
    1.8 MB · Views: 76
I'm sorry, but nothing changed.

From where did you download macOS?
On what hardware did you create your USB installer?

Note: You might try disabling Nvidia in BIOS.

Also, please attach full PR files again. There is something really strange about PSXS vs. PEGP...
 
Last edited:
Image retrieved from the virtual machine (virtualbox). From the AppStore. USB created by installmedia option (again on VM).
I've attached loading video (if it helps).
 

Attachments

  • video.zip
    68.6 MB · Views: 114
Image retrieved from the virtual machine (virtualbox). From the AppStore. USB created by installmedia option (again on VM).
I've attached loading video (if it helps).

As per guide, you cannot use a VM.
Note:
Note: DO NOT use a VM to create your USB. VMs are known to create invalid/corrupt USB installers. Use real hardware to create your USB installer.

Also...
...

Note: You might try disabling Nvidia in BIOS.

Also, please attach full PR files again. There is something really strange about PSXS vs. PEGP...
 
It's loaded when I've disabled NVidea in BIOS. Could we fix it?
 
It's loaded when I've disabled NVidea in BIOS. Could we fix it?

Please attach full PR files (Nvidia enabled, booting from USB) and with Nvidia disabled (booting from final EFI/Clvoer).
 
Ready
 

Attachments

  • withoutVideo.zip
    2.2 MB · Views: 78
  • withVideo.zip
    2.3 MB · Views: 82

Try with attached config.plist + SSDT-HACK.aml in test.zip.

It has these changes for disabling Nvidia:
Code:
diff --git a/SSDT-HACK.dsl b/SSDT-HACK.dsl
index 0305d08..bbf68ac 100644
--- a/SSDT-HACK.dsl
+++ b/SSDT-HACK.dsl
@@ -238,7 +238,7 @@ DefinitionBlock("", "SSDT", 2, "hack", "_HACK", 0)
 //

     External(_SB.PCI0.RP05.PEGP._OFF, MethodObj)
-    External(_SB.PCI0.RP05.PXSX._OFF, MethodObj)
+    //External(_SB.PCI0.RP05.PXSX._OFF, MethodObj)
     Device(RMD2)
     {
         Name(_HID, "RMD20000")
@@ -246,9 +246,58 @@ DefinitionBlock("", "SSDT", 2, "hack", "_HACK", 0)
         {
             // disable discrete graphics (Nvidia/Radeon) if it is present
             If (CondRefOf(\_SB.PCI0.RP05.PEGP._OFF)) { \_SB.PCI0.RP05.PEGP._OFF() }
-            If (CondRefOf(\_SB.PCI0.RP05.PXSX._OFF)) { \_SB.PCI0.RP05.PXSX._OFF() }
+            //If (CondRefOf(\_SB.PCI0.RP05.PXSX._OFF)) { \_SB.PCI0.RP05.PXSX._OFF() }
         }
     }
+    Name(_SB.PCI0.RP05.PXSX._STA, 0)
+
+    External(SB.PCI0.RP05.PEGP.LCTL, FieldUnitObj)
+    External(SB.PCI0.RP05.PEGP.ELCT, IntObj)
+    External(SB.PCI0.RP05.PEGP.VREG, FieldUnitObj)
+    External(SB.PCI0.RP05.PEGP.VGAB, BuffObj)
+    External(SB.PCI0.RP05.PEGP.VDID, FieldUnitObj)
+    External(SB.PCI0.RP05.LNKD, FieldUnitObj)
+    External(SB.PCI0.RP05.PEGP.HLRS, FieldUnitObj)
+    External(SB.PCI0.RP05.PEGP.SGPO, MethodObj)
+
+    // Patched HGOF to remove EC related code
+    Method(SB.PCI0.RP05.PEGP.HGOF, 0, Serialized)
+    {
+        Store (LCTL, ELCT)
+        Store (VREG, VGAB)
+        Store (One, LNKD)
+        While (LNotEqual (VDID, 0xFFFF))
+        {
+            Stall (0x64)
+        }
+
+        SGPO (HLRS, One)
+        //Store (Zero, \_SB.PCI0.LPCB.EC0.NVPR)
+        Store (Zero, LNKD)
+        Return (Zero)
+    }
+
+    External(_SB.PCI0.LPCB.EC, DeviceObj)
+    External(_SB.PCI0.LPCB.EC.NVPR, FieldUnitObj)
+    External(_SB.PCI0.LPCB.EC.XREG, MethodObj)
+
+    // Override EC._REG to take care of EC related code removed from HGOF
+    Scope(_SB.PCI0.LPCB.EC)
+    {
+        OperationRegion(ECR3, EmbeddedControl, 0x00, 0xFF)
+        // original _REG is renamed to XREG
+        Method(_REG, 2)
+        {
+            // call original _REG (now renamed XREG)
+            XREG(Arg0, Arg1)
+
+            If (3 == Arg0 && 1 == Arg1 && CondRefOf(\_SB.PCI0.RP05.PEGP._OFF))
+            {
+                Store (Zero, \_SB.PCI0.LPCB.EC.NVPR)
+            }
+        }
+    }
+

 //
 // Display backlight implementation
diff --git a/config.plist b/config.plist
index 9064ada..07edfb1 100755
--- a/config.plist
+++ b/config.plist
@@ -153,6 +153,24 @@
                    <key>Replace</key>
                    <data>WERTTQ==</data>
                </dict>
+                <dict>
+                    <key>Comment</key>
+                    <string>change Method(HGOF,0,S) to XGOF</string>
+                    <key>Find</key>
+                    <data>SEdPRgg=</data>
+                    <key>Replace</key>
+                    <data>WEdPRgg=</data>
+                </dict>
+                <dict>
+                    <key>Comment</key>
+                    <string>change EC Method(_REG,2,N) to XREG</string>
+                    <key>Find</key>
+                    <data>X1JFRwI=</data>
+                    <key>Replace</key>
+                    <data>WFJFRwI=</data>
+                    <key>TgtBridge</key>
+                    <data>RUNfXw==</data>
+                </dict>
            </array>
        </dict>
        <key>SSDT</key>

Note: I will need to reorganize this a bit as I'm almost certain that these changes will break models (such as my u430) without Nvidia (and probably even those with it, when Nvidia is disabled in BIOS).
 

Attachments

  • test.zip
    6.3 KB · Views: 97
Last edited:
Status
Not open for further replies.
Back
Top