# Tập hợp các tệp tin

Phần này dành cho việc gom nhặt mấy file linh tinh để boot macOS, mình kỳ vọng bạn đã nắm rõ phần cứng của mình trước khi bắt đầu nha. Hy vọng bạn đã từng nghiên cứu Hackintosh rồi vì ở đây mình sẽ không đi sâu vào chi tiết đâu.

Làm sao biết phần cứng của mình có được hỗ trợ hay không?

Đọc trang Giới hạn phần cứng để hiểu rõ hơn yêu cầu phần cứng của macOS, việc hỗ trợ phần cứng giữa Clover và OpenCore khá là tương đồng.

Có cách nào để biết mình đang có phần cứng gì không?

Đọc trang trước đó: Tìm hiểu phần cứng của bạn

# Trình điều khiển vi chương trình

Trình điều khiển vi chương trình (Firmware drivers) là các driver được OpenCore sử dụng trong môi trường UEFI. Tụi nó cần thiết để khởi động máy, hoặc bằng cách mở rộng khả năng vá lỗi của OpenCore hoặc hiển thị cho bạn các loại ổ đĩa khác nhau trong màn hình chọn ổ đĩa của OpenCore (ví dụ: ổ HFS).

  • Lưu ý về vị trí: Mấy file này bắt buộc phải để trong EFI/OC/Drivers/

# Chung (Universal)

CÁC DRIVER BẮT BUỘC

Với đại đa số hệ thống, bạn chỉ cần 2 file driver .efi là đủ để chạy:

  • HfsPlus.efi (opens new window)(Cần thiết)
    • Cần thiết để OpenCore tìm thấy và đọc được các phân vùng HFS (tức là bộ cài macOS và phân vùng Recovery/hình ảnh khôi phục). Đừng có xài lẫn lộn với các driver HFS khác
    • Với Sandy Bridge và các kiến trúc cũ hơn (cũng như dòng Ivy Bridge cấp thấp (i3 và Celerons)), đọc phần "nếu bạn xài hệ thống cũ" ở bên dưới
  • OpenRuntime.efi (opens new window)(Bắt buộc phải có)
    • Thay thế cho AptioMemoryFix.efi (opens new window), được sử dụng như một tiện ích mở rộng cho OpenCore để giúp vá boot.efi nhằm sửa lỗi NVRAM và quản lý bộ nhớ tốt hơn.
    • Nhắc nhẹ là cái này có sẵn trong gói OpenCorePkg tải về lúc nãy rồi nhé

# Dành cho bạn xài hệ thống cũ

Ngoài mấy cái trên, nếu phần cứng của bạn không hỗ trợ UEFI (đời 2011 đổ về trước) thì bạn sẽ cần những thứ sau. Chú ý kỹ từng mục vì có thể bạn không cần cả 4 cái đâu:

Mấy file này sẽ ném vào thư mục Drivers trong EFI của bạn.

Chi tiết cho 32-Bit

Với các bác xài CPU 32-Bit, các bác cũng sẽ muốn lụm mấy driver này về:

  • HfsPlus32 (opens new window)
    • Phương án thay thế cho HfsPlusLegacy nhưng dành cho CPU 32-bit, đừng xài lẫn với các driver HFS .efi khác

# Kexts (Phần Mở rộng Hệ thống)

Là viết tắt của chữ Kernel Extensions (Phần Mở rộng Hệ thống), để dễ hiểu bạn cứ coi nó là driver cho macOS đi, mấy file này sẽ bỏ vào thư mục Kexts trong EFI của bạn.
Lưu ý rằng không phải mọi Kext đều có chức năng là "driver"; nhiều kext mà bạn sử dụng chỉ có chức năng chính là chỉnh sửa Kext của Apple để phần cứng có thể hoạt động (VD: Lilu, AppleALC, WhateverGreen).

  • Lưu ý cho bạn đọc đang xài Windows hoặc Linux: Kext trông sẽ giống thư mục bình thường trên hệ điều hành của bạn, kiểm tra kỹ coi thư mục bạn đang cài có hiện đuôi .kext không nhé (và đừng có tự thêm đuôi bằng tay nếu nó thiếu).
    • Nếu kext nào có kèm theo file .dSYM, bạn cứ thẳng tay xóa nó đi. Nó chỉ dùng cho mục đích gỡ lỗi (debug) thôi.
  • Lưu ý về vị trí: Mấy file này bắt buộc phải để trong EFI/OC/Kexts/.

