Skip to content

Instantly share code, notes, and snippets.

@matt-curtis
Last active November 23, 2016 23:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save matt-curtis/59b9e40a6919d16d572a to your computer and use it in GitHub Desktop.
Save matt-curtis/59b9e40a6919d16d572a to your computer and use it in GitHub Desktop.
Lenovo G510 - OS X Yosemite Install Notes

These notes are best used in conjunction with this thread: http://www.tonymacx86.com/laptop-compatibility/164973-lenovo-g510-mostly-working-help-needed.html

CLOVER:

  •  drivers64UEFI:

    • EmuVariableUefi-64.efi
    • FSInject-64.efi
    • HFSPlus.efi
    • NTFS.efi
    • OsxAptioFixDrv-64.efi
    • OsxFatBinaryDrv-64.efi
    • PartitionDxe-64.efi
    • VBoxHfs-64.efi
  • Kexts

    • ALXEthernet.kext - Ethernet
    • FakeSMC.kext - Essential
    • toledaARPT.kext - Broadcom
    • VoodooPS2Controller.kext - Mouse & Keyboard
  • config.plist

    • Audio Inject Needed for AppleHDA, Layout ID = 3
    • Fake ID & ig-platform-id needed for Intel HD4600
    • SMBIOS = MacBookPro11,2
    • Use FixedRegions, see RehabMan guide for power management
    • KernelAndKextPatches/AsusAICPUPM = true needed for power management
    • Devices/USB/FixOwnership = true // needed for proper USB function.

DDST

Patches Applied:

"Remove _DSM methods"
"Rename GFX0 to IGPU"
"Fix _WAK Arg0 v2"
"HPET Fix"
"SMBUS Fix"
"IRQ Fix"
"RTC Fix"

"Audio Layout Fix" (Make sure you change the layout-id to 3! Possibly needed for AppleHDA, but config.plist is probably sufficient. (???) Test.)

"OS Check Fix"
"Fix Mutex with non-zero SyncLevel"
"Fix PNOT/PPNT"
"Add IMEI"
"7-series/8-series USB"
"USB3 _PRW(0xD) and Rename XHC to XHC1"
"Haswell LPC"

After you apply all patches and hit compile, there will probably be an error. Click it and use the alternative line to solve it.

SSDT

(Only needed the 4th one, SSDT-4.aml. SSDT.aml was generated by ssdtPRGen.sh)

"Remove _DSM methods"

"Rename GFX0 to IGPU"

"Brightness Fix (Haswell)"

Audio

Conexant CX20757.

Used AppleHDA for the CX20757, also needed Clover audio inject above.

Microphone does not work (internal confirmed not working, line-in unconfirmed). Known problem. No fix so far.

Microphone does work if you use VoodooHDA, instead of AppleHDA. The difference in my testing is that AppleHDA provides automatic switching between internal speakers and headphones, and a significant improvement in audio sound. VoodooHDA requires manual switching between speakers/headphones, and lower quality sound and lower volume. It also does not require DDST edits or clover edits.

USB

Webcam & USB 2.0/3.0 works with the native OS X AppleUSBXHCI.kext. You only need to set Devices/USB/FixOwnership = true in config.plist

Graphics

Intel HD4600 Mobile [8086:0416]

Clover config.plist edits needed. See guide.

This graphics card also has banding/poor gradients/16-bit issue in OS X. Fix here. Read a few posts above as well to understand what's going on. EDID must be extracted, edited, and then injected with Clover.

There is also a momentary distorted graphics issue on login. It is fixed easily with edits made to config.plist.

Sleep

Sleep works fine with all the above patches to DDST made. However, sleep will be halted indefnitely if you close the laptop's lid. This problem occurs with the Lenovo G500 as well. A few minor edits to the DDST as provided by moonhack over on tonymacx86 solves the problem (see #14 under DDST edits).

Else

  • Processor is Haswell. i7-4700MQ. Series 8.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ACPI</key>
