Patch Connect Type/ Force RGB/ Inject EDID

Nội dung của bài viết này sẽ giúp giải quyết các vấn đề sau:

  • Patch connector type

    • Giúp điều chỉnh thông tin cổng xuất màn hình

      • Thường khi bạn patch igpu các thông tin cổng màn hình sẽ được dectect theo platform-id

        • Thông tin loại cổng kết nối được detect thông qua cách này có thể bị sai

        • Do đó patch connector type sẽ quyết vấn đề này

    • Giải quyết vấn đề đen màn

  • Force RGB

    • Xử lý lỗi lệch màu

      • Ám tím

      • Âm bản

  • Inject EDID

    • Giúp inject thông tin màn hình

    • Fix nhiều lỗi bao gồm cả lệch màu lệch độ phân giải

Patch Connect Type

Chuẩn bị

Hãy tải những tool sau về:

Tiến hành

Method1: Dùng IOreg

Cách này chủ yếu đề hiểu rõ nguyên lý thôi

Mình khuyến khích bạn làm nó theo method 2

Tức là dùng hackintool

B1: Cắm HDMI vào và mở IOReg lên bạn sẽ tìm đến mục IGPU

B2: Tìm đến mục IGPU@2 ở đây màn hình của Laptop sẽ chứa AppleBacklightDisplay còn cắm màn hình rời sẽ chứa AppleDisplay

Method2: Hackintool

Chỉ dùng cho IGPU

B1: Mở Hackintool chuyển tới tab Patch ⇒ Connect

B2: Xác định index màn các bạn đang dùng sẽ có màu xanh khi cắm màn rời sẽ có màu đỏ

Chú ý:

Hình ảnh chỉ mang tính chất minh hoạ

Nên nếu các thông số có không khớp nhau mong các bạn thông cảm

B3: Xác định conX ở đây các bạn sẽ quan tâm đến mục Connector Info ta có như sau theo thứ tự là con0, con1, con2 v.v từ trên xuống dưới.

B4: Các bạn dựa vào đây để xác định type cho cổng

<02 00 00 00>        LVDS và eDP       - Màn hình máy tính xách tay
<10 00 00 00>        VGA               - Không được hỗ trợ trong 10.8 và mới hơn
<00 04 00 00>        DisplayPort       - Cổng ra màn hình USB-C sử dụng DisplayPort
<01 00 00 00>        DUMMY             - Được sử dụng khi không có cổng vật lý
<00 08 00 00>        HDMI              - Giao diện đa phương tiện độ nét cao (High-Definition Multimedia Interface)
<80 00 00 00>        S-Video           - Video phân tách (Separated Video)
<04 00 00 00>        DVI (Dual Link)   - Giao diện trực quan số (Digital Visual Interface) liên kết kép
<00 02 00 00>        DVI (Single Link) - Giao diện trực quan số liên kết đơn

B5: Xác định các code cần cần thiết

framebuffer-patch-enable | data | 01000000
framebuffer-conX-enable |data | 01000000
framebuffer-conX-type | data | 00080000 

//Ở đây mình sử dụng cổng hdmi

B5: Thêm các code này vào dòng

DeviceProperties -> Add -> PciRoot(0x0)/Pci(0x2,0x0) 

B6: Save và Reboot.

Force RGB

Dùng patch này khi màn hình bạn bị ám tím hay âm bản

Thường đi kèm Injects EDID

B1: Các bạn tải file tại đây.

B2: ​​Kéo file vào Terminal và nhấn Enter.

Lưu ý:

Lúc này các bạn hãy chắc chắn là đã cắm màn ngoài

B3: Các bạn chú ý vào mục output

Copy đường dẫn ở mục này ấn Shift + Command + G

Tiếp đó ấn dán đường dẫn vào rồi nhấn Enter các bạn sẽ được như sau

B4: Các bạn copy thư mục display vendorid.

B5: Nhấn tổ hợp phím Shift + Command + G

Rồi dán đường dẫn sau vào: /Library/Displays/Contents/Resources

Chú ý:

Nếu như các bạn không có thư mục này

Thì hãy tạo nó trong mục Library tên của các thư mục ứng với đường dẫn ở trên.

B5: Tạo thư mục Overrides trong thư mục Contents/Resources .

B6: Thêm thư mục display vendorid vào mục Content

Tiếp theo restart máy và tận hưởng thôi.

Chú ý:

  • Đối với cách này khi mà các bạn xuất nhiều màn thì hãy mua các màn giống nhau

    • Nếu không sẽ có 1 màn bị ám tím.

  • Đối với các macOS dưới Big Sur các bạn phải mount thư mục Library ra bằng Hackintool.

Injects EDID

Method 1: Dùng Hackintool

Lưu ý:

  • Chỉ dùng cho igpu

  • Cần inject EDID khi máy không nhận đủ thông tin màn

    • Hoặc bị lệch màu lỗi sleep/wake v.v

B1: Tải Hackintool tại đây

B2: Mở Hackintool lên và nhấn vào mục Patch ⇒ Patch

B3: Tick vào mục EDID và 1 số mục khác như hình

Lưu ý:

nhớ tick vào mục Graphics Device.

B4: Ấn Generate Patch

Tiếp theo các bạn chuyển mục 2 từ Base64 thành hex bằng hackintool ta sẽ có

00 FF FF FF FF FF FF 00 0D AE 7C 9C 00 00 00 00 23 15 01 03 80 1F 11 60 0A 6F B1 A7 55 4C 9E 25 0C 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 12 1B 56 64 50 00 14 30 30 20 14 00 35 AE 10 00 00 18 00 00 00 FE 00 4E 31 34 30 42 47 45 2D 4C 34 32 0A 20 00 00 00 FE 00 43 4D 4E 0A 20 20 20 20 20 20 20 20 20 00 00 00 FE 00 4E 31 34 30 42 47 45 2D 4C 34 32 0A 20 00 92