Hầu hết các kext liệt kê dưới đây có thể tìm thấy bản đã biên dịch sẵn (pre-compiled) trong kho lưu trữ bản dựng (opens new window). Kext ở đây được biên dịch mỗi khi có một commit (cập nhật mã nguồn) mới.

# Cần phải có

CÁC DRIVER BẮT BUỘC

Không có 2 món dưới đây thì hệ thống nào cũng tắt đài, không boot được đâu:

  • Lilu (opens new window)(Bắt buộc phải có)
    • Một kext sử dụng để vá nhiều tiến trình, bắt buộc phải có cho AppleALC, WhateverGreen, VirtualSMC và nhiều kext khác. Không có Lilu thì tụi kia nghỉ chơi hết.
    • Lưu ý dù Lilu hỗ trợ Mac OS X 10.4, nhưng nhiều plug-in của nó chỉ chạy trên các bản mới hơn thôi nha.
  • VirtualSMC (opens new window)(Bắt buộc phải có)
    • Giả lập chip SMC có trên máy Mac thật, không có cái này macOS biết ngay là đồ fake nghỉ chơi không boot.
    • Yêu cầu Mac OS X 10.4 hoặc mới hơn.

# VirtualSMC Plugins

Mấy cái plugin dưới đây không bắt buộc để boot, chỉ thêm mắm dặm muối tính năng như theo dõi phần cứng thôi. Trừ khi có ghi chú khác, mấy plugin này đi kèm trong gói VirtualSMC luôn.

GHI NHỚ

Dù VirtualSMC hỗ trợ 10.4, nhưng plugins có thể yêu cầu phiên bản mới hơn.

  • SMCProcessor.kext
    • Xài để theo dõi nhiệt độ CPU Intel
    • Không dành cho hệ thống chạy CPU AMD
    • Yêu cầu Mac OS X 10.7 hoặc mới hơn
  • SMCAMDProcessor (opens new window)
    • Sử dụng để theo dõi nhiệt độ CPU trên hệ thống AMD Zen
    • Đang trong quá trình phát triển tích cực, có thể không ổn định
    • Yêu cầu AMDRyzenCPUPowerManagement (đọc Kext dành riêng cho CPU AMD)
    • Yêu cầu macOS 10.13 hoặc mới hơn
  • SMCRadeonSensors (opens new window)
    • Sử dụng để theo dõi nhiệt độ GPU trên hệ thống chạy GPU AMD
    • Yêu cầu macOS 10.14 hoặc mới hơn
  • SMCSuperIO.kext
    • Sử dụng để theo dõi tốc độ quạt
    • Không dành cho hệ thống chạy CPU AMD
    • Yêu cầu Mac OS X 10.6 hoặc mới hơn
  • SMCLightSensor.kext
    • Sử dụng cho cảm biến ánh sáng trên laptop
    • Đừng xài nếu bạn không có cảm biến ánh sáng (ví dụ: máy bàn), không là có chuyện đó
    • Yêu cầu Mac OS X 10.6 hoặc mới hơn
  • SMCBatteryManager.kext
    • Sử dụng để đọc thông số pin trên laptop
    • Không được sử dụng cho máy bàn
    • Yêu cầu Mac OS X 10.4 hoặc mới hơn
  • SMCDellSensors.kext
    • Cho phép theo dõi kỹ hơn và điều khiển quạt trên các máy Dell hỗ trợ System Management Mode (SMM)
    • Đừng sử dụng nếu bạn không có máy Dell được hỗ trợ, chủ yếu laptop Dell mới hưởng lợi từ kext này
    • Yêu cầu Mac OS X 10.7 hoặc mới hơn

