Home

Awesome

<div align="center"> <img src="https://pic.skk.moe/file/sukkaw/gh/y9000x-hackintosh-banner.png" width="350px"> </div> <h1 align="center">Lenovo LEGION Y9000X 2020 Hackintosh</h1> <h3 align="center">联想拯救者 Y9000X 2020 黑苹果 OpenCore 引导配置</h3> <br>

Disclaimer / 免责声明

Your warranty is now void. Please do some research if you have any concerns before utilizing my project. I am not responsible for any loss, including but not limited to Kernel Panic, device fail to boot or can not function normally, storage damage or data loss, atomic bombing, World War III, The CK-Class Restructuring Scenario that SCP Foundation can not prevent, and so on.

你的保修将完全失效。如果您有任何疑虑,请在使用我的项目之前先进行一些研究。我对任何损失均不负责,包括但不限于 Kernel Panic、设备无法启动或无法正常工作、硬件损坏或数据丢失、原子弹爆炸、第三次世界大战、SCP 基金会无法避免的 CK 级现实重构等。

Hardware Specifications / 硬件配置

SpecificationsDetails
Computer ModelLenovo LEGION Y9000X (2020)
CPUIntel Core i9-9980H
MemoryDDR4 2666 Mhz. 2x16 GB
NVMe SSDManually switch to PLEXTOR PX-1TM9PGN+ 1024GiB
Integrated GraphicsIntel UHD Graphics 630
Wireless CardManually change to BCM94354Z

Working & Not Working / 可用与不可用的功能

Non-Fuctional / 不工作

FeatureStatusDependencyRemarks
Fingerprint Reader<br>指纹识别Disabled using both SSDT & USB Mapping<br>已通过 SSDT 和 USB 定制禁用TouchID is not supported in Hackintosh<br>黑苹果不支持 TouchID
Audio playback through speaker<br>通过扬声器播放音频Y9000X's Speaker is connected to an unsupported Power Amplifier<br>Y9000X 的扬声器连接在一个无法驱动的功率放大器上 已支持,参见下文

Video and Audio / 音频与视频

FeatureStatusDependencyRemarks
Full Graphics Accleration (QE/CI)<br>图形硬件加速WhateverGreen.kext
Audio Recording<br>麦克风录音AppleALC.kext
Audio Playback through 3.5mm<br>通过 3.5mm 接口播放音频AppleALC.kext
Automatic Headphone Output Switching<br>当插入耳机时自动切换音频输出AppleALC.kext
Audio playback through speaker<br>通过扬声器播放音频ALCPlugFix-Swift开机、睡眠唤醒、插拔 3.5mm 耳机接口时自动执行扬声器功率放大器供电指令

Power, Charge, Sleep and Hibernation / 电源管理、充电、睡眠、休眠

FeatureStatusDependencyRemarks
Battery Percentage Indication<br>电量百分比显示Native supported without patching<br>原生支持,无需补丁
CPU Power Management (SpeedShift)<br>CPU 电源管理SSDT-XCPMUse MacBookPro16,4 for beter power management<br>使用 MacBookPro16,4 机型以获得更好的电源管理
NVMe Drive Battery Management<br>NVMe 硬盘电源管理NVMeFix.kext
S3 Sleep / Hibernation Mode 3<br>S3 睡眠 / Mode 3 休眠SSDT-SLEEP
Hibernation Mode 25<br>Mode 25 休眠HibernationFixup.kextWorks on my machine. Report an issue if you have encountered any issue.<br>测试成功。如果你在休眠时遇到问题,请反馈给我
Battery Life⚠️ASPMWIP (仍在实现中)

Input & Output

FeatureStatusDependencyRemarks
WiFiAirportFixup.kextSuggest to switch Broadcom based card<br>推荐更换博通无线网卡
BluetoothBrcmPatchRAM.kextSuggest to switch Broadcom based card<br>推荐更换博通无线网卡
USB 2.0, USB 3.0, SD Card ReaderUSBMap.kext
USB 3.1SSDT-TB3Hotplug fully supported<br>支持全功能热插拔
USB Power Properties in macOS<br>macOS 的 USB 电源属性SSDT-XHC1-USBX
Thunderbolt 3 Hotplug<br>雷电接口热插拔⚠️SSDT-TB3Thunderbolt Driver 和认证可能不加载;雷电固件可能不识别

