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ị
Tiến hành
Method1: Dùng IOreg
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
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

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
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

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

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

B5: Reboot và tận hưởng.
Source tham khảo:
Last updated