# Đồ họa

  • WhateverGreen (opens new window)(Bắt buộc phải có)
    • Sử dụng để vá lỗi đồ họa, sửa lỗi DRM, kiểm tra board ID, sửa lỗi framebuffer, v.v.; tất cả các GPU kể cả được Apple hỗ trợ nhưng cắm trên hệ thống không phải của Apple đều cần kext này.
    • Lưu ý là file SSDT-PNLF.dsl đi kèm chỉ cần cho laptop và máy bộ AIO (All-In-One), đọc Khởi đầu với ACPI (opens new window) để biết thêm chi tiết
    • Yêu cầu Mac OS X 10.6 hoặc mới hơn

# Âm thanh

  • AppleALC (opens new window)
    • Sử dụng để vá AppleHDA, cho phép hỗ trợ đại đa số các bộ điều khiển âm thanh tích hợp (on-board)
    • AppleALCU.kext là phiên bản rút gọn của AppleALC chỉ hỗ trợ âm thanh kỹ thuật số (digital audio) - nhưng bạn vẫn có thể dùng AppleALC.kext trên hệ thống chỉ có âm thanh kỹ thuật số
    • Yêu cầu Mac OS X 10.4 hoặc mới hơn
Kext âm thanh cũ

Dành cho các bác định khởi động 10.7 và cũ hơn thì nên nghía qua mấy kext này:

# Ethernet (Mạng dây)

Ở đây mình giả định là bạn biết máy mình dùng card mạng gì rồi nhé, nhắc nhẹ là trang thông số kỹ thuật sản phẩm kiểu gì cũng ghi loại card mạng.

  • IntelMausi (opens new window)
    • Cần thiết cho đại đa số card mạng Intel (Network Interface Controller - Card mạng), chipset dựa trên I211 sẽ cần kext SmallTreeIntel82576
    • Các dòng Intel 82578, 82579, I217, I218 và I219 NICs được hỗ trợ chính thức
    • Yêu cầu OS X 10.9 hoặc mới hơn, người dùng 10.6-10.8 có thể dùng IntelSnowMausi thay thế cho các OS cũ
  • AppleIGB (opens new window)
    • Cần thiết cho card mạng I211 chạy trên macOS Monterey trở lên
    • Có thể gặp vấn đề mất ổn định trên một số card mạng, khuyến nghị bạn nên ở lại Big Sur và dùng SmallTree
    • Cần cho hầu hết bo mạch AMD có card mạng Intel
    • Yêu cầu macOS 12 trở lên
  • SmallTreeIntel82576 (opens new window)
    • Cần thiết cho card mạng I211 chạy macOS đến bản Big Sur, dựa trên kext SmallTree nhưng đã vá để hỗ trợ I211 (không được sử dụng trên macOS 12 Monterey và mới hơn)
    • Cần cho hầu hết bo mạch AMD chạy Intel NICs
    • Yêu cầu OS X 10.9-12(v1.0.6), macOS 10.13-14(v1.2.5), macOS 10.15+(v1.3.0)
  • AtherosE2200Ethernet (opens new window)
    • Cần thiết cho card mạng Atheros và Killer
    • Yêu cầu OS X 10.8 hoặc mới hơn
    • Lưu ý: Các mẫu card Atheros Killer E2500 thiệt ra là dựa trên chipset của Realtek, mấy thiết bị này vui lòng bạn sử dụng RealtekRTL8111 (opens new window) thay thế nha
  • RealtekRTL8111 (opens new window)
    • Cần thiết cho đại đa số card mạng GigabitEthernet của Realtek
    • Yêu cầu OS X 10.8 trở lên cho bản v2.2.0 trở xuống, macOS 10.12 trở lên cho bản v2.2.2, macOS 10.14 trở lên cho bản v2.3.0 trở lên
    • LƯU Ý: Đôi khi phiên bản mới nhất của kext lại dở chứng với card Ethernet của bạn. Nếu gặp ca này, thử cài bản cũ hơn xem.
  • LucyRTL8125Ethernet (opens new window)
    • Dành cho card mạng 2.5Gb Ethernet của Realtek
    • Yêu cầu macOS 10.15 hoặc mới hơn
  • Với dòng card mạng Intel I225-V, các bản vá được đề cập trong phần thiết lập config máy tính để bàn ở phần Thuộc tính Thiết bị Comet Lake.
    • Với macOS 13 trở lên, kext hỗ trợ card mạng I225-V đã bị loại bỏ và thay thế bằng DriverKit DEXT. Cái DEXT này yêu cầu phải bật VT-d, nên mình khuyên nên xài lại kext cũ: AppleIntelI210Ethernet
      • Monterey và cũ hơn thì không cần quan tâm cái này
    • Yêu cầu macOS 10.15 hoặc mới hơn
  • Với dòng card mạng Intel I350, các bản vá được đề cập trong phần thiết lập config máy tính HEDT ở phần Thuộc tính Thiết bị Sandy and Ivy Bridge-E. Không cần cài đặt thêm kext.
    • Yêu cầu OS X 10.10 hoặc mới hơn
