Estoy tratando de anular el EDID en mi 10.11.6 MBP de finales de 2012 para la configuración de mi sistema de cine en casa conectado a través de un cable miniDP HDMI-& gt; Básicamente, por alguna razón, el protocolo de enlace HDMI falla y el extractor de audio 5.1 solo reporta AC3 y DTS en su bloque de audio EDID, por lo que solo tengo salida estéreo. Mis otros dispositivos compatibles con HDMI tuvieron que ser forzados a la salida DTS, pero eso no funciona en una Mac ... así que antes de desembolsar otros 40 dólares por un modificador EDID en línea HDMI, quiero probar si modifico el EDID Funciona y proporciona capacidad 5.1 a OS X.
La salida de ioreg es (truncada):
"DisplayProductID" = 5429
"IODisplayEDID" = <00ffffffffffff00047235152108104429180103800000780a436ea5574f9d250d4e5e3fcf80317c457c617c813c818081c09500d1c0023a801871382d40582c450000000000001e000000fd0017780f6611000a202020202020000000fc00483635313042440a2020202020000000ff004a465a3131303031383430310a016c02032cf14d0602151104130514901f202122261507503e06c0834f00006a030c001110a828208000e30503018c0aa01451f01600267c43000403000000988c0ad08a20e02d10103e96000403000000188c0aa02051201810187e23000403000000988c0ad090204031200c4055000403000000180000000000000000000000c0>
"DisplayVendorID" = 1138
La parte interesante decodificada del EDID es (decodificada usando edid-decode):
Audio data block
AC-3, max channels 6
Supported sample rates (kHz): 48 44.1 32
Maximum bit rate: 640 kHz
DTS, max channels 7
Supported sample rates (kHz): 48 44.1
Maximum bit rate: 1536 kHz
Speaker allocation data block
Speaker map: FL/FR LFE FC RL/RR RLC/RRC
Entonces, usando AWEDIDEditor, reemplacé el bloque DTS con un bloque LPCM:
Linear PCM, max channels 6
Supported sample rates (kHz): 48 44.1 32
Supported sample sizes (bits): 16
Puse el EDID resultante en formato hexadecimal y usé la plantilla de https://gist.github.com/ejdyksen/8302862 para crear este archivo de reemplazo:
<?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>DisplayProductName</key>
<string>Display with forced RGB mode (EDID override)</string>
<key>IODisplayEDID</key>
<data>00ffffffffffff00047235152108104429180103800000780a436ea5574f9d250d4e5e3fcf80317c457c617c813c818081c09500d1c0023a801871382d40582c450000000000001e000000fd0017780f6611000a202020202020000000fc00483635313042440a2020202020000000ff004a465a3131303031383430310a016c02032cf14d0602151104130514901f202122261507500d0701834f00006a030c001110a828208000e30503018c0aa01451f01600267c43000403000000988c0ad08a20e02d10103e96000403000000188c0aa02051201810187e23000403000000988c0ad090204031200c4055000403000000180000000000000000000000af</data>
<key>DisplayVendorID</key>
<integer>1138</integer>
<key>DisplayProductID</key>
<integer>5429</integer>
</dict>
</plist>
Deshabilité SIP, puse el archivo en /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-1138/DisplayProductID-5429
y /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-472/DisplayProductID-1535
, y reinició el sistema, pero ioreg aún muestra el "antiguo" EDID y la "Configuración de audio MIDI" aún muestra solo dos altavoces.
¿Qué estoy haciendo mal? (Si se pregunta por qué elegí dos archivos: uno es con VID / PID en formato hexadecimal y otro en formato int, los documentos no dijeron si el archivo debía llamarse hex o int).