Fix Connector
Patch Busid
Patch thủ công
Lấy Busid
B1: Các bạn truy cập vào bài Patch iGPU để lấy code.
B2: Chọn Spoiler
để lấy Busid.
B3: Chọn phần có ID trùng với appl-id
của bạn như id của mình là 0x01660003
.
B4: Chú ý như sau:
B5: Ta có các dòng ở vị trí thứ 1 sẽ tương ứng con0
và tiếp tục như vậy
Tiến hành
B1: Chỉnh về loại type mà các bạn muốn ta có như sau:
05 03 0000 02000000 30000000
index | busid | type | flag |
B2: Chuyển type code của dòng code mà bạn lấy:
05 030000 02000000 30000000 ⇒ 05 030000 00080000 30000000
<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
B3: Thử các busid từ 01 ⇒ 06
Chú ý rằng 1 số busid sẽ không khả dụng với các loại connector type
nhất định
Xem bảng sau
HDMI
0x1
0x2
0x4
0x5
0x6
DP/Vga
0x2
0x4
0x5
0x6
DIVI
0x1
0x2
0x4
0x6
05030000 00080000 30000000 ⇒ 05xx0000 00080000 30000000
B4: Disable 2 port còn lại đi bằng cách thay busid của các port muốn disable thành 00
như ở đây của mình là:
02050000 00040000 07040000 ⇒ 02**00**0000 00040000 07040000
03040000 00040000 81000000 ⇒ 03**00**0000 00040000 81000000
04060000 00040000 81000000 ⇒ 04**00**0000 00040000 81000000
Sau khi đổi ta được
framebuffer-patch-enable | Data | 01000000
framebuffer-con0-enable | Data | 01000000
framebuffer-con1-enable | Data | 01000000
framebuffer-con2-enable | Data | 01000000
framebuffer-con3-enable | Data | 01000000
framebuffer-con0-alldata | Data | 05**01**0000 00080000 30000000
framebuffer-con1-alldata | Data | 02**00**0000 00080000 07040000
framebuffer-con2-alldata | Data | 03**00**0000 00080000 81000000
framebuffer-con3-alldata | Data | 04**00**0000 00080000 81000000
B5: Add các giá trị vào mục device properties ở dưới device properties ==> PciRoot(0x0)/Pci(0x2,0x0)
Đối với Clover
Thì đường dẫn sẽ là
device ==> properties ==> PciRoot(0x0)/Pci(0x2,0x0)
Lưu ý
Nếu vẫn chưa thành công sau khi đổi các busid cho port 1
Các bạn sẽ disable port 1 đi và enable port 2 sau đó đổi busid của port 2
Thử từng busid 01 ⇒ 06 và cứ tiếp tục như vậy
05010000 02000000 30000000
02020000 00040000 07040000
03030000 00040000 81000000
04040000 00040000 81000000
Lưu ý:
Nếu trong quá trình thử mà bạn đều bị treo táo thì hãy thử add arg sau vào boot-arg
igfxonln=1
và igfxonlnfbs=MASK
Hoặc add patch sau vào device properties
force-online|data|01000000
force-online-framebuffers |data|00000000 00000003
Dưới pci-path của IGPU
Lưu ý :
Đối với các bạn khi xuất màn bằng HDMI khi Full tab ra bị tắt màn hình thì các bạn vào setting chỉnh như hình
Patch với Hackintool
B1: Tải hackintool.
B2: Các bạn chọn như hình:
B3: Chỉnh platformid và Intel Gen
mình mặc định là các bạn đã patch iGPU trước đó
nếu bạn nào chưa patch thì xem tại đây
B4: Chuyển qua mục connect
B5: Cắm các dây xuất màn hoạt động vào
Ở đây mình chỉ có 1 cổng internal là hoạt động
Thử từng dây nếu máy có 4 port xuất màn trong đó có 1 port HDMI thì các bạn cắm 3 port còn lại nếu nhận thì port ko tick đỏ chính là port HDMI
B6: Nhấn chuột phải vào mục busid của các port ko chuyển màu và thử từ 0x01 ⇒ 0x06 sau đó chỉnh type lại
Đổi từng port 1 không đổi cùng lúc nhiều port
B7: Chuyển tới tab Patch ⇒ General ⇒ Patch ⇒ Advance
và chỉnh như hình.