Kext Ethernet Cũ (Legacy Ethernet Kexts)

Liên quan đến cài đặt macOS cũ hoặc phần cứng PC cổ lỗ sĩ.

Và cũng nhớ cho là một số card mạng thiệt ra được hỗ trợ sẵn (natively) trong macOS mà không cần cài Kext hay chỉnh sửa thêm:

Danh sách card mạng được hỗ trợ sẵn

# Dòng card Aquantia

# AppleEthernetAquantiaAqtion.kext
pci1d6a,1    = Aquantia AQC107
pci1d6a,d107 = Aquantia AQC107
pci1d6a,7b1  = Aquantia AQC107
pci1d6a,80b1 = Aquantia AQC107
pci1d6a,87b1 = Aquantia AQC107
pci1d6a,88b1 = Aquantia AQC107
pci1d6a,89b1 = Aquantia AQC107
pci1d6a,91b1 = Aquantia AQC107
pci1d6a,92b1 = Aquantia AQC107
pci1d6a,c0   = Aquantia AQC113
pci1d6a,4c0  = Aquantia AQC113

Lưu ý: Do firmware lỗi thời được cài đặt sẵn trên nhiều card mạng Aquantia, bạn có thể cần cập nhật firmware trong Linux/Windows để đảm bảo nó tương thích với macOS.

# Dòng card Intel

# AppleIntel8254XEthernet.kext
pci8086,1096 = Intel 80003ES2LAN
pci8086,100f = Intel 82545EM
pci8086,105e = Intel 82571EB/82571GB

# AppleIntelI210Ethernet.kext
pci8086,1533 = Intel I210
pci8086,15f2 = Intel I225LM (Được thêm vào kể từ macOS 10.15)

# Intel82574L.kext
pci8086,104b = Intel 82566DC
pci8086,10f6 = Intel 82574L

# Dòng card Broadcom

# AppleBCM5701Ethernet.kext
pci14e4,1684 = Broadcom BCM5764M
pci14e4,16b0 = Broadcom BCM57761
pci14e4,16b4 = Broadcom BCM57765
pci14e4,1682 = Broadcom BCM57762
pci14e4,1686 = Broadcom BCM57766

