Giter Site home page Giter Site logo

upupming / lenovo-g50-80-clover Goto Github PK

View Code? Open in Web Editor NEW
41.0 9.0 15.0 27.98 MB

Clover configuration for Hackintosh on G50-80 (Broadwell version 80E5007CCD)

Home Page: https://www.tonymacx86.com/threads/guide-lenovo-g50-80-post-installation-macos-mojave-10-14-3.273980/

License: GNU General Public License v3.0

Shell 12.48% HTML 1.17% Rich Text Format 86.35%
hackintosh lenovo macos tonymacx86

lenovo-g50-80-clover's Introduction

Mojave Hackintosh for Lenovo G50-80 (Broadwell 5200U version)

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 😉

Table of Contents

Specs

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):

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).

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

Bluetooth

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.

Test of transferring files to my Pixel phone using bluetooth

20190307162150.png

Further working

At present, everything is working except:

  1. Brightness adjustment -- Done
  2. Wake from sleep -- Unsolvable Disable sleep as a workaround, see my post on tonymacx86. Discussions are welcome there!

Links

  1. tonymacx86 FAQ
  2. The same model guide on tonymacx86
  3. Solve error when patching DSDTs
  4. Guide for i3 version of Lenovo G50-80 in tonymacx86
  5. Video guide for i3 version
  6. Get bluetooth vid & pid from windows
  7. Inject bluetooth kext

lenovo-g50-80-clover's People

Contributors

upupming avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lenovo-g50-80-clover's Issues

xcode无法下载

Xcode需要使用新版本的macos 但是无法更新,请问需要更改哪里以适应新版本的更新.

Wake from sleep.

Wake from sleep actually works for me if i reboot from windows to macOS.

无限重启10.14.6

我也是联系g50-80,但是这个EFI在引导界面一直重启,请问怎么解决?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.