Contribute
Register

[Guide] Lenovo T460 Hackintosh 10.11 & Dual Boot

Status
Not open for further replies.
do you have brightness working? i use another voodoops2 kext and it seems trackpad with scrolling etc & f11,f12 keys working ;) using an x260 though but seems the patches are similar :D
Yes, brightness is working. I'm just checking this weekend how i can modify the keyboard layout for the t560 in an easy way... It seems as if the keyboard layout from the t460 from tluck has some conflicts with the t560 keyboard.
 
@Shad0wWalk3r You have a 260 device, right? What kext are you using for your device? I checked TLucks Repo and did a few changes (minor changes) for my T560. And it works very well now.

How did you get your keyboard to work properly?
 
I successfully installed a triple booting (Windows, Linux, macOS) T460s (i5-6300U 8GB 128GB SATA SSD) following this guide with some adaptations, thought I am a bit afraid to perform an upgrade to Sierra. Has anybody on this thread made the upgrade? Guess I will eventually take the plunge, but I am wanting some encouragement ;-).

As it is now there are some annoyances. The card reader does not work, bluetooth is ok, but wireless is not (haven't changed the card yet), I am yet to dial the keyboard 100% to my locale, and during login, the button in the left of the user name "<" always appears distorted. Also, The only Clover that works is the one that is in the ZIPs in this guide. Could not upgrade it, whichever version I tried.

On the plus side, It works fine with the dock, all ports I tested up to now working there, thought oddly enough the DisplayPort can drive my 2560x1440 monitor only in 1080p. With DVI I can obtain the 1200p resolution that is supported by the monitor with this port. But with HDMI I have full 2560x1440p resolution. I guess will just wait on a Memory and SSD upgrade, pending parts arrival, prior to try the jump to Sierra again.

Anyway, HUGE THANK YOU to the author of the guide and everybody else who helped develop it to it´s current state.
 
I successfully installed a triple booting (Windows, Linux, macOS) T460s (i5-6300U 8GB 128GB SATA SSD) following this guide with some adaptations, thought I am a bit afraid to perform an upgrade to Sierra. Has anybody on this thread made the upgrade? Guess I will eventually take the plunge, but I am wanting some encouragement ;-).

As it is now there are some annoyances. The card reader does not work, bluetooth is ok, but wireless is not (haven't changed the card yet), I am yet to dial the keyboard 100% to my locale, and during login, the button in the left of the user name "<" always appears distorted. Also, The only Clover that works is the one that is in the ZIPs in this guide. Could not upgrade it, whichever version I tried.

On the plus side, It works fine with the dock, all ports I tested up to now working there, thought oddly enough the DisplayPort can drive my 2560x1440 monitor only in 1080p. With DVI I can obtain the 1200p resolution that is supported by the monitor with this port. But with HDMI I have full 2560x1440p resolution. I guess will just wait on a Memory and SSD upgrade, pending parts arrival, prior to try the jump to Sierra again.

Anyway, HUGE THANK YOU to the author of the guide and everybody else who helped develop it to it´s current state.
I'm glad to hear your words! Thank you.
Talking about Sierra I'm sorry because I am so busy since few weekd ago and I cannot test it, but I read a lot and I'm sure that still there're some annoyances using Sierra under T460.

On the other hand I still haven't solved upper menu glitches that we've using HD520 graphic card and I'm unsure if anybody has solved it.
Any news will be appreciated.
Thank you.
 
I successfully installed a triple booting (Windows, Linux, macOS) T460s (i5-6300U 8GB 128GB SATA SSD) ...

On the plus side, It works fine with the dock, all ports I tested up to now working there, thought oddly enough the DisplayPort can drive my 2560x1440 monitor only in 1080p. With DVI I can obtain the 1200p resolution that is supported by the monitor with this port. But with HDMI I have full 2560x1440p resolution. I guess will just wait on a Memory and SSD upgrade, pending parts arrival, prior to try the jump to Sierra again.

Sounds like we have nearly identical setups, with similar results. Oddly, I found the reverse issue with video through my dock; the HDMI can support full 2560x1080 (native resolution) on my monitor, while the DP could not, leaving bars on the side. I followed Rehabman's HDMI audio thread, and was able to get sound out of the laptop's HDMI, but never through the one on the dock. Also, even though the headphone jack on the side of the T460s works, the dock's audio out jack does not for me, and docking/undocking while in OSX often results in a reboot. All things I can live with.

You should be even happier once you get a Broadcom WLAN card installed. I bought a BCM94352Z off Amazon and despite the seller claiming it, "could not working on IBM/Lenovo/Thinkpad", it works perfect in OSX, Win10 and on Ubuntu.

I too would like to run Sierra, and gave it a try during my past SSD upgrade without success. I think it is a job for someone with a bit more experience than me, and my situation was complicated because I was upgrading the stock 128G drive to a 500G Samsung 960 EVO NVMe drive at the time. I struggled to get that to working even with El Capitan, and although it is blazing fast, the only way I could get it working resulted in a step backwards for power management. All I could get working was the NVMeGeneric.kext, which from what I read, is known to have sleep and shutdown issues.

So, on a side note, if anyone has had success using HackrNVMeFamily-10_11_6_sec2016-003.kext on their T460, I would love a copy and some advice. I followed Rehabman's instructions and never got it to work (probably something dumb I'm doing). Win10 reports the BIOS device name as "\_SB.PCI0.EXP5.PXSX", so I used this for the SSDT-NVMe-Pcc.aml file, but suspect it is still not right for a T460s:

Win10 NVM on T460s.jpg

Code:
// Inject bogus class-code for NVMe SSD to prevent IONVMeFamily.kext from loading
DefinitionBlock("", "SSDT", 2, "hack", "NVMe-Pcc", 0)
{
    External(_SB.PCI0.EXP5.PXSX, DeviceObj)
    Method(_SB.PCI0.EXP5.PXSX._DSM, 4)
    {
        If (!Arg2) { Return (Buffer() { 0x03 } ) }
        Return(Package()
        {
            "class-code", Buffer() { 0xff, 0x08, 0x01, 0x00 },
            "built-in", Buffer() { 0 },
        })
    }
}
//EOF
 
Last edited:
to a 500G Samsung 960 EVO NVMe drive at the time. I struggled to get that to working even with El Capitan, and although it is blazing fast, the only way I could get it working resulted in a step backwards for power management. All I could get working was the NVMeGeneric.kext, which from what I read, is known to have sleep and shutdown issues.

So, on a side note, if anyone has had success using HackrNVMeFamily-10_11_6_sec2016-003.kext on their T460, I would love a copy and some advice. I followed Rehabman's instructions and never got it to work (probably something dumb I'm doing). Win10 reports the BIOS device name as "\_SB.PCI0.EXP5.PXSX", so I used this for the SSDT-NVMe-Pcc.aml file, but suspect it is still not right for a T460s:

View attachment 230422

Code:
// Inject bogus class-code for NVMe SSD to prevent IONVMeFamily.kext from loading
DefinitionBlock("", "SSDT", 2, "hack", "NVMe-Pcc", 0)
{
    External(_SB.PCI0.EXP5.PXSX, DeviceObj)
    Method(_SB.PCI0.EXP5.PXSX._DSM, 4)
    {
        If (!Arg2) { Return (Buffer() { 0x03 } ) }
        Return(Package()
        {
            "class-code", Buffer() { 0xff, 0x08, 0x01, 0x00 },
            "built-in", Buffer() { 0 },
        })
    }
}
//EOF

Keep in mind that the 960 EVO requires more injections (specifically on 10.11) than the ones you show above in the SSDT. Read the guide carefully. It is clearly described in the guide.

Don't forget about _DSM methods that may exist at that path.
And don't forget to generate HackrNVMeFamily with --spoof.
 
Keep in mind that the 960 EVO requires more injections (specifically on 10.11) than the ones you show above in the SSDT. Read the guide carefully. It is clearly described in the guide.

Don't forget about _DSM methods that may exist at that path.
And don't forget to generate HackrNVMeFamily with --spoof.

I took another look at your GitHub repository and see you added 960 drive support 12 days ago. I had made my attempt during the Christmas break before that was added. I will give it another go and following your new "Special injections required for 10.11.x and Samsung 960 EVO" section. At the time I had wondered if the drive just lacked support being so new and all. Thanks so much for resolving the issue for these drives.
 
I took another look at your GitHub repository and see you added 960 drive support 12 days ago. I had made my attempt during the Christmas break before that was added.

No meaningful changes on github for 960 EVO.

I will give it another go and following your new "Special injections required for 10.11.x and Samsung 960 EVO" section. At the time I had wondered if the drive just lacked support being so new and all. Thanks so much for resolving the issue for these drives.

These injections are what is important.
 
These injections are what is important.

RehabMan, So now I have this for the SSDT-NVMe-Pcc.aml, which is my drive's ACPI path and the extra injections for the 960 EVO, does that look right?

Code:
DefinitionBlock ("", "SSDT", 2, "hack", "NVMe-Pcc", 0x00000000)
{
    External (_SB_.PCI0.EXP5.PXSX, DeviceObj)    // (from opcode)

    Method (_SB.PCI0.EXP5.PXSX._DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
    {
        If (LNot (Arg2))
        {
            Return (Buffer (One)
            {
                 0x03                                         
            })
        }

        Return (Package (0x0A)
        {
            "class-code",
            Buffer (0x04)
            {
                 0xFF, 0x08, 0x01, 0x00                       
            },

            "built-in",
            Buffer (One)
            {
                 0x00                                         
            },

            "compatible",
            Buffer (0x0D)
            {
                "pci144d,a801"
            },

            "IOName",
            "pci144d,a801",
            "name",
            Buffer (0x0D)
            {
                "pci144d,a801"
            }
        })
    }
}

I still have an issue though. I had reinstalled the OS and updated while using the NVMeGeneric.kext, and now Apple's latest security update is newer than the "Security Update 003" that you support; it is "Supplemental Security Update 003" which reports as: OS X 10.11.6 (15G1217)

Your script builds a kext but with these warnings, so I'm guessing it won't work:

$ ./patch_nvme.sh --spoof 10_11_6_sec2016-003
Code:
Creating patched HackrNVMeFamily-10_11_6_sec2016-003.kext
WARNING: Vanilla MD5 (0aed9374ab41e40976bd191cba126423) does not match expected MD5 (b3b4dd50b2bbd9cc4dc901fad12643ac)
WARNING: Patched MD5 (477dadd3231cbe4327813fa1832871fc) does not match expected MD5 (6ea6fd529ee962f6308b95a854897556)

Might you be adding support for the supplemental version of 003? If not, then should I be able to apply the non-supplemental update version now that this one is already in place?
 
Status
Not open for further replies.
Back
Top