# USB

  • USBToolBox (công cụ (opens new window)kext (opens new window))

    • Công cụ lập sơ đồ (map) cổng USB cho Windows và macOS.
    • Cực lực khuyên bạn nên map cổng USB trước khi cài macOS để tránh mấy lỗi giới hạn cổng. Để biết thêm chi tiết vì sao bạn phải làm việc này, vui lòng tham khảo Vì sao bạn cần phải tạo bản đồ USB (opens new window)
    • Các tính năng
      • Hỗ trợ map từ Windows và macOS (hỗ trợ cho Linux đang được phát triển)
      • Có thể tạo bản sơ đồ xài kext USBToolBox hoặc tự động chèn vô kext gốc của Apple (AppleUSBHostMergeProperties)
      • Hỗ trợ nhiều cách khớp nối (matching)
      • Hỗ trợ cổng đi kèm (companion ports) (trên Windows)
  • XHCI-unsupported (opens new window)

    • Cần thiết cho các bộ điều khiển USB không được hỗ trợ sẵn (non-native)
    • Hệ thống có CPU AMD không cần cái này
    • Các chipset phổ biến cần cái này:
      • H370
      • HM370
      • B360
      • H310
      • Z390 (không cần trên Mojave và mới hơn)
      • X79
      • X99
      • Mainboard ASRock Intel (tuy nhiên dòng B460/Z490+ không cần)

# Wi-Fi và Bluetooth

# Card Bluetooth không hỗ trợ sẵn (Non-Native)

  • BlueToolFixup (opens new window)
    • Vá bộ Bluetooth stack của macOS 12+ để hỗ trợ card bên thứ 3
    • Cần thiết cho tất cả card Bluetooth không chính chủ (không phải Apple Broadcom, Intel, v.v.)
    • Có sẵn trong gói zip BrcmPatchRAM
    • Đừng sử dụng trên macOS 11 và cũ hơn

# Intel

  • AirportItlwm (opens new window)
    • Thêm hỗ trợ cho hàng loạt card Wi-Fi Intel và chạy ngon lành (natively) trong recovery nhờ tích hợp IO80211Family
    • Yêu cầu macOS 10.13 hoặc mới hơn và yêu cầu cấu hình Apple Secure Boot để hoạt động chính xác
  • Itlwm (opens new window)
    • Thay thế cho AirportItlwm cho hệ thống không bật được Apple Secure Boot
    • Yêu cầu Heliport (opens new window)
    • Nó sẽ được coi như một card Ethernet và bạn phải kết nối Wi-Fi qua app Heliport
    • Không chạy trong macOS recovery
  • IntelBluetoothFirmware (opens new window)
    • Thêm hỗ trợ Bluetooth cho macOS khi đi cặp với card Wi-Fi Intel
    • Sử dụng thêm IntelBTPatcher (có sẵn) để vá lỗi trong macOS
    • Yêu cầu macOS 10.13 hoặc mới hơn
    • Trên macOS 10.13 đến 11, bạn cũng cần IntelBluetoothInjector (có sẵn)
Thông tin thêm về cách bật AirportItlwm

Để bật hỗ trợ AirportItlwm với OpenCore, bạn cần phải cấu hình hoặc là cài đặt như sau:

  • Kích hoạt Misc -> Security -> SecureBootModel bằng cách đặt nó là giá trị Default hoặc giá trị hợp lệ nào đó
  • Nếu bạn không bật được SecureBootModel, bạn vẫn có thể ép bơm IO80211Family (cực lực can ngăn/không khuyến khích)
    • Đặt mục sau trong Kernel -> Force vào trong config.plist của bạn (sẽ bàn sau):

# Broadcom

  • AirportBrcmFixup (opens new window)
    • Sử dụng để vá các card Broadcom không phải Apple/không phải Fenvi, sẽ không chạy trên Intel, Killer, Realtek, v.v.
    • Yêu cầu OS X 10.10 hoặc mới hơn
    • Với Big Sur đọc Các lỗi đã biết với Big Sur để biết thêm các bước liên quan đến driver AirPortBrcm4360.
  • BrcmPatchRAM (opens new window)
    • Xài để tải firmware lên chipset Bluetooth Broadcom, cần cho tất cả các card Airport không phải của Apple/không phải Fenvi.
    • Phải đi cặp với with BrcmFirmwareData.kext
      • BrcmPatchRAM3 cho 10.15+ (phải đi cặp với BrcmBluetoothInjector)
      • BrcmPatchRAM2 cho 10.11-10.14
      • BrcmPatchRAM cho 10.8-10.10
    • Trên macOS 10.11 đến macOS 11, bạn cũng cần BrcmBluetoothInjector (có sẵn)
