Cadena GFX-EFi en audio ALC889a

miliuco

Activo
Cadena GFX-EFi en audio ALC889a de placas Gigabyte P35

Los poseedores de placas base como la mía (Gigabyte P35 DS3R) o similares saben que es relativamente fácil instalar el chip de audio en Leopard con los controladores que vienen incluidos en las distribuciones 10.5.2 (Kalyway, Leo4all v3, etc.) o mediante un dump de Linux personalizado (véase la página de Taruga y su herramienta AppleHDA Patcher). Lo que se hace con esos métodos es instalar una extensión AppleHDA.kext modificada diferente a la original de Leopard y un inyector ALCinject.kext para que el dispositivo se cargue en el arranque.

Existen comentarios de usuarios expertos que opinan que ALCinject.kext puede estar implicada en el problema de apagados irregulares o erróneos que se dan en estas placas con cierta frecuencia. Se propone aquí el método de inyectar una cadena relativa al chip de audio en el arranque de OSX para que sea correctamente reconocido sin instalar ALCinject.kext (de hecho, hay que borrar la extensión ALCinject.kext si previamente la tenemos instalada, conservando de cualquier manera AppleHDA.kext).

Este texto está basado en los trabajos de Netkas, Zephiroth, Cyclonefr, Agrafuese, Macgirl y otros.

¿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)
- placa base con el chip de sonido ALC889a
- conocer el uso del Terminal

¿Qué archivos se necesitan?

La utilidad Gfxutil junto con algún archivo plist que será el origen de la cadena hexadecimal (se consigue bien en los foros de Netkas y se añade un modelo al final del texto).

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

2.- Crear la cadena GFX

Para obtener la ruta al dispositivo de la tarjeta gráfica se usa en Terminal:

sudo -s
./gfxutil -f AZAL

La salida del comando es similar a ésta:

"DevicePath = PciRoot(0x1)/Pci(0x1b,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(0x1b,0x0)</key>

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

4.- 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 /

5.- Finalizar

Reiniciar y comprobar si todo va bien. El sistema ha de mejorar su comportamiento en cuanto al problema del apagado.

ANEXO

Ejemplo de archivo in.plist 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>PciRoot(0x1)/Pci(0x1b,0x0)</key>
<dict>
<key>PinConfigurations</key>
<string></string>
<key>built-in</key>
<string>0x00</string>
<key>layout-id</key>
<string>0x0000000c</string>
<key>revision-id</key>
<string>0x00000001</string>
<key>subsystem-id</key>
<string>0x0000a002</string>
<key>subsystem-vendor-id</key>
<string>0x00001458</string>
<key>vendor-id</key>
<string>0x00008086</string>
</dict>
</dict>
</plist>
 
Arriba