Disable unsupport PCIe

Nếu bạn có các device PCIe unsupport thì nên disbale đi.

Đối với một số PCIe không support mà không bị disbale thì có thể sẽ dẫn đến một số lỗi không mong muốn

Xác định PCIe path

ACPI path

Xem chi tiết tại đây

Device path

Dùng Device manager

Xem chi tiết tại đây

Dùng hackintool

B1: Tải hackintool

B2: Truy cập vào tab PCIe

B3: Chú ý vào mục Device NameClass để xác định thiết bị PCIe cần disable

B4: Chuột phải vào dòng hiện thị thông tin của thiết bị PCIe cần disable và chọn Copy Device path

Như vậy là done bạn đã xác định đước device path của mình rồi

Dùng gfxutil

B1: Tải gfxutil

B2: Kéo nó vào terminal rồi enter

B3: Tìm thiết bị PCIe cần disable trong các list device vừa hiện ra

B4: Copy device path đi là được

Tiến hành

Chú ý ở đây mình đưa ra nhiều phương pháp bạn có thể thử từng cái

Nhưng hãy nhớ chỉ được làm từng cái 1 không làm cùng lúc

Dùng Method _STA

Giải thích 1 chút về cách này

  • Method _STA là method thể hiện trang thái của devices

    • _STA là viết tắt của STATUS

  • Nên nguyên lý hoạt động của nó chính là thay đổi trạng thái hoạt động của devices về disable thôi

Xem chi tiết tại đây

Dùng Device properties

Giải thích 1 chút về cách này

  • Đầu tiên bạn phải biết Device properties là phần dùng để inject thông tin của devices

  • Nên cách này sẽ inject một thông tin dummy vào devices dẫn đến việc nó bị disable

B1: Mở file config.plist bằng propertree

B2: Tìm đến phần DeviceProperties --> Add rồi ấn Control +

Nếu là Mac thì Command +

B3: Thay thế theo bảng sau

B4: Chọn vào dòng vừa add rồi nhấn 2 lần Control +

Hoặc sẽ là 2 lần Command + nếu như ở Mac

B5: Chỉnh sửa các giá trị theo bảng sau

Như vậy là xong rồi bạn nhé

Dùng SSDT-DPCIe

Khi làm theo những cách trên thì bạn sẽ còn tìm thấy những devices pcie đó trong hackintool

Nhưng với cách này bạn sẽ không còn nhìn thấy nó trong hackintool nữa

1 số lưu ý

  • Phương pháp này chỉ dùng cho child Pcie devices mà thôi

  • Đồng thời child devices cần có Subdevice addressName (_ADR, Zero)

  • Tiếp theo device mẹ có các biến xác định thông tin của child device được định nghĩa bằng dòng PCI_Config hoặc SystemMemory

    • Giải thích thêm một chút đây là nơi bit D4 dữ liệu của offset 0x55

      • Đây là offset thể hiện thộc tính hoạt động của thiết bị

Phần này chủ yếu cho biết vì mọi devices hiển thị trong hackintool đều dùng được cách này

Nguyên lý hoạt động

Vấn như những cách trước nó vẫn chỉ là inject 1 cái thuộc tính dummy vào device làm cho mac không nhận

Để tìm hiểu rõ nguyên lý hoạt động ta sẽ cần phải biết các child device thường ở trên những dòng máy mới sẽ có name là PXSX và device mẹ của chính sẽ có name là RP01, RP02, RP03,...

Như đã nói ở trên các child devices sẽ được inject thông tin trong device mẹ bởi các biến inject thông tin được định nghĩa có chứa dòng PCI_Config hoặc SystemMemory

Và ở đây SSDT này sẽ tạo thêm 1 biến inject thông tin như vậy ở trong device mẹ

Đương nhiên thông tin đó là dummy điều này sẽ dẫn đến thông tin bị sai và cũng chính là nguyên nhân dẫn đến sự biến mất của child device đó trong hackintool.

Đồng thời nó sẽ kết hợp với method _STA giúp disable device này.

Với nguyên lý hoạt động đó nếu 2 child devices bạn muốn disable đi đều nằm trong 1 devices mẹ thì khi dùng SSDT này bạn sẽ disable cùng lúc cả 2 child devices này

B1: Tải file SSDT-DPCIe về

B2: Thay thế ACPI-Path mặc định thành ACPI-Path đã xác định ở trên

Ví dụ ACPI path của mình xác định được là _SB.PCI0.RP17

Thì mình sẽ thay _SB.PCI0.RP01 thành _SB.PCI0.RP17

B3: Complie SSDT và save lại dưới dạng .aml

Nếu như bạn không biết làm bước này vui lòng tham khảo tại đây

B4: Bỏ file SSDT vừa complie vào EFI --> OC --> ACPI và tiến hành oc snapshot

Nếu như bạn không biết OC_Snapshot thì tham khảo tại đây

Nếu như là Clover thì chỉ việc cho vào EFI --> Clover --> ACPI --> Patched mà không cần OC_Snapshot

B5: Reboot và tận hưởng thành quả thôi

Nếu như bạn thêm SSDT này vào mà bị inject ACPI sang windows thì bạn có thể dùng EFI NO ACPI

Thường là lỗi màn hình xanh

Tham khảo chi tiết tại đây

Source tham khảo của cách này là https://github.com/5T33Z0/OC-Little-Translated/tree/main/02_Disabling_Devices/Disabling_PCI_Devices/ACPI | https://github.com/daliansky/OC-little/tree/master/

Đối với IGPU

Bạn có thể làm theo cách trên

Hoặc chỉ đơn giản là thêm boot-arg -wegnoigpu

Hay disable nó ở trong bios. Nó có thể là một trong số những option sau. Hoặc là một option nào đó tương tự trong bios

  • Initial Display Output

  • Primary Display

  • Primary Graphics Adapter

  • ntegrated Grahics Adapter

Last updated