Mục
spoof device id
các bạn có thể xem ở phần patch iGPU
B8: Chọn mục Generate Patch
.
B9: Chọn file ⇒ export ⇒ bootloader config.plist
B10: Mở cả 2 file là config.plist
và file vừa tạo copy các mục trong Device Properties của file vừa tạo qua config sau đó Restart máy
Đối với Clover thì copy như hình

Lưu ý : Khi patch bằng hackintool
Nếu các bạn chỉ muốn patch hdmi thôi thì nên disable các port chx patch và thử giống như patch busid thủ công
Hoặc nếu bạn nào muốn dùng nhanh thì có thể dùng mẹo mà mình đã hướng dẫn ở trên
Lưu ý:
Đối với 1 số dòng main của pc thì đã có các patch sẵn các bạn chỉ cần add vào thôi
Vào tab
patch ⇒ system configs
trên menu barKhi này các setting sẽ được tự động detec công việc còn lại chỉ là generate patch thôi
Enable lspcon driver support
B1: Add enable-lspcon-support|Data|01000000
vàoigpu properties
Hoặc add arg
-igfxlspcon
B2: Add framebuffer-conX-has-lspcon|Data|01000000
thay thế X
với con hdmi của các bạn
thử từng con 1 hoặc thử cùng lúc
3 con
Một tuỳ chọn thêm dành cho các bạn
framebuffer-conX-preferred-lspcon-mode
Để có thể tuỳ chỉnh đầu ra hdmi của các bạn với type là
DATA
và các giá trị01000000
PCON, DP to HDMI 2.0
00000000
LS, DP to HDMI 1.4
Mọi giá trị khác đều được coi là chế độ PCON
Khi không add properties này thì chế độ PCON sẽ là chế độ được ưu tiên
Patch NVCAP General
Chuẩn bị
B1: Tải gfxutil
Sau đó vào terminal gõ lệnh
path/to/gfxutil -f display
sau khi gõ lệnh sẽ được như hình

