Từ Điển Kext (Kernel Extension) trong Hackintosh

Kext (Kernel Extension) là một khái niệm phổ biến mà bất kỳ ai cài macOS – Hackintosh cũng đã từng nghe đến. Tuy nhiên, mọi người thường không hiểu rõ bản chất cũng như công dụng của các loại, các nhóm kext, dẫn đến việc cài thiếu, cài thừa gây ra xung đột. Vì vậy trong bài viết này, mình sẽ cố gắng liệt kê các loại kext hay được sử dụng trong cài Hackintosh, cũng như công dụng sơ bộ để các bạn tham khảo và lựa chọn cho chuẩn xác.

Vì số lượng kext là rất lớn nên bài viết này sẽ chỉ đề cập một số Kext cơ bản. Mình sẽ cập nhật thêm nếu có thời gian. Ở mỗi tên kext đều có đường dẫn gốc đến link tiếng Anh, các bạn có thể ấn vào tham khảo trước.

Danh sách các kext:

+ Tác dụng: giúp hiển thị phần trăm pin.

+ Yêu cầu: một số máy có thể phải patch DSDT, SSDT nếu không sẽ hiện sai % hoặc hiện 0%

+ Lưu ý: không dùng kèm với kext battery khác

+ Tác dụng: bổ sung thêm thông tin về các cổng SATA để macOS có thể nhận ra. Thường sử dụng khi không thấy ổ cứng (SATA) lúc cài đặt.

+ Tác dụng: Là plugin của Lilu, giúp kích hoạt một số card wifi Broadcom như 43224, 43225, 4352 và sửa một số lỗi như 5Ghz, FCC/US.

+ Yêu cầu: Lilu phiên bản phù hợp

Kích hoạt wifi cho card wifi của intel.

Kích hoạt Alps touchpad bằng giao thức HID. Yêu cầu VoodooI2C / VoodooI2CHID.

+ Tác dụng: là Plugin của Lilu, giúp kích hoạt chip âm thanh trong máy

+ Yêu cầu: AppleHDA gốc, Lilu phiên bản phù hợp, patch Layout_ID đúng theo codec đang sử dụng (theo hệ thập phân là 1, 3, 12, 28)

+ Chú ý: không cài chung với VoodooHDA, AppleHDADisabler hoặc kext âm thanh khác

Plugin Lilu để bật hỗ trợ đèn nền bằng cách sử dụng các bản vá lỗi của RehabMan.

Một plugin của Lilu có tác dụng vá các trình điều khiển đồ họa Intel để có được quá trình chuyển đổi đèn nền mượt mà.

+ Tác dụng: hỗ trợ 2 ngón trở lên cho các bàn di chuột ELAN (thường dùng trên laptop Asus chạy core i thế hệ 2 đến thế hệ 4, một số laptop Dell)

+ Chú ý: không dùng chung với các kext phím chuột khác như VoodooPS2, ApplePS2

+ Tác dụng: hỗ trợ Fn cho laptop Asus (chỉnh độ sáng, đèn bàn phím …)

+ Yêu cầu: patch DSDT hoặc SSDT phù hợp.

Một plugin của VirtualSMC cung cấp hỗ trợ gốc cho ALS, đèn nền bàn phím và phím Fn cho máy tính xách tay Asus trên macOS.

Cung cấp bản vá cho các thẻ Atheros không được hỗ trợ. đi kèm với các boot args phù hợp.

+ Tác dụng: kích hoạt card LAN Atheros AR816x, AR817x, Killer E220x, Killer E2400 và Killer E2500

+ Lưu ý: không dùng chung với kext AtherosL1cEthernet

kích hoạt card LAN Atheros AR813x, 815x

+ Tác dụng: là Plugin của Lilu, chứa các patch cần thiết cho HD4400, HD4600 (card onboard của core i thế hệ 4)

+ Yêu cầu: Lilu phiên bản phù hợp

+ Lưu ý: không dùng chung với FakePCIID_Intel_HDMI_Audio

Giúp kích hoạt một số mã wifi Atheros.

+ Tác dụng: bộ kext của Rehabman hỗ trợ Bluetooth của Broadcom

+ Lưu ý: nếu cài cho 10.11 trở lên thì chọn PatchRAM2, nếu cài vào S/L/E thì cài FirmwareRepo còn nếu để Inject qua Clover thì dùng FirmwareData

+ Tác dụng: là Plugin của Lilu, hỗ trợ patch các loại Bluetooth không phải của Apple để hỗ trợ tính năng Handoff, Hotspot, Contiunity.

+ Yêu cầu: Lilu phiên bản phù hợp

Kích hoạt các phím điều chỉnh độ sáng mà không cần patch DSDT

+ Tác dụng: hỗ trợ fix lỗi mất âm thanh sau wake và lỗi tai nghe bị rè của laptop (cần phải cấu hình đúng)

+ Chú ý: tham khảo file plist của kext và một số file SSDT có sẵn trên github để biết cách patch lỗi tai nghe rè trên các loại laptop

+ Tác dụng: plugin của Lilu giúp hỗ trợ màn hình độ phân giải cao (2k, 4k) trên card Intel và nVidia (cả máy bàn lẫn laptop)

+ Yêu cầu: Lilu phiên bản phù hợp

+ Tác dụng: plugin của Lilu hỗ trợ inject các thông tin về điện năng và xung nhịp của CPU

+ Yêu cầu: Lilu phiên bản phù hợp

+ Lưu ý: mình hay dùng ssdtPRgen của piker để tạo SSDT hơn cách này.

Là 1 Plugin của Lilu, kết hợp chức năng của VoodooTSCSync và vô hiệu hoá xcpm_urgency nếu TSC không được đồng bộ hoá. Nó sẽ ngăn chặn lỗi kernel panics sau khi wake up.

Plugin Lilu để vô hiệu hóa thông báo "Máy tính này không đọc được đĩa" dùng cho macOS 10.9 trở lên. Hữu ích nếu bạn có các đĩa khác có hệ thống tệp không xác định với macOS.

Kext hỗ trợ thay đổi thông tin nhận dạng của màn hình (EDID). Thường dùng nếu macOS không nhận đúng EDID của màn hình.

Kích hoạt trạng thái PIN trong một số trường hợp.

+ Tác dụng: plugin của Lilu hỗ trợ lỗi wake sau ghi gập màn hình của card onboard Intel.

+ Yêu cầu: Lilu phiên bản phù hợp.

Là kext của Rehabman. Dùng kèm với plugin để fix được một số thứ như: card onboard Intel + HDMI Audio, wifi + lan Broadcom, USB ….

  • FakePCIID_AR9280_as_AR946x: hỗ trợ fake thông tin card wifi Atheros 928x nhận thành AirPort Extreme của Appe

  • FakePCIID_BCM57XX_as_BCM57765; hỗ trợ fake một số loại card LAN Broadcom để kext gốc của Apple hỗ trợ. Nếu không được thì dùng kext BCM5722D.

  • FakePCIID_Broadcom_WiFi: hỗ trợ cho một số card wifi Broadcom như 43224, 43225, 4352. Cần patch whitelist AirPortBrcm4360 để hoạt động.

  • FakePCIID_Intel_GbX: hỗ trợ card LAN Intel. Tuy nhiên mình thấy kext này không phổ biến bằng IntelMausiEthernet

  • FakePCIID_Intel_HD_Graphics: hỗ trợ các loại card onboard Intel từ core i đời 2 đến core i đời 8.

    • + Lưu ý: Một số máy từ core i đời 5 trở lên phải dùng kèm IntelGraphicsFixup, IntelDVMTFixup (hoặc cả 2)

  • FakePCIID_Intel_HDMI_Audio: hỗ trợ xuất HDMI Audio cho card onboard Intel.

    • + Lưu ý: kext này thỉnh thoảng cũng gây xung đột với AppleALC và VoodooHDA khiến loa ngoài và jack tai nghe không lên. Nếu gặp trường hợp đó hãy gỡ nó ra

  • FakePCIID_XHCIMux: hỗ trợ chuyển các port HS ( USB High speed 2.0) của XHC (USB 3.0) về cho EHC1, EHC2 (USB 2.0) quản lý

Là kext quan trọng nhất, giúp máy Hackintosh có thể giả lập các hệ thống cảm biến giống như máy Mac. Nếu thiếu kext này thì Hackintosh không thế boot được (không xuất hiện dòng DSMOS has arrived)

  • FakeSMC_ACPISensors: Mô phỏng hệ thốngcảm biến về phần cứng của máy

  • FakeSMC_CPUSensors: đọc các thông số về CPU như xung nhịp hoạt động hay nhiệt độ

  • FakeSMC_GPUSensors: đọc thông tin của GPU

  • FakeSMC_LPCSensors: Cảm biến chip LPC, thông tin về bo mạch chủ như FAM, điện áp, nhiệt độ.

  • FakeSMC_SMMSensors:Là 1 plugin sử dụng chế độ quản lý hệ thống để lấy thông tin cảm biến, cho phép đọc cài đặt quạt, tốc độ quạt và giá trị cảm biến nhiệt độ.

Trình điều khiển USB 3.0 của RehabMan

+ Tác dụng: là plugin của Lilu hỗ trợ fix Hibernate cho máy Hackintosh (Hibernate xong nhưng lúc bật lên không vào lại được)

+ Yêu cầu: Lilu phiên bản phù hợp.

Trình điều khiển chia sẻ kết nối USB Android dành cho macOS

Kích hoạt Bluetooth cho card wifi intel

+ Tác dụng: là plugin của Lilu hỗ trợ vượt lỗi VRAM tối thiểu của card onboard Intel < 64MB làm panic kext card màn hình. Thường dùng cho laptop chạy core i đời 5 trở lên.

+ Yêu cầu: Lilu phiên bản phù hợp

+ Tác dụng: hỗ trợ fix lỗi treo hoặc không load được của card onboard Intel. Thường dùng cho máy chạy core i đời 4 trở lên

+ Yêu cầu: Lilu phiên bản phù hợp.

Kích hoạt card LAN Intel

kích hoạt wifi cho card wifi của intel. phải dùng dung với app heliport

Kext của vit9696, hỗ trợ patch mềm on-the-fly cho nhiều loại kext mà không cần sửa vào file gốc. Đang phát triển mạnh với nhiều plugin cho các chức năng khác nhau: âm thanh, card màn hình, sleep wake …

Hỗ trợ cho Lilu để đảm bao mọi thứ được hoạt động đúng

kích hoạt mạng Lan cho bộ điều khiển Realtek RTL8125 2.5GBit

Plugin của Lilu nhằm vô hiệu hoá thông báo thiếu bộ nhớ Ram trên MacPro7,1

Kiểm soát độ sáng màn hình máy tính để bàn của bạn giống như trên MacBook.

Plugin của Lilu hỗ trợ bật tính năng Night Shift của macOS trên các máy Hackintosh sử dụng card màn hình nVidia và SMBIOS đời cũ (trước 2012)

+ Yêu cầu: Lilu phiên bản phù hợp.

Plugin Lilu để tắt hỗ trợ Touch ID.

Sử dụng khi bị panic AppleIntelCPUPowerManagement. Nguyên nhân:

+ CPU core đời 3 trở xuống chưa patch quản lý điện năng chuẩn bằng DSDT hoặc SSDT

+ Các loại CPU Celeron, Pentium đời 2010 trở về sau (cần chỉnh đúng FakeCPUID)

Giả mạo trình điều khiển Ethernet để đánh lừa macOS khi máy bạn không có Ethernet

