kk1987 / T480s-hackintosh

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Introduction


NOTE - this repo is mainly for the T480s. I have another repo https://github.com/kk1987/P52s-hackintosh created for a P52s which might be a better reference for P52s/T580/T480 due to the hardware similarity (most notably T480s seems to use a different TrackPad/TrackPoint implementation.)


This repo is my notes and configuration files for my hackintosh (10.14-10.14.1 Mojave) installation on a Thinkpad T480s. It's originally posted at https://www.tonymacx86.com/threads/success-macos-10-14-on-thinkpad-t480s.261318/.

The Clover files in this repo (config.plist + ACPI/patched/ + kexts/Other/ + drivers64UEFI) in theory should boot macOS 10.14, installer or post-install, on any T480s. It may work on similar laptops like T480/T580/P52s too. There's absolutely zero guarantee though, since I never tested on a different machine. Verified working on my P52s.

For initial booting, it might be necessary to inject an invalid ig-platform-id like 0x12344321. Subsequent boots should be fine without.

Basic Info

Hardware (OEM):

  • i5 8250U CPU, Intel UHD 620 (no dGPU)
  • 1080p screen w/ touch (IVO R140NWF5 R6, w/ ELAN USB touchscreen built-in)
  • Realtek ALC3287 ("ALC257")
  • Intel Ethernet I219-V
  • Synaptics TrackPoint + ELAN TrackPad
  • Synaptics Fingerprint Reader

Hardware (upgraded/replaced):

  • 24GB RAM (8G onboard + 16G SODIMM, DDR4)
  • ADATA SX8200 960GB NVMe SSD
  • BCM94352Z M.2 WiFi + BT (card is E-key while mobo slot is A-key; mechanically modified with knife/file to fit)

UEFI Settings:

  • Current: UEFI Firmware version 1.26
    • "Thunderbolt BIOS Assist": disable (default) to make front type-C port work in macOS; enable to reduce idle power consumption in Linux
  • Static / partial-hotpatch ACPI files before d6dd12a were patched against UEFI version 1.25, all ports/devices enabled (default), and "Thunderbolt BIOS Assist" enabled

Partitioning & other OSes:

I did a tri-boot setup with installation order as follows:

  • macOS -> Windows 10 -> Arch Linux (Antergos)

Status

Working

  • most features do work
    • Keyboard & TrackPoint/TrackPad (as mouse)
    • Ethernet, WiFi, Bluetooth
    • Screen brightness & brightness shortcut keys
    • Basic audio including speaker, internal mic, headphone jack
    • Touchscreen
    • Camera
    • Card reader
    • All USB ports
    • HDMI video port, with audio
    • USB type-C video output, with audio
    • Sleep/resume (takes 25-30s to sleep)
    • Thunderbolt (as long as you didn't enable "Thunderbolt BIOS Assist")

Limited functionality

  • HID: No multi-touch/scrolling; both TrackPad and TrackPoint function as PS/2 mouse
  • Audio
    • (I don't see why it's ever needed but) there's no external mic support
    • "out of the box" headphone sound may be glitchy. Disabling "Use ambient noise reduction" in Settings -> Sound -> Input seems to fix this
    • DP/HDMI audio output via USB type-C: it works, but compatibility may be limited. I have an Apple type-C to HDMI adapter that works, and a StarTek type-C to DP cable that doesn't. Both work on a real MacBook, obviously
    • Alternatively, VoodooHDA can be used. It supports enternal mic via combo jack (without auto-switching) but doesn't support HDMI audio. Configuration in Info.plist need to be updated with iGain=0, PCM=100, Rec=50
  • Display
    • HiDPI can be enabled using https://github.com/xzhih/one-key-hidpi but there will be the glitch-after-wake issue, which cannot be solved by the EDID patching provided by one-key-hidpi script (the patch sets panel depth as 8-bit and will cause a blank screen on boot on my FHD touch panel)

Not Working / Untested

  • Fingerprint reader (no driver)
  • BT Handover etc. (untested)

Clover UEFI Setup

Clover

  • Verified working with sf.net versions r4658, r4674

drivers64UEFI

  • ApfsDriverLoader-64
  • NvmExpressDxe-64
  • AptioMemoryFix-64 (or OsxAptioFixDrv-64 + EmuVariableUefi-64)

config.plist

  • (archived in this repo)

kexts

I put all extra kexts under EFI/CLOVER/kexts/Other.

  • FakeSMC (w/ all plugins), for Hackintosh to boot
  • ACPIBatteryManager, for battery status
  • AppleBacklightFixup, for brightness
  • AppleALC + CodecCommander, for audio
  • Lilu, for various stuff below to work
  • WhateverGreen, for iGPU
    • See Devices/Properties patches in config.plist (set ig-platform-id & device-id + patch for 32MB DVMT-prealloc)
  • USBInjectAll, for USB ports
    • Touchscreen, Bluetooth etc. won't work without this
    • See SSDT-UIAC.dsl for machine-specific patch
  • VoodooPS2Controller, for keyboard/touchpad/trackpad
  • IntelMausiEthernet, for Ethernet
  • AirportBrcmFixup, for WiFi; BrcmFirmwareData + BrcmPatchRAM2, for Bluetooth
    • Refer to toledo's guide

ACPI Patching

  • Based on RehabMan's guide
  • Current: "Full Hotpatch" configuration (most SSDTs taken from linusyang92's repo)
  • Commit a95dec1: "Partial Hotpatch" configuration (patched DSDT & add-on SSDTs in ACPI/patched)
    • This likely won't work with different hardware specs, or even different UEFI versions/settings
    • See git changelog for details. (Mostly just FYI which patches are needed)

About


Languages

Language:C++ 74.2%Language:C 25.3%Language:Shell 0.3%Language:Assembly 0.2%