miliuco
Activo
Los poseedores de tarjetas NVidia Geforce 8800Gt con 512 MB de memoria saben que es relativamente fácil instalarlas en Leopard 10.5. Si la tarjeta funciona bien con NVinject o similar no se obtiene mejora con el método aquí comentado, es solamente otra forma de hacer las cosas, ingeniosa (y más compleja para el usuario final): inyectar una cadena relativa a la tarjeta gráfica en el arranque de OSX para que sea correctamente reconocida sin instalar driver inyector (de hecho, hay que borrar la extensión NVinject si previamente la tenemos instalada).
Este texto está basado en los trabajos de Netkas, Zephiroth, Cyclonefr, Agrafuese y Macgirl.
¿Qué se necesita para esta tarea?
- Hackintosh con 10.5.2 y kernel 9.2.0
- EFi v8 (el método funciona con la versión de EFi que instala el DVD de Kalyway 10.5.2)
- tarjeta 8800GT con 512 MB de memoria
- utilidad gfxutil (en foros de Netkas y otros sitios)
- archivo xml con extensión PLIST apropiado para el modelo de tarjeta gráfica
- conocer el uso del Terminal
1.- Conectar la tarjeta en el puerto DVi correcto
Siempre en el que está más cercano a la placa base para evitar problemas.
2.- Elegir archivo PLIST
El archivo plist ha de tener el nombre de in.plist y ha de estar junto a la utilidad gfxutil >> abre el archivo plist en TextEdit (ver ejemplo al final).
3.- Crear la cadena GFX
Para obtener la ruta al dispositivo de la tarjeta gráfica se usa en Terminal:
sudo -s
./gfxutil -f display
La salida del comando es similar a ésta:
"DevicePath = PciRoot(0x1)/Pci(0xe,0x0)/Pci(0x0,0x0)"
Copia ese texto sin la parte "DevicePath = " >> vuelve al archivo in.plist que está abierto >> pega el texto en lugar de "PASTE DEVICE PATH HERE" >> la línea debe aparecer como ésta:
<key>PciRoot(0x1)/Pci(0xe,0x0)/Pci(0x0,0 x0)</key>
4.- Inyectar la cadena GFX
Guarda y cierra el archivo in.plist >> Vuelve al Terminal:
./gfxutil -i xml -o hex ./in.plist ./out.hex
Abre el nuevo archivo out.hex en TextEdit >> copia la cadena entera de caracteres que aparece en él >> vuelve al Terminal:
nano /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
Busca las 2 últimas líneas:
</dict>
</plist>
Justo encima de ellas, añade este texto:
<key>device-properties</key>
<string>PEGA AQUÍ LA CADENA COPIADA DESDE OUT.HEX</string>
Guarda (Ctrl + O) y cierra (Ctrl + X) el archivo com.apple.Boot.plist
5.- Limpieza y permisos de KEXTs
Limpia las cachés y repara permisos
rm -rf /System/Library/Extensions.mkext
rm -rf /System/Library/Extensions/Caches/
rm -rf /System/Library/Caches/
diskutil repairPermissions /
6.- Finalizar
Reiniciar y comprobar si todo va bien.
ANEXO
Ejemplo de archivo in.plist de Cyclonefr para utilizar con gfxutil:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PASTE DEVICE PATH HERE</key>
<dict>
<key>@0,AAPL,boot-display</key>
<data>
</data>
<key>@0,NVMT</key>
<data>
CwN/ICLwzyaAB7AEIAiwB9AHAADTBLMEuQQAAIDaLQkAAAABAAAAAQAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAAAAAAAECz1QkBAAAAAAAAAAAI
AAAAAAAA
</data>
<key>@0,can-hot-plug</key>
<data>
</data>
<key>@0,compatible</key>
<data>
TlZEQSxOVk1hYw==
</data>
<key>@0,device_type</key>
<data>
ZGlzcGxheQ==
</data>
<key>@0,display-cfg</key>
<data>
AwEAAA==
</data>
<key>@0,fboffset</key>
<data>
AAAGAA==
</data>
<key>@0,name</key>
<data>
TlZEQSxEaXNwbGF5LUE=
</data>
<key>@1,can-hot-plug</key>
<data>
</data>
<key>@1,compatible</key>
<data>
TlZEQSxOVk1hYw==
</data>
<key>@1,device_type</key>
<data>
ZGlzcGxheQ==
</data>
<key>@1,display-cfg</key>
<data>
//8AAQ==
</data>
<key>@1,name</key>
<data>
TlZEQSxEaXNwbGF5LUI=
</data>
<key>AAPL,EMC-Display-List</key>
<data>
AwAAAAAAAAAAAAAAAAAAAAYQAAAbkgAAAAAAAAAAAAAGEAAAHJIAAAAAAAAA
AAAABhAAACGSAAAAAAAAAAAAAA==
</data>
<key>AAPL,aux-power-connected</key>
<data>
AQAAAA==
</data>
<key>AAPL,backlight-control</key>
<data>
AAAAAA==
</data>
<key>AAPL00,Coherency</key>
<data>
AgAAAA==
</data>
<key>AAPL00,blackscreen-preferences</key>
<data>
AAAACA==
</data>
<key>AAPL01,blackscreen-preferences</key>
<data>
AAAACA==
</data>
<key>NVCAP</key>
<data>
BQAAAAAAAwAMAAAAAAAACwAAAAA=
</data>
<key>NVDA,Features</key>
<data>
/wJPBQ==
</data>
<key>VRAM,totalsize</key>
<data>
AAAAIA==
</data>
<key>device_type</key>
<data>
TlZEQSxQYXJlbnQ=
</data>
<key>model</key>
<data>
TlZJRElBIEdlRm9yY2UgODgwMCBHVA==
</data>
<key>rom-revision</key>
<data>
MzIzMw==
</data>
<key>subsystem-id</key>
<data>
TwUAAA==
</data>
</dict>
</dict>
</plist>
Este texto está basado en los trabajos de Netkas, Zephiroth, Cyclonefr, Agrafuese y Macgirl.
¿Qué se necesita para esta tarea?
- Hackintosh con 10.5.2 y kernel 9.2.0
- EFi v8 (el método funciona con la versión de EFi que instala el DVD de Kalyway 10.5.2)
- tarjeta 8800GT con 512 MB de memoria
- utilidad gfxutil (en foros de Netkas y otros sitios)
- archivo xml con extensión PLIST apropiado para el modelo de tarjeta gráfica
- conocer el uso del Terminal
1.- Conectar la tarjeta en el puerto DVi correcto
Siempre en el que está más cercano a la placa base para evitar problemas.
2.- Elegir archivo PLIST
El archivo plist ha de tener el nombre de in.plist y ha de estar junto a la utilidad gfxutil >> abre el archivo plist en TextEdit (ver ejemplo al final).
3.- Crear la cadena GFX
Para obtener la ruta al dispositivo de la tarjeta gráfica se usa en Terminal:
sudo -s
./gfxutil -f display
La salida del comando es similar a ésta:
"DevicePath = PciRoot(0x1)/Pci(0xe,0x0)/Pci(0x0,0x0)"
Copia ese texto sin la parte "DevicePath = " >> vuelve al archivo in.plist que está abierto >> pega el texto en lugar de "PASTE DEVICE PATH HERE" >> la línea debe aparecer como ésta:
<key>PciRoot(0x1)/Pci(0xe,0x0)/Pci(0x0,0 x0)</key>
4.- Inyectar la cadena GFX
Guarda y cierra el archivo in.plist >> Vuelve al Terminal:
./gfxutil -i xml -o hex ./in.plist ./out.hex
Abre el nuevo archivo out.hex en TextEdit >> copia la cadena entera de caracteres que aparece en él >> vuelve al Terminal:
nano /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
Busca las 2 últimas líneas:
</dict>
</plist>
Justo encima de ellas, añade este texto:
<key>device-properties</key>
<string>PEGA AQUÍ LA CADENA COPIADA DESDE OUT.HEX</string>
Guarda (Ctrl + O) y cierra (Ctrl + X) el archivo com.apple.Boot.plist
5.- Limpieza y permisos de KEXTs
Limpia las cachés y repara permisos
rm -rf /System/Library/Extensions.mkext
rm -rf /System/Library/Extensions/Caches/
rm -rf /System/Library/Caches/
diskutil repairPermissions /
6.- Finalizar
Reiniciar y comprobar si todo va bien.
ANEXO
Ejemplo de archivo in.plist de Cyclonefr para utilizar con gfxutil:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PASTE DEVICE PATH HERE</key>
<dict>
<key>@0,AAPL,boot-display</key>
<data>
</data>
<key>@0,NVMT</key>
<data>
CwN/ICLwzyaAB7AEIAiwB9AHAADTBLMEuQQAAIDaLQkAAAABAAAAAQAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAAAAAAAECz1QkBAAAAAAAAAAAI
AAAAAAAA
</data>
<key>@0,can-hot-plug</key>
<data>
</data>
<key>@0,compatible</key>
<data>
TlZEQSxOVk1hYw==
</data>
<key>@0,device_type</key>
<data>
ZGlzcGxheQ==
</data>
<key>@0,display-cfg</key>
<data>
AwEAAA==
</data>
<key>@0,fboffset</key>
<data>
AAAGAA==
</data>
<key>@0,name</key>
<data>
TlZEQSxEaXNwbGF5LUE=
</data>
<key>@1,can-hot-plug</key>
<data>
</data>
<key>@1,compatible</key>
<data>
TlZEQSxOVk1hYw==
</data>
<key>@1,device_type</key>
<data>
ZGlzcGxheQ==
</data>
<key>@1,display-cfg</key>
<data>
//8AAQ==
</data>
<key>@1,name</key>
<data>
TlZEQSxEaXNwbGF5LUI=
</data>
<key>AAPL,EMC-Display-List</key>
<data>
AwAAAAAAAAAAAAAAAAAAAAYQAAAbkgAAAAAAAAAAAAAGEAAAHJIAAAAAAAAA
AAAABhAAACGSAAAAAAAAAAAAAA==
</data>
<key>AAPL,aux-power-connected</key>
<data>
AQAAAA==
</data>
<key>AAPL,backlight-control</key>
<data>
AAAAAA==
</data>
<key>AAPL00,Coherency</key>
<data>
AgAAAA==
</data>
<key>AAPL00,blackscreen-preferences</key>
<data>
AAAACA==
</data>
<key>AAPL01,blackscreen-preferences</key>
<data>
AAAACA==
</data>
<key>NVCAP</key>
<data>
BQAAAAAAAwAMAAAAAAAACwAAAAA=
</data>
<key>NVDA,Features</key>
<data>
/wJPBQ==
</data>
<key>VRAM,totalsize</key>
<data>
AAAAIA==
</data>
<key>device_type</key>
<data>
TlZEQSxQYXJlbnQ=
</data>
<key>model</key>
<data>
TlZJRElBIEdlRm9yY2UgODgwMCBHVA==
</data>
<key>rom-revision</key>
<data>
MzIzMw==
</data>
<key>subsystem-id</key>
<data>
TwUAAA==
</data>
</dict>
</dict>
</plist>