[Hướng dẫn] Tối ưu hóa nVidia Graphics Card trong Hackintosh
Tổng Quan
a.Để thực hiện việc tối ưu hóa cho dòng card màn hình nVidia, bạn cần có các kiến thức cơ bản sau:- Hiểu biết về hackintoh.
- Hiểu biết về boot loader (viết tắt: BL) các loại: Clover, Chameleon.
- Xuất, sửa lỗi, patch DSDT.
- Đọc được registry của OS X bằng RegistryExplorer.
- Xuất ROM Vga bằng Mac.
- Biết cấu hình cho BL Chameleon hoặc BL Clover.
b.Sau khi hoàn tất bạn nhận được điều gì?
- Card màn hình hổ trợ mặc định đối với các OS X chạy trên nền tảng Intel: 10.6 đến 10.10.
- Loại bỏ các lỗi không mong muốn: đen màn hình khi khởi động.
Yêu cầu
- Phần mềm DarwinDumper 2.9 tải.- Phần mềm nVcap maker 1.4 tải.
- Phần mềm patch dsdt MaciASL tải.
- Phần mềm IORegistryExplorer tải.
Thực hiện
Bước 1: Xác định vi trí card màn hình của bạn để patch trong DSDT bằng IORegistryExplorer. Đây là phần mềm đọc các thông tin của các thiết bị đang được quản lý bởi ACPI, và trình bày theo dạng cây thư mục.Chạy phần mềm IORegistryExplorer, nhập từ "nvda" vào ô tìm kiếm, phần cột bên trái sẽ cho ra nhánh con chứa thiết VGA card của bạn. Bạn có thể xem thêm hình để hiểu rõ hơn:
Kết quả trong hình bạn sẽ thấy VGA card được đăng ký thường trú ở PCI0>PEG0>PEGP. Như vậy khi patch DSDT bạn sẽ phải đặt đúng những thông tin cần thiết theo đúng đường dẫn như trên.
Bước 2: Dump Vga rom bằng DarwinDump.
Bạn chạy DarwinDump, nên sử dụng bản 2.9 hoặc hơn nhé. Tick chuột vào BIOS-Video, sau đấy click run.
DarwinDump sẽ yêu cầu bạn nhập password. Sau khi DarwinDump xuất xong rom VGA card của bạn bạn sẽ nhận được đường dẫn file Rom VGA của bạn (đừng quan tâm cái tên dài thườn thượt của nó nhé!), copy file rom ra desktop.
Bước 3: Lấy NVcap bằng phần mềm NVCAp Maker v1.4, NVcap rất quan trọng đối với VGA Card của nVidia, nên bạn phải cẩn thận ở bước này.
Chạy phần mềm nvcap maker 1.4, nó sẽ yêu cầu bạn nhập file rom VGA mà bạn đã lấy được ở bước trên, trỏ đường dẫn đến file Rom VGA mà bạn đang lưu tại desktop, click open.
Mã nvcap được tạo ra như trên hình, chép đoạn mã đấy lưu trữ cẩn thận.
Bước 4: Patch DSDT để thêm các thông tin của Vga card.
Với các thông tin ở bước 1 và bước 3, ta tiến hành thêm các thông tin vào DSDT.
Chạy phần mềm MaciASL, nó sẽ tự động đọc thông tin của ACPI của máy để bạn dễ dàng chỉnh sửa. Bạn cũng có thể mở file DSDT khác để chỉnh sửa. Yêu cầu ở đây các bạn phải xử lý lỗi DSDT của bạn để việc biên dịch file AML không bị lỗi.
Thêm DTGP, DTGP là là một đoạn lệnh để insert các thông tin thiết bị vào bảng ACPI thông qua file DSDT.aml.
Chọn patch> insert DTGP > apply.
- Tiến hành thêm thông tin của VGA card vào DSDT. Trong maciasl di chuyển đến vị trí thiết bị VGA của bạn như đã tìm thấy ở phần bước 1.
- Thêm đoạn code bên dưới vào vị trí VGA Card trong DSDT
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x1E)
{
"AAPL,slot-name",
Buffer (0x07)
{
"Slot-1"
},
"@0,compatible",
Buffer (0x0B)
{
"NVDA,NVMac"
},
"@0,connector-type",
Buffer (0x04)
{
0x00, 0x08, 0x00, 0x00
},
"@0,device_type",
Buffer (0x08)
{
"display"
},
"@0,name",
Buffer (0x0F)
{
"NVDA,Display-A"
},
"@1,compatible",
Buffer (0x0B)
{
"NVDA,NVMac"
},
"@1,connector-type",
Buffer (0x04)
{
0x00, 0x08, 0x00, 0x00
},
"@1,device_type",
Buffer (0x08)
{
"display"
},
"@1,name",
Buffer (0x0F)
{
"NVDA,Display-B"
},
"NVCAP",
Buffer (0x18)
{
/* 0000 */ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
/* 0008 */ 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A,
/* 0010 */ 0x00, 0x00, 0x00, 0x00
},
"VRAM,totalsize",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x40
},
"device_type",
Buffer (0x0C)
{
"NVDA,Parent"
},
"model",
Buffer (0x10)
{
"GeForce GTX 285"
},
"rom-revision",
Buffer (0x1D)
{
"nVidia GTX 285 OpenGL Engine"
},
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Device (HDAU)
{
Name (_ADR, One)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x02)
{
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
- Trong đó thay đoạn
"NVCAP",bằng đoạn nvcap đã tạo ở bước 3.
Buffer (0x18)
{
/* 0000 */ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
/* 0008 */ 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A,
/* 0010 */ 0x00, 0x00, 0x00, 0x00
},
- Thay đoạn
Buffer (0x10)theo tên vga card của bạn.
{
"GeForce GTX 285"
},
"rom-revision",
Buffer (0x1D)
{
"nVidia GTX 285 OpenGL Engine"
},
- Sửa
"VRAM,totalsize",với 0x80 : 2gb
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x40
},
0x40 : 1 gb
0x20 : 512mb
0x10 : 256mb
Phần còn lại bạn không nên thay đổi.
- Biên dịch và lưu lại với tên dsdt.aml
Bước 5: Chỉnh sửa file config của boot loader.
* Đối với BL Chameleon:
- Lưu dsdt.aml vào thư mục /Extra
- Thêm
<key>GraphicsEnabler</key>vào org.chameleon.boot.plist lưu trong /Extra
<String>yes</string>
* Đối với BL Clover:
- Lưu dsdt.aml vào /EFI/Clover/ACPI/patched
- Thêm inject nVidia ở tab graphic
OK! giờ là lúc khởi động lại xem kết quả!
Tác giả: Tiến La Văn
Sign up here with your email
ConversionConversion EmoticonEmoticon