- Joined
- Mar 22, 2017
- Messages
- 106
- Motherboard
- Lenovo G50-80 + Clover
- CPU
- i5-5200U
- Graphics
- HD 5500 & R5 M230
- Mobile Phone
This guide is originally posted on GitHub , now I'm sharing it here and hoping more people can learn something from this post.
Warning: Please read this guide carefully. Simply copying my configuration file is very likely to not work (because there are many different Lenovo G50-80 according to PSREF), although you can still play around. You should apply the same steps as mine to get your Hackintosh working on your laptop. If you still want to try, please download it here.
Happy hacking
Specs
BIOS update and specs can be found at here, or simply use this link https://download.lenovo.com/consumer/mobiles/b0cna0ww.exe to download the BIOS update.
DSDT patches
See patches.txt. I only patched DSDT.aml and ignored all SSDT-*.aml.
Please follow the DSDT patching tutorial by RehabMan carefully, and you may find this video very helpful.
The patched results can be found at EFI/CLOVER/ACPI/patched.
Brightness adjustment keys
For me, my laptop use F11/F12 for brightness down/up, so I have to map these keys to brightness adjust methods. By following Patching DSDT/SSDT for LAPTOP backlight control, I found my laptop use EC query methods (ACPI) for those keys. (This is the case with most modern laptops.) The Consloe.log shows they are _Q11 and _Q12. So the patch I used for mapping these keys is (see also in patches.txt):
The ACPI debug version of my EFI configuration can be found at EFI_with_ACPI_DEBUG. I basically added the ACPIDebug.kext and then patched the DSDT with Add DSDT Debug Methods and Instrument EC Queries from https://github.com/RehabMan/OS-X-ACPI-Debug (add the source to MaciASL).
Bluetooth
Go to Windows device manager and find your bluetooth's vid and pid information:
Convert the hex to decimal using google search or any tool you prefer:
Add the following to
A demo patched Info.plist can be found at Bluetooth/Info.plist.
Note that in order to let the native Bluetooth work, we have to boot into Windows or Linux first, and then restart into macOS. This is known as RAMUSB device firmware update problem. If you find any solution or want to discuss/fix this, please open an issue.
Kexts
Note: All kexts used can be found at EFI/CLOVER/kexts/Other, and I prefer to only install kexts to EFI folder instead of /S/L/E or /L/E for better update experience.
At present, everything is working except:
Warning: Please read this guide carefully. Simply copying my configuration file is very likely to not work (because there are many different Lenovo G50-80 according to PSREF), although you can still play around. You should apply the same steps as mine to get your Hackintosh working on your laptop. If you still want to try, please download it here.
Happy hacking
Specs
Code:
Model: Lenovo G50-80
Bios version: B0CNA0WW
CPU: i5 5200U, HD 5500 Graphic
RAM: 8GB
Hard drive: Kingston 256 GB SSD + 1 TB Seagate HDD
Audio: Conexant CX20752
Ethernet: RTL8111
BIOS update and specs can be found at here, or simply use this link https://download.lenovo.com/consumer/mobiles/b0cna0ww.exe to download the BIOS update.
DSDT patches
See patches.txt. I only patched DSDT.aml and ignored all SSDT-*.aml.
Please follow the DSDT patching tutorial by RehabMan carefully, and you may find this video very helpful.
The patched results can be found at EFI/CLOVER/ACPI/patched.
Brightness adjustment keys
For me, my laptop use F11/F12 for brightness down/up, so I have to map these keys to brightness adjust methods. By following Patching DSDT/SSDT for LAPTOP backlight control, I found my laptop use EC query methods (ACPI) for those keys. (This is the case with most modern laptops.) The Consloe.log shows they are _Q11 and _Q12. So the patch I used for mapping these keys is (see also in patches.txt):
Code:
into method label _Q11 replace_content
begin
// Brightness Down\n
Notify(\_SB.PCI0.LPCB.PS2K, 0x0405)\n
end;
into method label _Q12 replace_content
begin
// Brightness Up\n
Notify(\_SB.PCI0.LPCB.PS2K, 0x0406)\n
end;
The ACPI debug version of my EFI configuration can be found at EFI_with_ACPI_DEBUG. I basically added the ACPIDebug.kext and then patched the DSDT with Add DSDT Debug Methods and Instrument EC Queries from https://github.com/RehabMan/OS-X-ACPI-Debug (add the source to MaciASL).
Bluetooth
Go to Windows device manager and find your bluetooth's vid and pid information:
Code:
USB\VID_105B&PID_E065&REV_0112
USB\VID_105B&PID_E065
Convert the hex to decimal using google search or any tool you prefer:
Code:
hex E065 == decimal 57445
hex 105B == decimal 4187
Add the following to
S/L/E/IOBluetoothFamily.kext/Contents/PlugIns/BroadcomBluetoothHostControllerUSBTransport.kext/Contents/Info.plist
-> IOKitPersonalities
:
XML:
<dict>
<key>Lenovo G50 80 Bluetooth</key>
<string>com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport</string>
<key>IOClass</key>
<string>BroadcomBluetoothHostControllerUSBTransport</string>
<key>IOProviderClass</key>
<string>IOUSBHostDevice</string>
<key>idProduct</key>
<integer>57445</integer>
<key>idVendor</key>
<integer>4187</integer>
</dict>
A demo patched Info.plist can be found at Bluetooth/Info.plist.
Note that in order to let the native Bluetooth work, we have to boot into Windows or Linux first, and then restart into macOS. This is known as RAMUSB device firmware update problem. If you find any solution or want to discuss/fix this, please open an issue.
Kexts
Note: All kexts used can be found at EFI/CLOVER/kexts/Other, and I prefer to only install kexts to EFI folder instead of /S/L/E or /L/E for better update experience.
- Keyboard and trackpad: VoodooPS2Controller.kext (I used the debug version for testing keys are PS2 or ACPI). I personally would like to enable single tap on trackpad in System Preferences -> Trackpad -> Tap to click, also enable one-finger tap & drag in System Preferences -> Accessibility -> Mouse & Trackpad -> Trackpad options -> Enable dragging without drag lock.
- Audio: AppleALC.kext + layout-id=3, HDMI audio fixed with WhateverGreen framebuffer patching, see here.
- Ethernet: RealtekRTL8111.kext
- Graphics: Lilu.kext + WhateverGreen.kext, note you will need use config_HD5300_5500_6000.plist by RehabMan to set stolenmem to 19 MB and cursormem to 9 MB, see this and this. Also, you should enable 'Legacy support' in BIOS's boot tab to avoid glitches, see this post.
- Battery status: ACPIBatteryManager.kext + the [bat] Lenovo G50-70 DSDT patch
At present, everything is working except:
- Brightness adjustment -- Done
- Wake from sleep -- Unsolvable Disable sleep as a workaround, see my post on tonymacx86.
Last edited: