Contribute
Register

[Guide] Lenovo Z50-70/Z40-70/G50-70/G40-70 using Clover UEFI

Tried this guide, but I can't get AppleALC to show up in Hackintool. I've put the kext in the Kernel section in the config.plist file, too. AppleHDA, Lilu, Whatever get loaded, but AppleALC doesn't, so I can not continue with the tutorial.

EDIT: Got AppleALC in the extensions tab, but nothing in the Sound tab.

Same here. Tried everything, but AppleALC does not load. As soon as I remove VoodooHDA.kext, sound is gone. Webcam is working though...
 
Same here. Tried everything, but AppleALC does not load. As soon as I remove VoodooHDA.kext, sound is gone. Webcam is working though...
I got AppleALC to show up in the Hackintool. Just update the kexts to the latest version.
I get infinite Apple logo after rebuilding kextcache and installing kexts in /L/E. I also did reset NVRAM, but no luck
 
I got AppleALC to show up in the Hackintool. Just update the kexts to the latest version.
I get infinite Apple logo after rebuilding kextcache and installing kexts in /L/E. I also did reset NVRAM, but no luck

AFAIK, AppleALC is not supposed to be placed in L/E. Maybe that's why you're having the boot issue...
Downloaded the latest version of the kext. Still no joy...
 
AFAIK, AppleALC is not supposed to be placed in L/E. Maybe that's why you're having the boot issue...
Downloaded the latest version of the kext. Still no joy...
Yes, I was thinking about that, too. Just followed the guide...
Try updating every kext, this is how it worked for me.
 
Hello,

here is my last EFI -Open Core- with AppleALC
Screenshot 2020-04-11 at 20.09.47.png

you may have forgotten the boot command alcid=28.
Code:
<key>boot-args</key>
<string>alcid=28 brcmfx-country=#a</string>

I also got rid of a large DSDT file
Screenshot 2020-04-11 at 20.11.02.png


SSDT hot patches only now.
 

Attachments

  • EFI.zip
    4.2 MB · Views: 90
Last edited:
Hello,

here is my last EFI -Open Core- with AppleALC
View attachment 461394
you may have forgotten the boot command alcid=28.
Code:
<key>boot-args</key>
<string>alcid=28 brcmfx-country=#a</string>

I also got rid of a large DSDT file
View attachment 461395

SSDT hot patches only now.
Great. Thanks!
It seems that my brightness keys are not working now. I know I previously fixed this by applying Windows 8 OS Check fix. In which SSDT should I apply this? I may be wrong, too.
 
Great. Thanks!
It seems that my brightness keys are not working now. I know I previously fixed this by applying Windows 8 OS Check fix. In which SSDT should I apply this? I may be wrong, too.

SSDT-BKeyQ11Q12-LenovoAir.aml

also after every change of anything - NVRAM must be cleaned at boot. It may get stuck once, but it works every time after
 
SSDT-BKeyQ11Q12-LenovoAir.aml

also after every change of anything - NVRAM must be cleaned at boot. It may get stuck once, but it works every time after
Well, it seems that I missed that file. Thanks, I will clean NVRAM after this.
Edit: Nah, I can not apply it there. Also, brightness slider does nothing in the settings. Do you know what could be?
 
Last edited:
Well, it seems that I missed that file. Thanks, I will clean NVRAM after this.
Edit: Nah, I can not apply it there. Also, brightness slider does nothing in the settings. Do you know what could be?
I have no idea. That patch is from here.
Code:
// BrightKey for LenovoAir
// In config ACPI, _Q11 to XQ11(LenovoAir-down)
// Find:     5F 51 31 31
// Replace:  58 51 31 31

// In config ACPI, _Q12 to XQ12(LenovoAir-up)
// Find:     5F 51 31 32
// Replace:  58 51 31 32
//
DefinitionBlock("", "SSDT", 2, "ACDT", "BrightFN", 0)
{
    External(_SB.PCI0.LPCB.PS2K, DeviceObj)
    External(_SB.PCI0.LPCB.EC0, DeviceObj)
    External(_SB.PCI0.LPCB.EC0.XQ11, MethodObj)
    External(_SB.PCI0.LPCB.EC0.XQ12, MethodObj)
   
    Scope (_SB.PCI0.LPCB.EC0)
    {
        Method (_Q11, 0, NotSerialized)//down
        {
            If (_OSI ("Darwin"))
            {
                Notify(\_SB.PCI0.LPCB.PS2K, 0x0405)
                Notify(\_SB.PCI0.LPCB.PS2K, 0x20)
            }
            Else
            {
                \_SB.PCI0.LPCB.EC0.XQ11()
            }
        }
   
        Method (_Q12, 0, NotSerialized)//up
        {
            If (_OSI ("Darwin"))
            {
                Notify(\_SB.PCI0.LPCB.PS2K, 0x0406)
                Notify(\_SB.PCI0.LPCB.PS2K, 0x10)
            }
            Else
            {
                \_SB.PCI0.LPCB.EC0.XQ12()
            }
        }
    }
}
//EOF