Thứ tự chạy BrcmPatchRAM (Load order)

Thứ tự trong Kernel -> Add nên là:

  1. BrcmBluetoothInjector (nếu cần thiết)
  2. BrcmFirmwareData
  3. BrcmPatchRAM3 (hoặc BrcmPatchRAM2/BrcmPatchRAM)

BlueToolFixup có thể nằm đâu cũng được miễn là sau Lilu.

Tuy nhiên ProperTree sẽ lo vụ này cho bạn, nên bạn không cần bận tâm đâu

# Kext riêng cho CPU AMD

  • XLNCUSBFIX (opens new window)
    • Vá lỗi USB cho hệ thống AMD FX, không khuyến khích cho Ryzen
    • Yêu cầu macOS 10.13 hoặc mới hơn
  • VoodooHDA (opens new window)
    • Mang âm thanh cho hệ thống FX và hỗ trợ Mic+Audio mặt trước cho hệ thống Ryzen, đừng xài lẫn với AppleALC. Chất lượng âm thanh tệ hơn, nghe dở thấy rõ so với AppleALC trên CPU Zen
    • Yêu cầu Mac OS X 10.6 hoặc mới hơn
    • Sử dụng kext này trên macOS 11.3 trở lên không được khuyến khích vì bạn phải sửa đổi hệ thống tập tin macOS và tắt SIP
  • AMDRyzenCPUPowerManagement (opens new window)
    • Hỗ trợ điều phối năng lượng CPU cho hệ thống Ryzen
    • Đang trong quá trình phát triển tích cực, có thể không ổn định
    • Yêu cầu macOS 10.13 hoặc mới hơn

# Phần phụ

  • AppleMCEReporterDisabler (opens new window)
    • Cần thiết trên macOS 12.3 trở lên cho hệ thống AMD và trên macOS 10.15 trở lên cho hệ thống Intel có socket kép (dual-socket).
    • Các SMBIOS bị ảnh hưởng:
      • MacPro6,1
      • MacPro7,1
      • iMacPro1,1
  • CpuTscSync (opens new window)
    • Cần để đồng bộ TSC trên một số bo mạch chủ HEDT và server của Intel, không có cái này macOS có thể chậm như rùa bò hoặc thậm chí không boot được. Một số Laptop Asus cũng cần kext này.
    • Không chạy trên CPU AMD
    • Yêu cầu OS X 10.8 hoặc mới hơn
  • NVMeFix (opens new window)
    • Dùng để sửa lỗi quản lý năng lượng và khởi tạo trên NVMe không phải của Apple
    • Yêu cầu macOS 10.14 hoặc mới hơn
  • SATA-Unsupported (opens new window)
    • Thêm hỗ trợ cho hàng loạt bộ điều khiển SATA, chủ yếu liên quan đến laptop gặp vấn đề không nhìn thấy ổ SATA trong macOS. Chúng tôi khuyên bạn nên test thử mà không có cái này trước đã.
    • Lưu ý cho Big Sur+: CtlnaAHCIPort (opens new window) sẽ cần được sử dụng thay thế do nhiều bộ điều khiển bị loại bỏ khỏi file nhị phân
    • Catalina và cũ hơn không cần quan tâm
  • CPUTopologyRebuild (opens new window)
    • Một plugin Lilu thử nghiệm giúp tối ưu hóa cấu hình lõi không đồng nhất (heterogeneous core) của Alder Lake. Chỉ dành cho CPU Alder Lake
  • RestrictEvents (opens new window)
    • Vá các chức năng khác nhau của macOS, đọc README (opens new window) để biết thêm thông tin và quyết định bạn có nên sử dụng không.
  • EmeraldSDHC (opens new window)
    • Kext bổ trợ nhân macOS để hỗ trợ eMMC. Hiện tại chỉ hỗ trợ thẻ eMMC/MMC ở tốc độ lên tới HS200. Driver này đang trong quá trình hoàn thiện và có thể hoạt động kém hoặc tịt ngóm trên một số thiết bị. Thẻ nhớ SD hiện chưa được hỗ trợ.
