Thinkpad T460: Fiddling With MacOS

Thinkpad T460: Fiddling With MacOS

Devops   Give Your Opinion

The Lenovo Thinkpad T460 is a powerful 14-inches ultrabook. What makes this laptop attractive is not only the robust design but also its ability to be a great hackintosh.

This Step-by-step guide will thouroughly explain how to install and configure MacOS High Sierra on the Lenovo T460 using Clover EFI Bootloader. I would like to thank @tluck for his excellent guide which served as the source of this tutorial.

What makes this laptop so special? It runs perfectly well MacOS because its hardware is mostly compatible with MacOS.

Installing MacOS on a PC should be purely done for educational purpose. If you like macOS, I strongly encourage you to buy an Apple computer.

Thinkpad T460

A hackintosh is simply any non-Apple hardware that has been made to run macOS. The key here is to find a computer or computer parts that are mostly compatible with MacOS. How do we do that? By selecting hardware components which are close enough to existing Mac computers.

One of the key point to successfully install macOS on any hardware is to:

  • know your hardware: use tools like Aida64 to list and identify your hardware before proceeding to install macOS,
  • Prefer Intel Graphics laptops: most of the work done by the hackintosh community involves supporting Intel HD Graphics laptops. Why? Simply because most macbooks have an Intel HD Graphics card, so they are well supported.

let’s see why the T460 makes up for a great hackintosh computer.

Hardware Specs

Thinkpad T460 Thinkpad T460 running on Windows 10

Thinkpads are known to be some of the most robust laptops ever made. It’s not a surprise to see a Thinkpad fan club on Reddit, dedicated to people who like this laptop. Also, the T460 like other T-series thinkpads are tested against the MIL-SPEC. Basically, the laptop is resistant to water-spill, dust and extreme temperature conditions.

The laptop features a dual battery (24Wh built-in and 72Wh replaceable) so you can run the laptop continuously for up to 14h. It’s light weight (1.7kgs only) and has a beautiful FullHD IPS Panel. It’s no wonder NoteBookcheck T460 Review gave them a whopping 87% score.

The T460 we’re going to use here is a Grade A refurbished unit with almost max specs:

  • CPU: Intel Core I7 6600u, 2 cores / 4 threads, 3.4Ghz max turbo boost, 15w TDP,
  • RAM: 16GB So-dimm DDR3L (1.35v), which can be upgraded to 32GB using 2x16GB sticks. This is more than enough for the purpose of this machine: a light-weight web browsing, photo editing and text writing machine,
  • Graphics: The Intel i7 6600u features an integrated Intel HD520 graphic card which is plenty enough for office use. Also, it runs very well on MacOS,
  • Storage: the machine came shipped with a 512GB Sata 6Gbps SSD in 2.5 inches format. Sata storage is preferrable over NVMe for a hackintosh as of now, since NVMe is not well supported by MacOS yet,
  • Screen: 14 inches Full HD (1920x1080) bright IPS panel.

I’ve got a great deal on this machine (800€ in mint condition) with nearly max specs. Considering it’s a Grade A laptop with no single sign of use, it’s a steal!

Which Graphic Card?

Make sure to use a laptop with an Intel HD Graphics only: Nvidia Optimus laptops should be avoided. Optimus is a technology which allows an Nvidia graphic card and an Intel HD graphics to work together.

Basically, the Intel HD Graphics acts as a gateway for the Nvidia Card. When graphics load is light, the Intel HD is only handling the graphics part. When running heavy graphic apps like games, the Nvidia graphic card kicks in.

MacOS doesn’t support Nvidia Optimus. For this reason, if your laptop is equipped with an Nvidia switching graphic card, the Nvidia card must be disabled. There are only a few ways:

  • Via Bios: only some laptops have the option to disable the discrete graphic card (Nvidia) within the Bios. You will need to mod the bios if that’s not the case or,
  • Via Software: using Software method, but sometimes the graphic card is still running and consuming energy.

Software Specs

For this guide, we are going to install MacOS High Sierra. MacOS Mojave is available since last month (september 2018) but it’s too new to be compatible with hackintosh computers yet.

The key rule when building a Hackintosh is:

Never use the latest MacOS version unless someone has upgraded before you on the same hardware. This will save you huge pain!

Maybe I’ll consider updating the guide once Mojave installation has been battle tested against the T460. For now, let’s stick with an Operating System that’s known to work well with this laptop.