<dict>
<key>SortedOrder</key>
<array>
<string>SSDT.aml</string>
<string>SSDT-4.aml</string>
</array>
<key>DSDT</key>
<dict>
<key>DropOEM_DSM</key>
<false/>
<key>Fixes</key>
<dict>
<key>FixRegions_10000000</key>
<true/>
<key>NewWay_80000000</key>
<true/>
</dict>
<key>Name</key>
<string>DSDT.aml</string>
<key>ReuseFFFF</key>
<false/>
</dict>
<key>HaltEnabler</key>
<false/>
<key>SSDT</key>
<dict>
<key>DropOem</key>
<true/>
<key>Generate</key>
<dict>
<key>CStates</key>
<false/>
<key>PStates</key>
<false/>
</dict>
</dict>
</dict>
<key>Boot</key>
<dict>
<key>Arguments</key>
<string>kext-dev-mode=1</string>
<key>DefaultVolume</key>
<string>YosemiteHD</string>
<key>Legacy</key>
<string>PBR</string>
<key>Log</key>
<true/>
<key>Secure</key>
<false/>
<key>Timeout</key>
<integer>2</integer>
<key>XMPDetection</key>
<string>NO</string>
</dict>
<key>Devices</key>
<dict>
<key>Audio</key>
<dict>
<key>Inject</key>
<string>3</string>
</dict>
<key>FakeID</key>
<dict>
<key>IntelGFX</key>
<string>0x04128086</string>
</dict>
<key>USB</key>
<dict>
<key>FixOwnership</key>
<true/>
<key>Inject</key>
<false/>
</dict>
<key>UseIntelHDMI</key>
<false/>
</dict>
<key>GUI</key>
<dict>
<key>Hide</key>
<array>
<string>Windows</string>
<string>\EFI\BOOT\BOOTX64.EFI</string>
</array>
<key>Language</key>
<string>en:0</string>
<key>Mouse</key>
<dict>
<key>Enabled</key>
<false/>
</dict>
<key>Scan</key>
<dict>
<key>Entries</key>
<true/>
<key>Legacy</key>
<string>First</string>
<key>Tool</key>
<true/>
</dict>
<key>Theme</key>
<string></string>
</dict>
<key>Graphics</key>
<dict>
<key>Inject</key>
<dict>
<key>ATI</key>
<false/>
<key>Intel</key>
<true/>
<key>NVidia</key>
<false/>
</dict>
<key>ig-platform-id</key>
<string>0x0a260006</string>
<key>InjectEDID</key>
<true/>
<key>CustomEDID</key>
<data>AP///////wANr6cVAAAAAB8UAQSQIxN4CgAlnldSmSkVUFQAAAABAQEBAQEBAQEBAQEBAQEBEhtWZFAAFDAQIiYAWMEQAAAYAAAA/gBOMTU2QkdFLUwyMQogAAAA/gBDTU8KICAgICAgICAgAAAA/gBOMTU2QkdFLUwyMQogAIQ=</data>
</dict>
<key>KernelAndKextPatches</key>
<dict>
<key>AppleRTC</key>
<true/>
<key>AsusAICPUPM</key>
<true/>
<key>KernelPm</key>
<true/>
<key>KextsToPatch</key>
<array>
<dict>
<key>Comment</key>
<string>External icons patch</string>
<key>Find</key>
<data>
RXh0ZXJuYWw=
</data>
<key>Name</key>
<string>AppleAHCIPort</string>
<key>Replace</key>
<data>
SW50ZXJuYWw=
</data>
</dict>
<dict>
<key>Comment</key>
<string>Bootloader Graphics - Second Stage Patch</string>
<key>Find</key>
<data>QYjE6xE=</data>
<key>Name</key>
<string>IOGraphicsFamily</string>
<key>Replace</key>
<data>QYjE6zE=</data>
</dict>
</array>
</dict>
<key>RtVariables</key>
<dict>
<key>LogEveryBoot</key>
<string>10</string>
<key>LogLineCount</key>
<integer>3000</integer>
<key>MountEFI</key>
<string>Yes</string>
</dict>
<key>SMBIOS</key>
<dict>
<key>BiosReleaseDate</key>
<string>10/18/13</string>
<key>BiosVendor</key>
<string>Apple Inc.</string>
<key>BiosVersion</key>
<string>MBP112.88Z.0138.B02.1310181745</string>
<key>Board-ID</key>
<string>Mac-3CBD00234E554E41</string>
<key>BoardManufacturer</key>
<string>Apple Inc.</string>
<key>BoardType</key>
<integer>10</integer>
<key>ChassisAssetTag</key>
<string>MacBook-Aluminum</string>
<key>ChassisManufacturer</key>
<string>Apple Inc.</string>
<key>ChassisType</key>
<string>08</string>
<key>Family</key>
<string>MacBook Pro</string>
<key>Manufacturer</key>
<string>Apple Inc.</string>
<key>Mobile</key>
<true/>
<key>ProductName</key>
<string>MacBookPro11,2</string>
<key>SerialNumber</key>
<string>C02LV67QFD56</string>
<key>Trust</key>
<false/>
<key>Version</key>
<string>1.0</string>
</dict>
<key>SystemParameters</key>
<dict>
<key>InjectKexts</key>
<string>Detect</string>
<key>InjectSystemID</key>
<true/>
</dict>
</dict>
</plist>
@Khondlo
Copy link

