Pagina 1 di 1

Secondo display collegato con thunderbolt/HDMI

Inviato: sab, 12 set 2015 16:23
da Hammarby
Tutorial per collegare un secondo display ad un iMac tramite adattatore Thunderbolt -> HDMI

Per chi avesse provato, il problema è che la qualità delle immagini del monitor collegato in questo modo è pessima,
ed il monitor è semplicemente inutilizzabile.
Il motivo del problema nasce dal fatto che OSX ritiene che un monitor collegato via HDMI sia un televisore e non un monitor.
La soluzione del problema è forzare OSX a considerare il monitor come tale.
Si fa in questo modo:
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"
spostate questa directory in /System/Library/Displays/Overrides
se il sistema dice che la directory esiste già, sovrascrivetela.
Riavviate.
Le immagini sul secondo monitor saranno perfette.

Fonte
http://www.ireckon.net/2013/03/force-rg ... al-monitor

Re: Secondo display collegato con thunderbolt/HDMI

Inviato: sab, 12 set 2015 18:39
da utente eliminato
Grazie. :)

Re: Secondo display collegato con thunderbolt/HDMI

Inviato: sab, 12 set 2015 19:09
da Zen
A occhio e croce non manca un " alla fine :)?

Modifica:

Mancano anche le ultime due righe

Re: Secondo display collegato con thunderbolt/HDMI

Inviato: sab, 12 set 2015 19:20
da Hammarby
Zen ha scritto:A occhio e croce non manca un " alla fine :)?

Modifica:

Mancano anche le ultime due righe
Un copy&paste troppo ottimista dal terminale.

Adesso è corretto.

Aggiungo che l'ho provato, dato che era un po' che avevo il secondo monitor sulla scrivania e non lo potevo usare.