NVMeFix là một tập hợp các bản vá cho trình điều khiển lưu trữ Apple NVMe, IONVMeFamily. Mục tiêu của nó là cải thiện khả năng tương thích với các ổ SSD không phải của Apple. Nó có thể được sử dụng trên cả máy tính Apple và không phải của Apple.

+ Giúp bật card màn hình nVidia trên máy bàn, laptop (không optimus) mà không sửa board-id trong AppleGraphicsDevicePolicy

+ Sửa lỗi trắng màn của iBook trên card nVidia

+ Patch HDMI, DP cho card nVidia máy bàn

+ Yêu cầu: Lilu phiên bản phù hợp

+ Lưu ý: kext này chưa tương thích 100%, một số card vẫn có khả năng bị treo và không vào được. Vì vậy mình vẫn chuộng cách sửa board-id truyền thống hơn (nếu khách hàng không dùng iBook)

sửa đổi macOS Sierra để nhận ra trình điều khiển web của NVIDIA dưới dạng các tệp nhị phân nền tảng. Dùng với bản Serria trở xuống.

Tăng hiệu năng cho card AMD.

Kext và Tiện ích để hiển thị nhiệt độ GPU Radeon trên macOS.

  • RadeonSensor.kext: Đọc nhiệt độ GPU, yêu cầu Lilu.kext.

  • SMCRadeonGPU.kext: xuất nhiệt độ GPU sang VirtualSMC.kext để các công cụ giám sát đọc, yêu cầu VirtualSMC.kext.

  • RadeonGadget.app: Hiển thị nhiệt độ GPU trên thanh trạng thái, yêu cầu RadeonSensor.kext

Kext của Mieze cho dòng card LAN Realtek 810x

+ Lưu ý: không dùng kèm kext LAN Realtek khác

Kext của Mieze cho dòng card LAN Realtek 8111/8168

+ Lưu ý: không dùng kèm kext LAN Realtek khác

Phần mở rộng của Lilu để chặn các quy trình không mong muốn gây ra các sự cố tương thích phần cứng và mở khoá một số tính năng bị hạn chế.

Mô phỏng một số hiệu số trong bộ nhớ CMOS (RTC). Nó có thể giúp bạn tránh một số xung đột giữa osx AppleRTC và firmware / BIOS của PC.

dành cho pc hay laptop sử dụng cpu skylake trở đi mà sata controller/chipset Apple không hỗ trợ. Nói chung không boot bật Disk Utility mà không thấy ổ cứng đâu thì là thiếu kext này.

Plugin của Lilu, giúp Hackintosh chạy nội dùng số có bản quyền DRM khi sử dụng Itunes hoặc QuickTime

+ Yêu cầu: Lilu phiên bản phù hợp.

Kích hoạt tính năng Slidecar cho tất cả các phiên bản macOS và Ipad.

Trình điều khiển cho đầu đọc thẻ SD Realtek

Trình điều khiển cho Intel 211-AT và các mainboard AMD chạy Intel NIC.

Giám sát và Quản lý nguồn cho bộ xử lý AMD, yêu cầu VirtualSMC.kext

Plugin Lilu để hiển thị tab bộ nhớ trên các nền tảng MacBookAir và MacBookPro10, x. Tab này thường bị ẩn vì các mẫu này có bộ nhớ hàn vào main.

Reset và vô hiệu hoá Thunderbolt ICM

Phần mở rộng khắc phục các tồn tại của TSC chưa được đông bộ hoá khi khởi động macOS trên bo mạch X299 và CPU Skylake-X

+ Tác dụng: kext của Rehabman, hỗ trợ fix cổng USB trên macOS 10.11 trở lên

+ Lưu ý: phải để SMBIOS sát với cấu hình máy đang sử dụng, một số máy có thể cần patch thêm DSDT, SSDT, HPET, IRQ