Các bạn chú ý đến dòng
PciRoot(0x2)/Pci(0x0,0x0)/Pci(0x0,0x0)
.
B3: Add dòng sau vào
config.plist ⇒ root ⇒ device properties ⇒ add ⇒PciRoot(0x2)/Pci(0x0,0x0)/Pci(0x0,0x0) | dictionary
B4: Tải file vbios phù hợp với cấu hình theo link sau VGA Bios Collection | TechPowerUp.
B5: Tải Node JS’s site.
Xác định cấu trúc cần Patch
Các bạn xác định theo bản sau cần chú ý đến các mục như sau:
model
GeForce GT 220
Tên model GPU, thông tin hiển thị
device_type
NVDA,Parent
Luôn được đặt là NVDA,Parent
VRAM,totalsize
0000004000000000
Đặt kích thước VRAM
rom-revision
Dortania
Thuộc tính phải tồn tại, tuy nhiên giá trị có thể là bất kỳ giá trị nào
NVCAP
0500000000000F00000000000000000F00000000
Đặt thuộc tính hiển thị được macOS sử dụng, thêm thông tin bên dưới
@0,compatible
NVDA,NVMac
Luôn được đặt là NVDA,NVMac
@0,device_type
display
Luôn được đặt là display
@0,name
NVDA,Display-A
Luôn được đặt là NVDA,Display-A
@1,compatible
NVDA,NVMac
Luôn được đặt là NVDA,NVMac
@1,device_type
display
Luôn được đặt là display
@1,name
NVDA,Display-B
Luôn được đặt là NVDA,Display-B
Tiến hành
B1: Xác định model phần này bạn sẽ chọn vualt là tên Card rời.
B2: Xác định VRAM:
Chọn số vram bạn muốn set như ở đây mình muốn set là 1024 thì sẽ nhập như sau vào terminal
echo '"số ram muốn set" * 1024 * 1024' | bc
echo '1024 * 1024 * 1024'| bc
echo ‘obase=16; ibase=10; giá trị vừa có ở mục trên’ | bc
// Ví dụ
echo ‘obase=16; ibase=10; 1073741824’ | bc
//Các bạn tách thành các cặp như sau
40000000 ⇒ 40 00 00 00
//Đảo ngược thứ tự các cập
40 00 00 00 ⇒ 00 00 00 40
//Thế 8 số 00 vào cuối dãy dữ liệu
00 00 00 40 ⇒ 00 00 00 40 00 00 00 00
//Cuối cùng kết nối các dữ liệu lại ta được
0000004000000000
B3: Patch rom-revision.
B4: Xác định NVCAP.
Các bạn nhập các dòng sau vào Terminal:
git clone https://github.com/1Revenger1/NVCAP-Calculator
cd NVCAP-Calculator
npm install
npm run run
Nhấn 1 và kéo VBIOS vào sau đó Enter
Nhấn 3 sẽ được như hình
Gắn display với heads bằng cách nhập số display trước heads sau
ví dụ: 1 -1 sẽ được như hình
Các bạn nhấn lại 1 lần nữa để huỷ bỏ liên kết vd 1 -1 sẽ được như hình.
Tiếp các bạn đặt các giá trị NVCAP theo bảng sau:
Version
Phiên bản NVCAP
04 (dành cho dòng 7 series trở về trước), 05 (dành cho dòng 8 series trở về sau)
3 rồi 4
Composite
Loại tín hiệu
01 (dành cho S-Video), 00 (các trường hợp khác)
4 để chuyển đổi
Script based Power/Backlight
Kiểm soát nguồn/độ sáng bằng script
00 (chỉ hữu ích trên MacBook Pro chính hãng)
3 để chuyển đổi
Field F (Unknown)
Chưa rõ
0F (dành cho dòng 300 series trở về sau), 07 (các trường hợp khác)
6 rồi 0x0f
Sau khi hoàn thành các bạn nhấn phím
C
sẽ được như hình
Tại đây ta sẽ được giá trị NVCAP
NVCAP: 05000000 00000300 0c000000 0000000f 00000000
Lưu ý:
Mỗi heads chỉ có thể xuất ra 1 màn hình 1 lúc nên bạn phải cẩn thận khi chọn heads
Ví dụ:
Bạn có 2 cổng HDMI muốn xuất ra 2 màn hình
Lúc này bạn phải để 2 display kết nối với 2 hex khác nhau.
B4: Sau khi làm xong các bước trên các bạn sẽ được như sau:
PciRoot(0x2)/Pci(0x0,0x0)/Pci(0x0,0x0)
model | String | GeForce GT 220
device_type | String | NVDA,Parent
VRAM,totalsize | Data | 0000004000000000
rom-revision | String | Dortania
NVCAP | Data | 05000000 00000300 0c000000 0000000f 00000000
@0,compatible | String | NVDA,NVMac
@0,device_type | String | display
@0,name | String | NVDA,Display-A
@1,compatible | String | NVDA,NVMac
@1,device_type | String | display
@1,name | String | NVDA,Display-B
B5: Add các giá trị sau vào mục Config.plist ⇒ Root ⇒ DeviceProperties ⇒ Add ⇒
dòng vừa add ở bước chuẩn bị
Lưu ý:
Nếu các bạn dùng cáp chuyển thì set type theo đầu cắm vào Main của máy
VD
HDMI to DP
set type làHDMI
.
Clover-NVCAP
Đối với Clover các bạn chỉ cần bật mục injects nvidia
lên là được.


Last updated