Sto provando a scavalcare l'EDID sul mio MBP 10.11.6, fine del 2012 per la mia configurazione home-theater collegata tramite un cavo miniDP HDMI- > fondamentalmente per qualche motivo l'handshake HDMI non funziona, e l'estrattore audio 5.1 riporta solo AC3 e DTS nel suo blocco audio EDID, quindi ho solo un'uscita stereo. I miei altri dispositivi compatibili con HDMI dovevano essere forzati all'uscita DTS, ma questo non funziona su un Mac ... quindi prima di sborsare altri 40 dollari per un modificatore EDID in linea HDMI, voglio provare se modificando l'EDID effettivamente funziona e fornisce funzionalità 5.1 per OS X.
L'output di ioreg è (troncato):
"DisplayProductID" = 5429
"IODisplayEDID" = <00ffffffffffff00047235152108104429180103800000780a436ea5574f9d250d4e5e3fcf80317c457c617c813c818081c09500d1c0023a801871382d40582c450000000000001e000000fd0017780f6611000a202020202020000000fc00483635313042440a2020202020000000ff004a465a3131303031383430310a016c02032cf14d0602151104130514901f202122261507503e06c0834f00006a030c001110a828208000e30503018c0aa01451f01600267c43000403000000988c0ad08a20e02d10103e96000403000000188c0aa02051201810187e23000403000000988c0ad090204031200c4055000403000000180000000000000000000000c0>
"DisplayVendorID" = 1138
La parte interessante decodificata dell'EDID è (decodificata 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
Quindi, utilizzando AWEDIDEditor, ho sostituito il blocco DTS con un blocco LPCM:
Linear PCM, max channels 6
Supported sample rates (kHz): 48 44.1 32
Supported sample sizes (bits): 16
Ho inserito l'EDID risultante in formato esadecimale e ho utilizzato il modello dal link per creare questo file di sostituzione:
<?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>
Ho disabilitato SIP, ho messo il file in /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-1138/DisplayProductID-5429
e /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-472/DisplayProductID-1535
, e ho riavviato il sistema, ma ioreg mostra ancora il "vecchio" EDID e "Audio MIDI Setup" mostra ancora solo due altoparlanti.
Che cosa sto sbagliando? (Se ti stai chiedendo perché ho scelto due file: uno è con VID / PID in esadecimale e uno in formato int, i documenti non dicono se il file deve essere denominato hex o int).