Pre-Requisites

Let’s see step by step how to configure the machine to be able to install MacOS.

Create USB Installer

To create an USB Installer:

  • Download MacOS High Sierra from an existing MacBook. Yes, you need a mac to create the USB stick to install your hackintosh. Download the High Sierra app from the Apple store. You can only download the app if you purchased it from the store previously. Otherwise, you will have to find the app on other download sources (like torrent sites),
  • Partition: an 8GB or larger USB stick with GUID Partition Table (GPT) and name it USB,
  • Create Install Media: run the following command from a Terminal:
sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ macOS\ High\ Sierra.app --nointeraction

This will create an USB stick ready to install MacOS High Sierra. At this point, the USB stick is still not bootable from a PC laptop. We need to install Clover EFI Bootloader on it:

  • Mount the hidden EFI partition from the USB Key. Assuming the USB key is disk1, run from Terminal:
sudo mkdir /Volumes/ESP-USB
sudo mount -t msdos /dev/disk1s1       /Volumes/ESP-USB

Now we have the /Volumes/ESP-USB directory mounted as the EFI partition.

  • Download the latest T460 Clover Setup and expand in it Downloads folder,
  • Copy the EFI directory from the expanded archive to the USB EFI partition using this example command in Terminal:
cp -a ~/Downloads/Lenovo-T460-Clover-YYYY.MM.DD/EFI/ /Volumes/ESP-USB/EFI

You can use the command diskutil list to list all disks on your system and find out which one is your USB Key.

Bios Settings

To enter bios, press Enter on startup, then press F1 to open the Bios Setup Utility:

Bios Startup Interrupt Menu

First, we need to modify bios settings because MacOS only runs with very specific settings within T460 bios:

  • Security > Memory Protection > Execution Prevention: Set to Enabled,

Bios Memory Protection

  • Security > Virtualization: disable all options,

Bios Disable Virtualization

  • Security > Secure Boot Configuration: disable Secure Boot

Bios Disable Secure boot

  • Startup > UEFI/Legacy Boot: Set to UEFI Only and CMS Support to No,

Bios Startup UEFI

  • Startup > Boot: Set the USB Key as first boot device.

Bios Boot Order

  • Security > Security Chip: you can also disable security chip (Intel )

Now save bios settings. The computer should restart and boot on the USB Key.

USB Boot on Clover Clover r4703 being used here, along with High Sierra 10.13.1 installer

Now, let’s try to install MacOS on our T460.

MacOS Setup

Boot on Clover

On first boot from the USB Key, I got a reboot loop. Basically, the USB loads the installer for a few minutes, then the machine reboots unexpectedly. To solve this, I had to change the config.plist being used by Clover:

  • Select Clover Boot Options,

Clover Options

  • Configs: Select configNoSKL (injects a fake Intel GPU Id to disable acceleration) and press spacebar to change the selection,

Clover Options NoSKL

  • Args: Set -v for verbose mode.

The boot should take a few minutes to reach the languages panel.

MacOS Language Selection Yay! Installer is finally booting.

During the installation procedure, the laptop will reboot several times. If you selected configNoSKL during the first boot, make sure to use it again during each reboot to avoid a Kernel Panic (And an unexpected reboot). This injects a bogus graphics device ID 0x12345678.

Formatting Disk

My disk had Windows 10 already installed. I could only wipe partitions but not rearrange the disk partitioning. That was basically useless. I had to do it manually:

Formatting Disk to MacOS Extended Journaled

  • Launch Terminal from top Utilities menu,
  • run diskutil list to see all disks. Your ssd disk should be disk0,
  • format the disk to MacOS Extended (Journaled) by using the command:
diskutil eraseDisk JHFS+ macOS disk0

It should take a few seconds until done. This will create 2 partitions on the disk:

  • EFI Partition: this one is hidden and contains the UEFI boot files,
  • MacOS Partition: this is where the operating system is going to be installed.

MacOS Disk GUID formatted

The SSD disk is formatted using GUID Partition Map. Now, we’re ready to install MacOS on the disk.

Installing MacOS

MacOS Install Select Disk Select the target disk where to install

Make sure to select your HDD / SSD as the location where to install the operating system. Here I’ve selected the macOS disk.

Installing MacOS Install is in progress.