Khondlo commented Oct 31, 2015

Hello Matt

Can you share the collection kext files used along with the above config.plist?

Kind Regards
Khondlo

@basoy
Copy link

basoy commented Nov 12, 2015

Hi! What version of Yosemite do you use? And will you send, please, your DDST-file there, because when I install my Yosemite and compile my DDST-it show me 3 errors. Thanks

@teaalltr
Copy link

teaalltr commented Dec 2, 2015

Could you please share your clover folder (inside EFI partition)? Thanks very much

@teaalltr
Copy link

teaalltr commented Dec 3, 2015

What do you mean with "Click it and use the alternative line to solve it.", about compile errors?

@matt-curtis
Copy link
Author

Oh shoot, sorry everyone, I wasn't aware anyone was actually using these notes.

@Khondlo I wouldn't... This is because you always want to ensure you are getting the latest and correct kext for your machine. I may update this with links to where the kexts can be found.

@basoy I'm currently running 10.10.5. I'm not certain which version of OS X I installed with initially. Double-checked and make sure you've applied all DSDT edits properly.

@Piruzzolo If you click on a compile error it will take you to where that error is. In many cases, the DSDT edit creator will have provided a commented-out line that will fix it.

If you need additional help, I highly recommend taking a quick read though this thread: http://www.tonymacx86.com/laptop-compatibility/164973-lenovo-g510-mostly-working-help-needed.html It details the process more in-depth than I have here. Post there if you need help.

@teaalltr
Copy link

Thanks! I still have a question: DSDT and SSDT patches need to be applied in order? I applied them following your order, but it didn't work for me.

@teaalltr
Copy link

Or, better, could you explain DSDT and SSDT stuff in details? I followed the whole thing, but you know...

@matt-curtis
Copy link
Author

@Piruzzolo Hmm, what errors/issues are you having? Also, is your GFX/CPU specs/etc. all the same? Those things you want to verify first before applying any patches.

@teaalltr
Copy link

@matt-curtis I fixed everything, all in order! No need for further help. Thank you very very much for your precious notes!

@archikara
Copy link

Hi all,

is it possible for you to supply me your dsdt and ssdt?
I have the same processor, but still only problem with the grafic, I have only 4MB nvram,
could be very happy if you could help me..

@matt-curtis
Copy link
Author

@archikara Regardless of similar specs, using an old DDST/SSDT or someone else's can cause significant errors to your installation, and can be hard to find the fix on top of that. You should always generate your DDST & SSDT(s) yourself. Clover is the easiest way, by pressing F4 or ALT + F4 at the boot screen. RehabMan has a great guide on this: http://www.tonymacx86.com/threads/guide-patching-laptop-dsdt-ssdts.152573/

@Khondlo
Copy link

Khondlo commented Nov 23, 2016

thanks @matt-curtis if it wansn't for your notes i'll be doomed
i did learn alot from them
however i just have one last question,,
ho did you sort the wifi problem because my has a whitelist of wifi chips that can be installed.

@matt-curtis
Copy link
Author

I didn't solve the whitelist problem, actually.. The common solution is to flash a BIOS that removes the whitelist, but that isn't possible to my knowledge right now on the Lenovo G510, sadly. That may have changed (I'd be delighted if it did).

Your options at this point really are either using Ethernet, Bluetooth, or USB to get the connection you need. Sucks, but that's how it is for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment