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 😉
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.
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.
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
):
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
).
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 inSystem Preferences -> Trackpad -> Tap to click
, also enable one-finger tap & drag inSystem Preferences -> Accessibility -> Mouse & Trackpad -> Trackpad options -> Enable dragging without drag lock
. - Audio:
AppleALC.kext
+layout-id=3
, HDMI audio fixed withWhateverGreen
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 setstolenmem
to 19 MB andcursormem
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
Go to Windows device manager and find your bluetooth's vid and pid information:
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:
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
:
<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. See here. This is known as RAMUSB device firmware update problem. If you find any solution or want to discuss/fix this, please open an issue.
At present, everything is working except:
Brightness adjustment-- DoneWake from sleep-- Unsolvable Disable sleep as a workaround, see my post on tonymacx86. Discussions are welcome there!