El Capitan -Monitor HDMI

Inserite qui le vostre guide, trucchi e consigli

Moderatore: ModiMaccanici

Rispondi
Hammarby
Unix Expert
Unix Expert
Avatar utente
Iscritto il: gio, 29 ott 2009 14:28
Messaggi: 3830
Località: Stockholm, SE
Oggetto del messaggio: El Capitan -Monitor HDMI

Messaggio Inviato: gio, 01 ott 2015 21:53

Se avevate un monitor collegato con cavo Thunderbolt-HDMI funzionante con Yosemite,
(adattato con il tutorial viewtopic.php?f=33&t=34623" onclick="window.open(this.href);return false;)
non funzionerà più, nel senso che OSX tornerà a credere che il vostro monitor professionale sia un televisore.

Il tutorial non funziona più con El Capitan, perché sono state spostate le directories dei display, e non è più possibile sostituire i drivers.

La nuova procedura è la seguente:
con un editor di testo, create un file con nome "patch-edid.rb"
nel file copiare esattamente questo

Codice: Seleziona tutto

#!/usr/bin/ruby
# Create display override file to force Mac OS X to use RGB mode for Display
# see http://embdev.net/topic/284710
#
# Update 2013-06-24: added -w0 option to prevent truncated lines

require 'base64'

data=`ioreg -l -w0 -d0 -r -c AppleDisplay`

edid_hex=data.match(/IODisplayEDID.*?<([a-z0-9]+)>/i)[1]
vendorid=data.match(/DisplayVendorID.*?([0-9]+)/i)[1].to_i
productid=data.match(/DisplayProductID.*?([0-9]+)/i)[1].to_i

puts "found display: vendorid #{vendorid}, productid #{productid}, EDID:\n#{edid_hex}"

bytes=edid_hex.scan(/../).map{|x|Integer("0x#{x}")}.flatten

puts "Setting color support to RGB 4:4:4 only"
bytes[24] &= ~(0b11000)

puts "Number of extension blocks: #{bytes[126]}"
puts "removing extension block"
bytes = bytes[0..127]
bytes[126] = 0

bytes[127] = (0x100-(bytes[0..126].reduce(:+) % 256)) % 256
puts
puts "Recalculated checksum: 0x%x" % bytes[127]
puts "new EDID:\n#{bytes.map{|b|"%02X"%b}.join}"

Dir.mkdir("DisplayVendorID-%x" % vendorid) rescue nil
f = File.open("DisplayVendorID-%x/DisplayProductID-%x" % [vendorid, productid], 'w')
f.write '<?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">'
f.write "
<dict>
  <key>DisplayProductName</key>
  <string>Display with forced RGB mode (EDID override)</string>
  <key>IODisplayEDID</key>
  <data>#{Base64.encode64(bytes.pack('C*'))}</data>
  <key>DisplayVendorID</key>
  <integer>#{vendorid}</integer>
  <key>DisplayProductID</key>
  <integer>#{productid}</integer>
</dict>
</plist>"
f.close
quindi da terminale dare il comando
ruby patch-edid.rb
verrà creata una directory con nome del tipo "Displayxxx"

a questo punto si deve disabilitare la protezione da scrittura, si fa in questo modo:
- riavviare in modo Recovery (tenere premuti "cmd" e "R" finché non appare la mela)
- aprire il tab "Utility" e poi selezionare il terminale
- nel terminale dare il comando csrutil disable
- riavviare

adesso, da terminale, copiare la nuova directory "Displayxxx" in /System/Library/Displays/Contents/Resources/Overrides
per esempio, se la directory fosse DisplayVendorID-10ac il comando da dare è
sudo cp -r DisplayVendorID-10ac /System/Library/Displays/Contents/Resources/Overrides

ora si deve riabilitare la protezione da scrittura, si fa in questo modo
- riavviare in modo Recovery (tenere premuti "cmd" e "R" finché non appare la mela)
- aprire il tab "Utility" e poi selezionare il terminale
- nel terminale dare il comando csrutil enable
- riavviare

Finalmente vi potrete godere il monitor nel suo pieno splendore.
Ognuno è come Dio lo ha fatto, ahimé...
...e spesso peggio.

Cervantes
mattleega
Pestifero
Pestifero
Avatar utente
Iscritto il: mar, 30 ott 2007 19:20
Messaggi: 16282
Oggetto del messaggio: Re: El Capitan -Monitor HDMI

Messaggio Inviato: ven, 02 ott 2015 10:34

Il che la dice lunga sul
"Sistema operativo più amichevole..." :twisted:
L’inerzia soddisfatta dei cittadini è all’origine di quella incredibile malattia che è la servitù volontaria

E se vivremo, vivremo per calpestare i re.

.

.
.
.
.
.
.
.
Rispondi