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 级现实重构等。
Specifications | Details |
---|---|
Computer Model | Lenovo LEGION Y9000X (2020) |
CPU | Intel Core i9-9980H |
Memory | DDR4 2666 Mhz. 2x16 GB |
NVMe SSD | Manually switch to PLEXTOR PX-1TM9PGN+ 1024GiB |
Integrated Graphics | Intel UHD Graphics 630 |
Wireless Card | Manually change to BCM94354Z |
Feature | Status | Dependency | Remarks |
---|---|---|---|
Fingerprint Reader 指纹识别 |
❌ | Disabled using both SSDT & USB Mapping 已通过 SSDT 和 USB 定制禁用 |
TouchID is not supported in Hackintosh 黑苹果不支持 TouchID |
Audio playback through speaker 通过扬声器播放音频 |
✅ | Y9000X 的扬声器连接在一个无法驱动的功率放大器上 |
Feature | Status | Dependency | Remarks |
---|---|---|---|
Full Graphics Accleration (QE/CI) 图形硬件加速 |
✅ | WhateverGreen.kext |
|
Audio Recording 麦克风录音 |
✅ | AppleALC.kext |
|
Audio Playback through 3.5mm 通过 3.5mm 接口播放音频 |
✅ | AppleALC.kext |
|
Automatic Headphone Output Switching 当插入耳机时自动切换音频输出 |
✅ | AppleALC.kext |
|
Audio playback through speaker 通过扬声器播放音频 |
✅ | ALCPlugFix-Swift | 开机、睡眠唤醒、插拔 3.5mm 耳机接口时自动执行扬声器功率放大器供电指令 |
Feature | Status | Dependency | Remarks |
---|---|---|---|
Battery Percentage Indication 电量百分比显示 |
✅ | Native supported without patching 原生支持,无需补丁 |
|
CPU Power Management (SpeedShift) CPU 电源管理 |
✅ | SSDT-XCPM |
Use MacBookPro16,4 for beter power management使用 MacBookPro16,4 机型以获得更好的电源管理 |
NVMe Drive Battery Management NVMe 硬盘电源管理 |
✅ | NVMeFix.kext |
|
S3 Sleep / Hibernation Mode 3 S3 睡眠 / Mode 3 休眠 |
✅ | SSDT-SLEEP |
|
Hibernation Mode 25 Mode 25 休眠 |
✅ | HibernationFixup.kext |
Works on my machine. Report an issue if you have encountered any issue. 测试成功。如果你在休眠时遇到问题,请反馈给我 |
Battery Life | ASPM | WIP (仍在实现中) |
Feature | Status | Dependency | Remarks |
---|---|---|---|
WiFi | ✅ | AirportFixup.kext |
Suggest to switch Broadcom based card 推荐更换博通无线网卡 |
Bluetooth | ✅ | BrcmPatchRAM.kext |
Suggest to switch Broadcom based card 推荐更换博通无线网卡 |
USB 2.0, USB 3.0, SD Card Reader | ✅ | USBMap.kext |
|
USB 3.1 | ✅ | SSDT-TB3 |
Hotplug fully supported 支持全功能热插拔 |
USB Power Properties in macOS macOS 的 USB 电源属性 |
✅ | SSDT-XHC1-USBX |
|
Thunderbolt 3 Hotplug 雷电接口热插拔 |
SSDT-TB3 |
Thunderbolt Driver 和认证可能不加载;雷电固件可能不识别 |
Feature | Status | Dependency | Remarks |
---|---|---|---|
Brightness Adjustments 亮度调节 |
✅ | WhateverGreen.kext , SSDT-PNLF , AppleBacklightSmoother.kext |
|
HiDPI | ✅ | Natively enabled on UHD screen 在 UHD 4K 屏幕上原生启用 |
|
TrackPad | ✅ | VoodooI2C*.kext , SSDT-TPXX |
All gesture avaliable 全部手势可用 |
Built-in Keyboard | ✅ | Native supported 内置键盘免驱 |
|
Fn Keys Fn 功能键 |
✅ | Native supported 内置键盘免驱 |
- dortania's OpenCore Install Guide
- dortania's OpenCore Post Install Guide
- dortania Getting Started with ACPI
- dortania opencore multiboot
- WhateverGreen Intel HD Manual
Configuration.pdf
andDifferences.pdf
in each OpenCore releases.- daliansky/OC-little
- OpenCore 简体中文参考手册 (非官方)
No seriously, PLEASE read those.
务必阅读上述参考资料
- A macOS machine (optional): to create the macOS installer and build the EFI. 一台已经安装好 macOS 的机器,用于制作 macOS 安装器和编译本项目
- Flash drive, 12GB or more, for the above purpose. 一个容量大于等于 12 GiB 的 U 盘
- ProperTree to edit plist files on Windows. 编辑 plist 文件的工具 ProperTree
- MaciASL for patching ACPI tables and editing ACPI patches. 用于修补和编辑 ACPI 的工具 MaciASL
- MountEFI to quickly mount EFI partitions under macOS. 在 macOS 下挂载 EFI 分区的工具 MountEFI
- IORegistryExplorer for diagnosis. 用于诊断的 IORegistryExplorer
- HackinTool for diagnosis ONLY. Most of the built-in patches are outdated. 仅用于 诊断的 HackinTool,大部分内置的补丁和工具已经过时、不再适用
- Patience and time, especially if this is your first time Hackintosh-ing. 耐心和时间。如果你是第一次进行黑苹果,这尤为重要
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
}
})
}
}
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
, installitlwm
, and remove DeviceProperties ofPciRoot(0x0)/Pci(0x1D,0x5)/Pci(0x0,0x0)
.
如果你执意使用原装的 Intel AX200,你需要手动禁用AirportFixup
&BrcmPatchRAM
等 Kext、安装itlwm
,并去除PciRoot(0x0)/Pci(0x1D,0x5)/Pci(0x0,0x0)
节点下的设备属性。
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。
- Secure Boot:
DISABLED
- Intel SGX Control:
DISABLED
- UEFI/Legacy Boot:
UEFI Only
- CSM Support:
DISABLED
(If applicable) - Thunderbolt(TM) Device Preboot Support:
DISABLED
(If applicable)
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 直接修改,但是这些设置可以通过 这个工具 修改。
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 信息保存在一个安全的位置!
# 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
.
├── 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.
Donating to this project is OPTIONAL. But feel free to buy me a coffee if you appreciate my works.
捐赠本项目 并不是必需的。但是如果我的项目对你有所帮助,为什么不考虑一下给我买杯咖啡呢?
Lenovo-Y9000X-Hackintosh © Sukka, Released under the GPL-3.0 License.
Authored and maintained by Sukka with help from contributors (list).
Personal Website · Blog · GitHub @SukkaW · Telegram Channel @SukkaChannel · Twitter @isukkaw · Keybase @sukka