B5: Các bạn ấn Patch ⇒ Export bootloader config.plist

B6: Copy mục AAPL00,override-no-connect

Hoặc tạo nó dưới mục PciRoot(0x0)/Pci(0x2,0x0) với giá trị như sau:

AAPL00,override-no-connect | data | 00 FF FF FF FF FF FF 00 0D AE 7C 9C 00 00 00 00 23 15 01 03 80 1F 11 60 0A 6F B1 A7 55 4C 9E 25 0C 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 12 1B 56 64 50 00 14 30 30 20 14 00 35 AE 10 00 00 18 00 00 00 FE 00 4E 31 34 30 42 47 45 2D 4C 34 32 0A 20 00 00 00 FE 00 43 4D 4E 0A 20 20 20 20 20 20 20 20 20 00 00 00 FE 00 4E 31 34 30 42 47 45 2D 4C 34 32 0A 20 00 92

Mỗi máy giá trị mỗi khác nhưng sẽ chung tên và type

Đối với Clover

  • Các bạn add EDID vào mục Graphics ==> Custom EDID

  • Bật Injects EDID lên như hình:

B6: Save lại và Reboot.

Method 2: Dùng One-Key-HIDPI

B1: Các bạn tải One-Key-HIDPI tại đây.

B2: Chạy file .command lên.

B3: Chọn 2.

B4: Chọn Display Icons và nhập Pass.

B5: Chọn độ phân giải màn hình sau đó nhấn Enter

Chú ý:

Nếu độ phân giải màn hình của bạn không có trong đó thì bấm 6

Sau đó gõ độ phân giải màn hình ra

B6: Reboot và tận hưởng thành quả.

Method 3: Dump EDID bằng Windows

Dành cho 1 số bạn EDID bị lỗi.

B1: Các bạn mở Windows lên và search reg

Hoặc nhấn Windows + R rồi gõ regedit

B2: các bạn tìm đến đường dẫn sau:

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\DISPLAY

Ở đây tùy máy sẽ có 1 hoặc 2 folder các bạn mở folder có đuôi là &UID0

B3: Các bạn tiến hành Export File EDID

B4: Các bạn lấy EDID theo quy tắc sau

  • Lấy cột ở giữa viết từ đâu đến dầu gạch nối

  • Sau đó các bạn xóa dấu gạch nối

  • Viết tiếp dãy đằng sau

// Sau khi hoàn thành
00 ff ff ff ff ff ff 00 0d ae 72 14 00 00 00 00 23 15 01 03 80 1f 11 78 0a d1 45 9b 59 57 8e 2b 23 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 12 1b 56 64 50 00 14 30 30 20 14 00 35 ae 10 00 00 18 00 00 00 fe 00 4e 31 34 30 42 47 45 2d 4c 34 32 0a 20 00 00 00 fe 00 43 4d 4e 0a 20 20 20 20 20 20 20 20 20 00 00 00 fe 00 4e 31 34 30 42 47 45 2d 4c 34 32 0a 20 00 06

B5: Các bạn add vào mục AAPL00,override-no-connect tạo nó dưới mục PciRoot(0x0)/Pci(0x2,0x0) với giá trị như sau:

AAPL00,override-no-connect | data | 00 FF FF FF FF FF FF 00 0D AE 7C 9C 00 00 00 00 23 15 01 03 80 1F 11 60 0A 6F B1 A7 55 4C 9E 25 0C 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 12 1B 56 64 50 00 14 30 30 20 14 00 35 AE 10 00 00 18 00 00 00 FE 00 4E 31 34 30 42 47 45 2D 4C 34 32 0A 20 00 00 00 FE 00 43 4D 4E 0A 20 20 20 20 20 20 20 20 20 00 00 00 FE 00 4E 31 34 30 42 47 45 2D 4C 34 32 0A 20 00 92

Mỗi máy giá trị mỗi khác nhưng sẽ chung tên và type

Đối với clover các bạn add EDID vào mục graphics ==> custom edid và bật injects edid lên như hình

B6: Reboot và tận hưởng.

Method 4: Dùng IOReg

B1: Các bạn tải IOReg tại đây.

B2: Các bạn mở IOReg lên và search mục display:

Các bạn chọn mục bên dưới mục display 0

Mục apple display nếu dùng màn rời

B3: Các bạn copy mục IODisplayEDID.

B4: Các bạn add vào mục AAPL00,override-no-connect tạo nó dưới mục PciRoot(0x0)/Pci(0x2,0x0) với giá trị như sau :

AAPL00,override-no-connect | data | 00 FF FF FF FF FF FF 00 0D AE 7C 9C 00 00 00 00 23 15 01 03 80 1F 11 60 0A 6F B1 A7 55 4C 9E 25 0C 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 12 1B 56 64 50 00 14 30 30 20 14 00 35 AE 10 00 00 18 00 00 00 FE 00 4E 31 34 30 42 47 45 2D 4C 34 32 0A 20 00 00 00 FE 00 43 4D 4E 0A 20 20 20 20 20 20 20 20 20 00 00 00 FE 00 4E 31 34 30 42 47 45 2D 4C 34 32 0A 20 00 92

Mỗi máy giá trị mỗi khác nhưng sẽ chung tên và type

Đối với Clover các bạn add EDID vào mục Graphics ==> Custom EDID và bật Injects EDID lên như hình:

B5: Reboot và tận hưởng.

Last updated