At this point, MacOS will install itself on the system. MacOS will reboot several times during the installation process. If you had to select Clover confignoSKL configuration, make sure to select it again on each reboot otherwise the computer may not continue the installation.

MacOS Installation Finished Once install is finished, boot on the macOS disk where the OS is installed

Finalizing Installation

Once rebooted on the disk where MacOS has been installed, there are a few more steps to complete:

  • Select language,
  • Create an account with username and password,
  • Connect to a MAC account.

As an internet connection may not be possible (because both wifi and ethernet may not work yet), skip any step asking to connect to an online account. I suggest you to disable telemetry sent to Apple too.

MacOS Account Nothing to transfer!

MacOS Account Disable MAC Analytics

And here we are…

MacOS Account MacOS is installed!

But things are quite broken yet:

  • Most Hardware is not working: I’m talking about power management, graphical acceleration and more. We have a bit of work to get things operational,
  • Disk is not Bootable: for now, we have always booted for the USB disk. We need to install Clover on the main disk EFI partition to make it bootable on our PC.

If you thought you would be finished at this step, you’re wrong! There is still quite a bit of work to make this T460 run smoothly on MacOS. Let’s go!

Post Setup

Clover BootLoader

The next step is to install Clover Bootloader on the system disk where we installed macOS. Why? Because for now, only the USB Disk allows us to boot onto macOS. What is Clover?

Clover is a tool to boot macOS on ordinary PCs. It tricks macOS into thinking your PC is a macbook / iMac.

Clover BootLoader Setup

  1. Download Clover Bootloader,
  2. Execute the downloaded package,
  3. Select Change Install Location,
  4. Select the disk where you installed macOS,
  5. Select Customize and check Install for EFI Booting only and Install Clover in ESP,
  6. In Drivers64UEFI, select OSCAptioFixDrv64 to fix common memory management issues (like macOS non booting at very early stage),
  7. Install.

Another driver worth considering is APFS EFI driver. By default, macOS High Sierra converts your macOS Journaled system partition to the new APFS filesystem if you install it on an SSD. APFS is a filesystem optimized for Solid State Drives. If you don’t want to use APFS, you can opt out APFS when building the USB installer.

Once Clover is installed on your main disk, we need to transfer important Clover settings from the USB key to the main disk EFI partition. Remember what EFI is the new way to boot your system (instead of Legacy Bios Boot).

Clover Configuration

Let me first explain the different folders Clover contains before going any further:

  • ACPI: contains an origin and patched folder. ACPI is a bridge between your PC hardware and the operating system. It tells the operating system how to use the underlying hardware. Clover allows you to patch your ACPI tables to fix commons issues like Brightness Control or CPU Power Management. This is an advanced feature only for people who know what they are doing. Rehabman has done an incredible work releasing many ACPI Patches for laptops,

  • drivers64UEFI: contains important low level drivers like ApfsDriverLoader-64.efi to support APFS filesystem, AptioMemoryFix-64.efi to fix low level memory allocation or HFSPlus.efi to support HFS filesystem. Depending on your system, you may need different drivers to be able to boot the USB installer,

  • kext: MacOS Kernel extensions are like Windows Drivers for specific hardware like VoodooHDA.kext which supports PS2 Keyboard and touchpad, or WhatEverGreen which supports various Intel, Nvidia and AMD graphic cards. Usually placed in Other folder, those kexts are loaded by Clover during boot to ensure your hardware runs fine on macOS. It’s a good practice to leave only the minimum necessary kext in kext/Other and install others in the system disk in /System/Library/Extensions or /Library/Extensions (the later is preferred for non-Apple kernel extensions),

  • config.plist: Clover configuration file is the heart of Clover. It’s an XML configuration file which details the patches to apply to ACPI, flags to boot the system, which apple system to simulate and many more. Each config.plist is specific to a given PC, that means you cannot take a config.plist from another computer and hope it will work fine on yours. Again, Rehabman provides an number of preconfigured config plist files for laptops, mostly with intel graphics.

I’m glad @tluck from InsanelyMac provided all those configuration files for the T460 out of the box, along with a complete guide explaining how to install it.

Here is a sample config.plist:

<?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>DSDT</key>
		<dict>
			<key>Fixes</key>
			<dict>
				<key>FIX_RTC_20000</key>
				<true/>
				<key>FIX_TMR_40000</key>
				<true/>
				<key>FixHPET_0010</key>
				<true/>
				<key>FixIPIC_0040</key>
				<true/>
				<key>FixRegions_10000000</key>
				<true/>
				<key>FixShutdown_0004</key>
				<false/>
				<key>NewWay_80000000</key>
				<true/>
			</dict>
			<key>Patches</key>
			<array>
				...
			</array>
		</dict>
		<key>DropTables</key>
		<array>
			<dict>
				<key>Signature</key>
				<string>DMAR</string>
			</dict>
		</array>
		<key>HaltEnabler</key>
		<false/>
		<key>ResetAddress</key>
		<string>0x0CF9</string>
		<key>ResetValue</key>
		<string>0x06</string>
		<key>SSDT</key>
		<dict>
			<key>DropOem</key>
			<false/>
			<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>macOS</string>
		<key>IgnoreNVRAMBoot</key>
		<false/>
		<key>Log</key>
		<false/>
		<key>NeverHibernate</key>
		<true/>
		<key>NoEarlyProgress</key>
		<true/>
		<key>Secure</key>
		<false/>
		<key>Timeout</key>
		<integer>3</integer>
	</dict>
	<key>CPU</key>
	<dict>
		<key>HWPEnable</key>
		<true/>
		<key>UseARTFrequency</key>
		<false/>
	</dict>
	<key>Devices</key>
	<dict>
		<key>Audio</key>
		<dict>
			<key>Inject</key>
			<integer>28</integer>
		</dict>
		<key>FakeID</key>
		<dict>
			<key>IntelGFX</key>
			<string>0x0000</string>
		</dict>
		<key>Properties</key>
		<dict>
			<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
			<dict>
				...
			</dict>
		</dict>
		<key>USB</key>
		<dict>
			<key>AddClockID</key>
			<false/>
			<key>FixOwnership</key>
			<false/>
			<key>Inject</key>
			<false/>
		</dict>
	</dict>
	<key>GUI</key>
	<dict>
		<key>Custom</key>
		<dict>
			<key>Comment</key>
			<string>Windows Entries</string>
			<key>Entries</key>
			<array>
				<dict>
					<key>FullTitle</key>
					<string>Boot Windows 10</string>
					<key>Type</key>
					<string>Windows</string>
					<key>Volume</key>
					<string>Insert Windows Disk EFI Partition GUID here</string>
				</dict>
			</array>
		</dict>
		<key>Mouse</key>
		<dict>
			<key>Enabled</key>
			<false/>
		</dict>
		<key>Scan</key>
		<dict>
			<key>Entries</key>
			<true/>
			<key>Legacy</key>
			<false/>
			<key>Tool</key>
			<true/>
		</dict>
		<key>ScreenResolution</key>
		<string>1920x1080</string>
		<key>Theme</key>
		<string>ThinkPad</string>
	</dict>
	<key>Graphics</key>
	<dict>
		<key>Inject</key>
		<dict>
			<key>Intel</key>
			<false/>
		</dict>
	</dict>
	<key>KernelAndKextPatches</key>
	<dict>
		<key>AppleRTC</key>
		<true/>
		<key>AsusAICPUPM</key>
		<false/>
		<key>KernelLapic</key>
		<false/>
		<key>KernelPm</key>
		<true/>
		<key>KernelToPatch</key>
		<array>
			<dict>
				<key>Comment</key>
				<string>MSR 0xE2 _xcpm_idle instant reboot(c) Pike R. Alpha</string>
				<key>Disabled</key>
				<true/>
				<key>Find</key>
				<data>
				ILniAAAADzA=
				</data>
				<key>Replace</key>
				<data>
				ILniAAAAkJA=
				</data>
			</dict>
		</array>
		<key>KextsToPatch</key>
		<array>
			...
		</array>
	</dict>
	<key>RtVariables</key>
	<dict>
		<key>BooterConfig</key>
		<string>0x28</string>
		<key>CsrActiveConfig</key>
		<string>0x67</string>
	</dict>
	<key>SMBIOS</key>
	<dict>
		<key>ProductName</key>
		<string>MacBookPro13,1</string>
		<key>Trust</key>
		<true/>
	</dict>
	<key>SystemParameters</key>
	<dict>
		<key>InjectKexts</key>
		<string>Detect</string>
	</dict>
</dict>
</plist>

Not usable as is, it’s just an example.