Kext SATA Cũ (Legacy SATA Kexts)
  • AppleIntelPIIXATA.kext (opens new window)
    • Kext IDE và ATA cũ cho hệ thống Core 2 Duo/Quad và Pentium 4 đời xưa. Cần cho macOS 11 (Big Sur) và mới hơn vì kext này đã bị Apple đá đít từ bản macOS 10.15 (Catalina)
  • AHCIPortInjector (opens new window)
    • Bộ bơm (injector) SATA/AHCI cũ, chủ yếu liên quan đến máy cũ đời Penryn
  • ATAPortInjector (opens new window)
    • Bộ bơm ATA cũ, chủ yếu liên quan đến thiết bị IDE và ATA (ví dụ: khi không có tùy chọn AHCI trong BIOS)
    • Phụ thuộc vào AppleIntelPIIXATA.kext, cái này cần phải có khi sử dụng macOS 11 (Big Sur) và mới hơn

# Đầu vào Laptop

Để biết bạn dùng loại bàn phím và trackpad gì, kiểm tra Device Manager (Trình quản lý thiết bị) trong Windows hoặc gõ lệnh dmesg | grep -i input trong Linux

CẢNH BÁO

Hầu hết bàn phím laptop là chuẩn PS2 đó! Bạn sẽ cần lôi cổ VoodooPS2 về ngay cả khi bạn có trackpad I2C, USB, hoặc SMBus.

# Bàn phím/Bàn rê chuột chuẩn PS2

  • VoodooPS2 (opens new window)
    • Chơi tuốt với nhiều loại bàn phím, chuột và trackpad PS2
    • Yêu cầu macOS 10.11 hoặc mới hơn cho chức năng MT2 (Magic Trackpad 2)
  • RehabMan's VoodooPS2 (opens new window)
    • Cho các hệ thống cũ với bàn phím, chuột và trackpad PS2, hoặc khi bạn không muốn dùng VoodooInput
    • Hỗ trợ Mac OS X 10.6+

# Bàn rê chuột chuẩn SMBus

  • VoodooRMI (opens new window)
    • Dành cho hệ thống có trackpad Synaptics SMBus
    • Yêu cầu macOS 10.11 hoặc mới hơn cho chức năng MT2
    • Phụ thuộc vào VoodooPS2 của Acidanthera
  • VoodooSMBus (opens new window)
    • Dành cho hệ thống có trackpad ELAN SMBus
    • Hiện tại hỗ trợ macOS 10.14 hoặc mới hơn

# Thiết bị HID (Thiết bị nhập liệu) chuẩn I2C/USB

  • VoodooI2C (opens new window)
    • Hỗ trợ OS X 10.11+
    • Gắn vào bộ điều khiển I2C để cho phép các plugin nói chuyện với trackpad I2C
    • Thiết bị USB sử dụng các plugin bên dưới vẫn cần VoodooI2C
    • Phải đi cặp với một hoặc nhiều plugin bên dưới để hoạt động:

CÁC Plugin VoodooI2C

Loại kết nối Plugin Ghi chú
Multitouch HID VoodooI2CHID Có thể dùng với Màn hình cảm ứng và Bàn rê chuột sử dụng chuẩn I2C/USB
ELAN Proprietary VoodooI2CElan ELAN1200+ yêu cầu VoodooI2CHID thay thế
FTE1001 touchpad VoodooI2CFTE
Atmel Multitouch Protocol VoodooI2CAtmelMXT
Synaptics HID VoodooRMI (opens new window) Bàn rê chuột I2C Synaptic (CHỈ yêu cầu VoodooI2C cho chế độ I2C)
Alps HID AlpsHID (opens new window) Có thể dùng với Bàn rê chuột Alps USB hoặc I2C. Thường thấy trên laptop Dell và vài mẫu HP EliteBook