Trình giả lập Apple SMC nâng cao trong kernel. Yêu cầu Lilu để hoạt động đầy đủ. Tương tự như FakeSMC. Không sử dụng đồng thời VirtualSMC và FakeSMC.Yêu cầu Lilu.kext

  • SMCProcessor.kext: Theo dõi nhiệt độ CPU, không hoạt động trên các hệ thống dựa trên CPU AMD

  • SMCSuperIO.kext: Theo dõi tốc độ quạt, không hoạt động trên các hệ thống dựa trên CPU AMD.

  • SMCLightSensor.kext: Dùng cho cảm biến ánh sáng xung quanh trên máy tính xách tay, không sử dụng nếu bạn không có cảm biến ánh sáng.

  • SMCBatteryManager.kext: Dùng để đo chỉ số pin trên máy tính xách tay

  • SMCDellSensors.kext: Cho phép giám sát và điều khiển quạt tốt hơn trên các máy Dell hỗ trợ Chế độ quản lý hệ thống (SMM).

VoodooHDA

VoodooHDA là trình điều khiển âm thanh mã nguồn mở dành cho các thiết bị Âm thanh độ nét cao của Intel. Nó được thiết kế để thay thế AppleHDA trên Mac OS X với sự hỗ trợ cho nhiều bộ điều khiển âm thanh và codec.

Kext được port từ Linux, hỗ trợ cho bàn rê chuột I2C và các thiết bị khác sử dụng giao thức I2C. Thường có trên laptop chạy core i đời 6 trở lên.

Một phần mở rộng kernel tổng hợp trackpad nguồn mở cung cấp mô phỏng phần mềm Magic Trackpad 2 cho các nguồn đầu vào tùy ý như VoodooPS2.

+ Tác dụng: kext của Rehabman, hỗ trợ tốt cho các loại bàn rê Synaptics (chủ yếu sử dụng trên laptop HP, Lenovo, một số laptop Dell)

+ Lưu ý: không dùng chung với kext khác cùng công dụng như ELAN, ApplePS2.

VoodooSMBus cung cấp trình điều khiển cho macOS để bổ sung hỗ trợ cho các SMBus của Intel I / O Controller Hub (ICH), còn được gọi là i801 SMBus.

VoodooSMBus cũng chứa trình điều khiển thiết bị phụ cho thiết bị ELAN Touchpad được tìm thấy trên SMBus của một số kiểu Thinkpad (T480s, L380, P52) giúp bạn có thể sử dụng các cử chỉ cảm ứng đa điểm một cách hiệu quả.

Đồng bộ hóa TSC trên bất kỳ CPU Intel nào. Phiên bản này tự động gắn vào CPU cuối cùng một cách tự động. Khác với các phiên bản trước, không cần sửa đổi Info.plist, chỉ cần cài đặt và sử dụng.

Một cổng cho macOS mã RMI của Synaptic từ Linux. RMI4 được sử dụng cho màn hình cảm ứng, bàn di chuột và các cảm biến khác - mặc dù triển khai này chỉ có mã cho bàn di chuột / điểm theo dõi. Nhiều bàn di chuột và cảm biến PS2 hỗ trợ các bus khác như I2C hoặc SMBus, mặc dù SMBus có lợi cho macOS do không yêu cầu chỉnh sửa ACPI.

Trình điều khiển này giao tiếp qua SMBus hoặc I2C.

Plugin Lilu cung cấp các bản vá để chọn GPU trên macOS. Yêu cầu phiên bản Lilu phù hợp

XHCI-200-series-injector

Kext đi kèm với USBInjectAll, sử dụng với mainboard chạy chipset 2xx trở lên (H210, B250 …)

XHCI-x99-injector

Kext đi kèm với USBInjectAll, chuyên sử dụng với các loại mainboard chạy chip server như X99 trở lên

Kext đi kèm với USBInjectAll, kích hoạt các cổng USB mà USBInjectAll.kext không hỗ trợ.

Cảm ơn các bạn đã đọc bài!

Để tìm hiểu thêm về Hackintosh. Hãy tham gia group HSVN - Hackintosh Vietnam của chúng tôi.

Last updated