Learning how to properly your config.plist is a daunting task. That’s why having someone experienced having it done for you is crucial. Hackintosh GitBook is a good start.

For the next steps, simply follow the T460 Guide.

Issues and Solutions

Wifi

Intel Wifi cards will never work on macOS. Apple doesn’t support them and will never (has been like this for years). The only way to have working Wifi is to replace the Wifi card. Fortunately, that’s simple:

  1. Buy Broadcom bcm94352z m.2 wifi card: it’s compatible with the T460,
  2. Replace the wifi card thanks to this video tutorial:
  1. Install the following kernel extensions (in Clover kexts/Other or in /Library/Extensions):

The config.plist provided by tluck also contains several Kernel Extensions patches to support the broadcom wifi card. Once those kext installed, the wifi card should appear in network configuration. You should be able to connect to your wifi network.

Intel HD Graphics 7Mb

On my T460, I could only boot with config.noSKL.plist. In this configuration, clover injects a fake Intel Platform ID (0x12345678) which causes the intel graphics card not to be recognized properly. To fix this issue:

  1. Use the config.plist as an example, which uses WhatEverGreen instead of IntelGraphicsFixUp. WhatEverGreen now handles most graphic patches. It contains the Devices properties to fix DVMT memory (32MB on the T460, while macOS requires 64MB min),
  2. Reboot.

The Intel HD 520 of my i7 6600u was not properly recognized with 2048MB Video RAM and QE/CI was enabled (Quartz Extreme / Core Image). Without video acceleration, your hackintosh will feel laguish and graphically slow.

High DPI Fix

The T460 uses a 14 inches Full HD IPS Panel (1920x1080 resolution). By default, macOS doesn’t detect it as a High DPI Panel. The problem is: the display is really small and the resolution is pretty high. Text is very difficult to read. Scaling down the resolution? No way, the display will be blurry.

The solution? Using One Key High DPI. This tool enables High DPI scaling on non-high DPI screens. This way, you can increase the whole Operating system scale without changing the resolution. It’s much better this way!

Keyboard Layout

As I’m using a french keyboard, the right one was French Numerical - PC. This way all the keys with Alt Gr were mapped properly.

Personal Experience

This T460 has been configured and installed for a friend who needed a replacement for his mid 2009 MacBook Pro 13 inches. Despite being upgraded with an SSD and 8GB RAM, the core 2 duo powered macbook was hitting his limits.

He first tried a brand new 2018 macbook pro 15 inches. After using it for a month with multiple issues (freezes, keyboard not working properly), he fought with the Apple store to get a total refund. The experience with this expensive macbook wasn’t matching what he expected at that price. He asked if there was an alternative to Apple Hardware. And indeed there is!

I’ve first scoured hackintosh forums for viable hackintosh laptops. After selecting a few, I’ve submitted him my findings to see which would fit him best. The T460 perfectly met his needs:

  • A compact machine with a good battery life (up to 10h+ with double battery),
  • Powerful: powered by an i7 6600u, this CPU is more than enough for his tasks (occasional writing and web browsing),
  • 16GB RAM: plenty of room to run heavier programs like video editing (which was impossible on his old macbook),
  • 512GB SSD: the least he needed to store his iTunes music library.

The T460 also features a water spill resistant keyboard and meets several military specs. I expect it to last at least as long as his old 2009 macbook pro! While the T460 is much less esthetical than the macbook pro, thanks to the tutorials found on hackintosh forums, the install went almost flawlessly.

I wouldn’t recommend to go for an unknown laptop and expect it to run macOS properly unless you are experienced enough to patch ACPI tables yourself. Needless to say it’s something difficult if not impossible if you don’t have extended knowledge in computer hardware.

Laptops are inherently more difficult to run macOS because of power management. If you can, better choose a conventional PC with compatible hardware. As a side note, don’t expect any hackintosh to work as flawlessly as an original Macbook or iMac. Altough a compatible machine will only encounter minor issues, some things like Brightness Control not working can be annoying.

Still, if you like to learn new things, then trying to install macOS on a traditional PC is a good (but hard) way to extend your hardware and operating system installation knowledge.

And you, have you had any successful experience with macOS on a laptop?

By - CTO.
Tags: Thinkpad T460 Macos High Sierra

Comments

 

Thank you

Your comment has been submitted and will be published once it has been approved.

OK

OOPS!

Your post has failed. Please return to the page and try again. Thank You!

OK