# Lặt vặt

Vui lòng tham khảo Kexts.md (opens new window) để có danh sách đầy đủ các kext được hỗ trợ.

# SSDTs

Rồi, bạn thấy cả đống SSDT trong thư mục AcpiSamples và tự hỏi có cần dùng cái nào không. Với mình, chúng ta sẽ xem xét SSDT nào bạn cần trong phần ACPI cụ thể cho cấu hình config.plist của bạn, vì SSDT bạn cần là đặc thù cho từng nền tảng (platform specific). Thậm chí có cái đặc thù cho từng hệ thống mà cần phải cấu hình và bạn sẽ dễ dàng lạc trôi nếu mình đưa cho bạn một danh sách SSDT để chọn ngay bây giờ.

Khởi đầu với ACPI (opens new window) có một phần mở rộng hướng dẫn chi tiết về SSDT bao gồm cả việc biên dịch chúng trên các nền tảng khác nhau.

Tóm tắt nhanh gọn lẹ (TL;DR) về các SSDT cần thiết (Đây là mã nguồn, bạn sẽ phải biên dịch chúng thành file .aml):

# Máy tính bàn

Nền tảng CPU EC AWAC NVRAM USB
Penryn N/A SSDT-EC (opens new window) N/A N/A N/A
Lynnfield và Clarkdale
SandyBridge CPU-PM (opens new window) (Chạy sau khi cài đặt)
Ivy Bridge
Haswell SSDT-PLUG (opens new window)
Broadwell
Skylake SSDT-EC-USBX (opens new window)
Kaby Lake
Coffee Lake SSDT-AWAC (opens new window) SSDT-PMC (opens new window)
Comet Lake N/A SSDT-RHUB (opens new window)
AMD (15/16h) N/A N/A N/A
AMD (17/19h) SSDT-CPUR dành cho B550 và A520 (opens new window)

# Máy trạm, máy chủ (High End Desktop or Server)

Nền tảng CPU EC RTC PCI
Nehalem và Westmere N/A SSDT-EC (opens new window) N/A N/A
Sandy Bridge-E SSDT-UNC (opens new window)
Ivy Bridge-E
Haswell-E SSDT-PLUG (opens new window) SSDT-EC-USBX (opens new window) SSDT-RTC0-RANGE (opens new window)
Broadwell-E
Skylake-X N/A

# Máy tính xách tay (Laptop)

Nền tảng CPU EC Đèn nền Bàn rê chuột I2C AWAC USB IRQ
Clarksfield và Arrandale N/A SSDT-EC (opens new window) SSDT-PNLF (opens new window) N/A N/A N/A IRQ SSDT (opens new window)
SandyBridge CPU-PM (opens new window) (Chạy sau khi cài đặt)
Ivy Bridge
Haswell SSDT-PLUG (opens new window) SSDT-GPI0 (opens new window)
Broadwell
Skylake SSDT-EC-USBX (opens new window) N/A
Kaby Lake
Coffee Lake (Thế hệ thứ 8th) và Whiskey Lake SSDT-PNLF (opens new window) SSDT-AWAC (opens new window)
Coffee Lake (Thế hệ thứ 9th)
Comet Lake
Ice Lake SSDT-RHUB (opens new window)

Tiếp theo:

Nền tảng NVRAM IMEI
Clarksfield và Arrandale N/A N/A
Sandy Bridge SSDT-IMEI (opens new window)
Ivy Bridge
Haswell N/A
Broadwell
Skylake
Kaby Lake
Coffee Lake (Thế hệ thứ 8th) và Whiskey Lake
Coffee Lake (Thế hệ thứ 9th) SSDT-PMC (opens new window)
Comet Lake N/A
Ice Lake

# Xong xuôi hết đống này rồi thì phi ngay tới Khởi đầu với ACPI (opens new window) thôi nào