It can be patched in another way

Code:
// Keyboard configuration

#ifndef NO_DEFINITIONBLOCK
DefinitionBlock("", "SSDT", 2, "hack", "PS2K", 0)
{
#endif
    // Enabling brightness keys
    External(_SB.PCI0.LPCB.EC, DeviceObj)
    Scope(_SB.PCI0.LPCB.EC) // brightness buttons
    {
        External(^PS2K, DeviceObj)
        Method (_Q11) // Brightness down
        {
            Notify (PS2K, 0x0405) // For VoodooPS2Controller.kext (by RehabMan)
            Notify (PS2K, 0x20) // For ApplePS2SmartTouchPad.kext (by EMlyDinEsH)
        }
       
        Method (_Q12) // Btightness up
        {
            Notify (PS2K, 0x0406) // For VoodooPS2Controller.kext (by RehabMan)
            Notify (PS2K, 0x10) // For ApplePS2SmartTouchPad.kext (by EMlyDinEsH)
        }
    }
#ifndef NO_DEFINITIONBLOCK
}
#endif
//EOF


I tried both VoodooPS2Controller.kext & ApplePS2SmartTouchPad.kext


maybe something obvious and simply is a mistake:rolleyes:
 
Last edited:
I have no idea. That patch is from here.
Code:
// BrightKey for LenovoAir
// In config ACPI, _Q11 to XQ11(LenovoAir-down)
// Find:     5F 51 31 31
// Replace:  58 51 31 31

// In config ACPI, _Q12 to XQ12(LenovoAir-up)
// Find:     5F 51 31 32
// Replace:  58 51 31 32
//
DefinitionBlock("", "SSDT", 2, "ACDT", "BrightFN", 0)
{
    External(_SB.PCI0.LPCB.PS2K, DeviceObj)
    External(_SB.PCI0.LPCB.EC0, DeviceObj)
    External(_SB.PCI0.LPCB.EC0.XQ11, MethodObj)
    External(_SB.PCI0.LPCB.EC0.XQ12, MethodObj)

    Scope (_SB.PCI0.LPCB.EC0)
    {
        Method (_Q11, 0, NotSerialized)//down
        {
            If (_OSI ("Darwin"))
            {
                Notify(\_SB.PCI0.LPCB.PS2K, 0x0405)
                Notify(\_SB.PCI0.LPCB.PS2K, 0x20)
            }
            Else
            {
                \_SB.PCI0.LPCB.EC0.XQ11()
            }
        }

        Method (_Q12, 0, NotSerialized)//up
        {
            If (_OSI ("Darwin"))
            {
                Notify(\_SB.PCI0.LPCB.PS2K, 0x0406)
                Notify(\_SB.PCI0.LPCB.PS2K, 0x10)
            }
            Else
            {
                \_SB.PCI0.LPCB.EC0.XQ12()
            }
        }
    }
}
//EOF

It can be patched in another way

Code:
// Keyboard configuration

#ifndef NO_DEFINITIONBLOCK
DefinitionBlock("", "SSDT", 2, "hack", "PS2K", 0)
{
#endif
    // Enabling brightness keys
    External(_SB.PCI0.LPCB.EC, DeviceObj)
    Scope(_SB.PCI0.LPCB.EC) // brightness buttons
    {
        External(^PS2K, DeviceObj)
        Method (_Q11) // Brightness down
        {
            Notify (PS2K, 0x0405) // For VoodooPS2Controller.kext (by RehabMan)
            Notify (PS2K, 0x20) // For ApplePS2SmartTouchPad.kext (by EMlyDinEsH)
        }
    
        Method (_Q12) // Btightness up
        {
            Notify (PS2K, 0x0406) // For VoodooPS2Controller.kext (by RehabMan)
            Notify (PS2K, 0x10) // For ApplePS2SmartTouchPad.kext (by EMlyDinEsH)
        }
    }
#ifndef NO_DEFINITIONBLOCK
}
#endif
//EOF


I tried both VoodooPS2Controller.kext & ApplePS2SmartTouchPad.kext


maybe something obvious and simply is a mistake:rolleyes:
No, it does not work neither this way.
However, this was working with your previous EFI zip. Everything seemed to work ok (except it was using VoodooHDA instead of AppleALC)
 
Last edited:
Back
Top