Estoy tratando de anular el EDID en mi 10.11.6, finales de 2012 MBP para la configuración de mi sistema de cine en casa conectado a través de un cable miniDP HDMI-> 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, así 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 en realidad Funciona y proporciona capacidad 5.1 para 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, al usar 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 enlace 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, coloqué 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 todavía muestra el EDID "antiguo" y la "Configuración de audio MIDI" todavía 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).