Display, TrackPad and Keyboard / 显示器、触摸板和键盘

FeatureStatusDependencyRemarks
Brightness Adjustments<br>亮度调节WhateverGreen.kext, SSDT-PNLF, AppleBacklightSmoother.kext
HiDPINatively enabled on UHD screen<br>在 UHD 4K 屏幕上原生启用
TrackPadVoodooI2C*.kext, SSDT-TPXXAll gesture avaliable<br>全部手势可用
Built-in KeyboardNative supported<br>内置键盘免驱
Fn Keys<br>Fn 功能键Native supported<br>内置键盘免驱

Refrence / 必读参考资料

No seriously, PLEASE read those.

务必阅读上述参考资料

Requirement / 需求和依赖

Basic / 基本需求

Hardware Modification / 硬件修改

SSD

Samusung PM981 is not supported AT ALL. Make sure to switch at least one SSD and diable another PM981 (if exists) with SSDT.

三星 PM981 完全 无法使用,务必更换至少一块 SSD 硬盘,并通过 SSDT 屏蔽另外一块 PM981(如果存在的话)。

DefinitionBlock ("", "SSDT", 2, "SUKA", "DNVM", 0x00000000)
{
    External (_SB_.PCI0.RP09.PXSX, DeviceObj) // SSD1
    // External (_SB_.PCI0.RP21.PXSX, DeviceObj) // SSD2

    Method (_SB.PCI0.RP09.PXSX._DSM, 4, NotSerialized) // SSD1
    // Method (_SB.PCI0.RP21.PXSX._DSM, 4, NotSerialized) // SSD2
    {
        If (!Arg2)
        {
            Return (Buffer (One)
            {
                 0x03
            })
        }

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

Wireless Card / 无线网卡

Although OEM Intel AX200 is now supported by itlwm, but it is still recommended to use Broadcom Wireless card for BETTER (I mean, 100x FASTER!) performance.

虽然原装的 Intel AX200 已经可被 itlwm 驱动,但是仍建议使用博通无线网卡以获得 更好 的性能(更好,指速度快 100 倍)和 更好 的兼容性(itlwm.kext 不支持连接 WPA/3 Enterprise、Airportitlwm.kext 不支持连接隐藏 SSID)。

If you want to stick to Intel AX200, you have to manually disable AirportFixup & BrcmPatchRAM, install itlwm, and remove DeviceProperties of PciRoot(0x0)/Pci(0x1D,0x5)/Pci(0x0,0x0).<br> 如果你执意使用原装的 Intel AX200,你需要手动禁用 AirportFixup & BrcmPatchRAM 等 Kext、安装 itlwm,并去除 PciRoot(0x0)/Pci(0x1D,0x5)/Pci(0x0,0x0) 节点下的设备属性。

Update or Downgrade BIOS Version / 升级或降级 BIOS

Certain version of BIOS firmware is recommended to be used. For now it is recommented to use BIOS v1.05 (CTEC20WW) as latest BIOS v1.06 (CTEC21WW) is COMELETELY A PIECE OF MESSY SH*T.

Enable Backflash settings inside BIOS and you will be able to downgrade the BIOS through installer under Windows directly.

推荐使用特定版本的 BIOS 以获得最佳的使用体验。目前为止,最推荐 BIOS 版本是 v1.05 (CTEC20WW),因为最新版的 BIOS v1.06 (CTEC21WW) 简直就是 一大坨「脏话删除」

在 BIOS 中启用 Backflash 后,即可在 Windows 下通过 BIOS 安装器降级 BIOS 版本。

Download BIOS at Lenovo Support Website. 从联想支持网站下载 BIOS。

BIOS Settings / 修改 BIOS 设置

Patching Firmware Settings / 修改固件设置

Although settings like CFG Lock and Thunderbolt Security Level is not avaliable under BIOS, it is possible to modify them without UEFI Shell or BIOS patching by using this tool.

虽然 CFG Lock、雷电接口安全级别等设置不可通过 BIOS 直接修改,但是这些设置可以通过 这个工具 修改。

Other Information / 其它信息

How to build EFI / 如何编译本 EFI

There is no prebuilt version of EFI avaliable YET, and it is only able to build under macOS. Use a virtual machine or action-tmate if you have to.

本 EFI 暂时不提供 预编译版本,并且编译必须在 macOS 下进行。如有必要,请使用虚拟机、或通过 action-tmate 将 GitHub Action 作为 macOS VPS 使用。

Use following command to build the EFI.

使用下述指令编译 EFI:

git clone https://github.com/SukkaW/Lenovo-Y9000X-Hackintosh
cd Lenovo-Y9000X-Hackintosh
chmod +x **/*.sh
./build.sh

Find generated EFI under Output folder. Find OpenCore config at Output/EFI/OC/config_sample.plist and fill in your own SMBIOS (Follow the guide, use model MacBookPro16,4) then rename config_sample.plist to config.plist.

你可以在 Output 目录下找到生成的 EFI。OpenCore 配置文件路径为 Output/EFI/OC/config_sample.plist,你需要自行生成 SMBIOS 信息(遵循 这篇教程 的步骤,使用机型 MacBookPro16,4)并填入配置文件中,然后将 config_sample.plist 重命名为 config.plist


Use following command to update and rebuild the EFI from upstream.

使用下述指令从上游更新和重新编译 EFI:

cd Lenovo-Y9000X-Hackintosh
git pull --rebase
chmod +x **/*.sh
./build.sh

Everytime you rebuilt the EFI you have to fill in the SMBIOS again. So keep your SMBIOS info saved in a safe place!

每次重新编译 EFI 后你都需要重新填入一次 SMBIOS 信息,所以务必将你的 SMBIOS 信息保存在一个安全的位置!

How to fix Y9000X's speaker / 如何修复 Y9000X 的扬声器

# Clone the repo first if you haven't done so.
# git clone https://github.com/SukkaW/Lenovo-Y9000X-Hackintosh
cd Lenovo-Y9000X-Hackintosh
git pull --rebase
chmod +x **/*.sh
./Audio/install-alcplugfix-swift.sh

Directories Structure / 项目目录结构

.
├── ACPI
│   ├── OEM_DSDT # The original DSDT dissembled from OEM BIOS
│   └── SSDT
│       ├── DSL # SSDT source dsl files
│       └── build_acpi.sh # dsl files build script
├── Audio
├── Config
│   └── config_sample.plist # Sample config.plist
├── Kexts
│   ├── Local # Kexts files where there is no way to be downloaded
│   │   ├── ThunderboltReset.kext
│   │   ├── USBMap.kext
│   │   └── XHCI-unsupported.kext
│   └── download_kexts.sh # Use the script to download the rest of the kexts
├── LICENSE
├── OpenCore
│   ├── OldSample.plist # The curent version of OpenCore sample. Used to diff the configuration when update OpenCore to a newer version 
│   └── oc.sh # Script uesd to download OpenCorePkg and construct EFI folder
├── README.md # The file you are currently reading
└── build.sh # Overall build script, will call all the scripts mentioned above.

Donation / 捐赠

Donating to this project is OPTIONAL. But feel free to buy me a coffee if you appreciate my works.

捐赠本项目 并不是必需的。但是如果我的项目对你有所帮助,为什么不考虑一下给我买杯咖啡呢?

爱发电 | Patreon

Maintainer / 维护者

Lenovo-Y9000X-Hackintosh © Sukka, Released under the GPL-3.0 License.<br> Authored and maintained by Sukka with help from contributors (list).

Personal Website · Blog · GitHub @SukkaW · Telegram Channel @SukkaChannel · Twitter @isukkaw · Keybase @sukka