Patch âm thanh với AppleALC

Patch âm thanh

B1: Tải xuống kext AppleALC từ nguồn sau

B2: Down hackintool từ nguồn sau

B3: Mở Hackintool, vào tab Sound vào mục ALC Layout ID chọn layout phù hợp và thay vào config mục NVRAM ==> boot arg ==>alcid=xx

Của mình sẽ là alcid=3

Bạn cũng có thể add layout-id vào device properties

Dùng Device Properties

B1: Mở config.plist bằng Propertree

B2: Tìm đến mục Root --> DeviceProperties --> PciRoot(0x0)/Pci(0x1f,0x3)

B3: Add layout-id phía dưới mục trên

B4: Chỉnh type cho layout-id Apple ALC cho phép bạn chỉnh type là Hex hoặc Decimal đều được

  • Nếu bạn chọn Hex thì chỉnh type là Data

  • Nếu bạn chọn Decimal thì chỉnh type là Number

B5: Diền layout-id đã xác định trong hackintool vào đây

  • Nếu như ở trên bạn set type của layout-id là Data thì bạn sẽ cần phải covert decimal thành hex

    • Chỉnh sửa layout ID thành một cặp 2 chữ số

      • VD: D -> 0D, C -> 0C, FF -> FF

    • Sau đó thêm 000000 vào cuối cặp 2 chữ số để được layout-id hoàn chỉnh

      • Ví dụ:

        • layout-id | Data | <0B000000>

        • layout-id | Number | <11>

  • Nếu như ở trên bạn set type của layout-id là Number thì bạn chỉ việc điền layout-id vào thôi mà không cần chuyển đổi

B6: Xoá boot-arg alcid=xx để Properties này hoạt động

B4: Snapshot config và restart máy

Lưu ý:

  • Nếu bạn đã làm và máy vẫn không nhận mic hoặc ko nhận speaker thì bạn thay tất cả layout-id khác

  • Thử từng layout-id cho tới khi nhận đầy đủ

  • Nếu phần hackintool mục sound của bạn không hiện gì cả thì các bạn sẽ tiến hành patch hpet như hướng dẫn ở dưới

  • Hoặc bạn cũng có thể patch Apple-ALC trực tiếp trên windows

    • Tìm Layout-ID phù hợp với codec thông qua trang sau

Chú ý:

  • Nếu như đã patch hpet vẫn không hiện thì các bạn cứ patch bình thường không ảnh hưởng lỗi thường gặp ở gen 10 các bạn vào Linux để xác định codec

    • Chỉ gen 9 + mới bị

  • Một số bạn dùng efi prebuilt cũng có thể gặp lỗi này

  • Bạn có thể kiểm tra xem kext AppleALC có được load hay không thông qua Hackintool -> Extension

  • Bạn cũng có thể kiểm tra xem layout-id đã được apply hay chưa bằng cách xem Hackintool --> Sound --> Layout-ID

    • Hoặc là check Ioreg

Xác định codec ở linux

B1: vào terminal gõ lệnh sau cat /proc/asound/card0/codec#0 > ~/Desktop/codec_dump_0.txt

B2: tìm alcid** tại đây

Đối với một số bạn thử fix AppleHDA không được và AppleALC bị lỗi thì các bạn có thể tham khảo cách cài cũng như tinh chỉnh VoodooHDA theo hướng dẫn tại đây

Patch Hpet, IRQ

Lỗi này thường xảy ra đối với các máy Intel gen 5th trở xuống

B1: Dump DSDT xem hướng dẫn ở mục Patch DSDT phần 1

B2: Gõ D và kéo file DSDT của bạn vào tiếp nhấn enter

B3: Chọn mục patch hpet chọn sau đó chọn c và enter

Hoặc chọn phù hợp nhất cho máy của các bạn

B4: Lấy file SSDT-Hpet.aml vừa dum copy nó vào folder ACPI trong EFI

B5: Mở file patches_OC.plist vừa dump và copy mục patch qua mục patch của file config

Nếu chưa chỉnh gì mục patch của file config thì bạn có thể thay thế nó bằng mục patch của file patches_OC.plist

B6: Snapshot và restart

Chú ý cho Clover:

  • Bạn sẽ copySSDT vào mục EFI --> Clover --> ACPI --> patched

  • Copy file patches_clover.plist vào config thay vì là file patches_OC.plist

Sử dụng sound card PCIe

B1: Check path PCIe của sound card

Có thể dùng gfxutil kéo và terminal

Hoặc bạn có thể dùng device manager theo hướng dẫn tại đây

Hoặc dùng hackintool như hướng dẫn phía dưới

Dùng hackintool tab PCIe

B1: Mở hackintool tab PCIe

B2: Tìm đến mục tên sound card của bạn trong cột Device Name

B3: Copy Device Path của sound card

B2: Mở Config.plist bằng propertree

B3: Add dòng device-path bạn tìm được ở bước 1 ở dưới DeviceProperties -> ADD

KeyTypeGhi chú

Device-path của các bạn

Dictionary

Thay New String thành PCI Path. Nhấp hai lần vào Type để chọn định dạng khác

B4: Chọn vào device-path vừa add nhấn tổ hớp phím command + và add dòng sau vào

KeyTypeValue

external-audio

Data

01

Xử lý lỗi

No Mic on AMD

Đây là lỗi quá quen thuộc trên AMD và bạn không thể fix một các đơn giản được

Chúng tôi đề xuất hai cách fix:

Kernel Panic on power state changes in 10.15

Các xử lý:

Enable PowerTimeoutKernelPanic trong config.plist:

  • Kernel -> Quirks -> PowerTimeoutKernelPanic -> True

AppleALC working inconsistently

Đôi khi phần cứng âm thanh của bạn chưa khởi động khi AppleHDAController được load điều này dẫn đến việc không có âm thanh

Để nhận biết thì khi bạn khởi động sẽ có xác xuất nào đó âm thanh của bạn sẽ hoạt động

Để giải quyết vấn đề này tôi để xuất 2 phương pháp

  • Add boot-arg: alcdelay=1000

  • Hoặc dùng DeviceProperties

    • alc-delay | Number | 1000

      • Add properties này ở dưới device-path audio trong config.plist

  • Bạn có thể tăng giảm độ trễ nhưng chú ý độ trễ không vượt quá 3000

AppleALC không work khi boot từ Windows

Dấu hiệu:

Khi bạn boot tư windows sang macos nếu apple ALC không hoạt động

Đối với trường hợp này chúng tôi đề xuất 2 phương pháp:

  • Add boot-arg: alctcsel=1

  • Hoặc dùng DeviceProperties

    • alctcsel | Data | 01000000

      • Add properties này ở dưới device-path audio trong config.plist

Last updated