rMBP - El Capitán - Monitor externo borroso

6

Espero que alguien pueda ayudar ya que esto me está volviendo loco ...

El fin de semana recibí una nueva Macbook Pro Retina (modelo de principios de 2015). Antes de conectarlo a un monitor externo, actualicé a El Capitan y el dispositivo por sí solo funciona perfectamente.

Cuando lo conecto a mi monitor externo, un Dell U2412M, ciertas partes de la pantalla están borrosas. Algunas investigaciones indicaron que puede estar utilizando el espacio de color incorrecto y el uso del secuencia de comandos conocida . Generé e instalé un nuevo perfil para fuerza RGB. Puede haber habido una leve mejora, es difícil de decir ...

Luego leí sobre la configuración de 'AppleFontSmoothing' y probé todas las configuraciones disponibles, de nuevo, puede haber habido una leve mejora. Casi decidí vivir con eso. Hasta que obtuve una vista previa de un jpg en el buscador y se veía como la imagen (1) a continuación.

Luego arrastré la ventana del buscador a la pantalla de retina incorporada, y se veía como la imagen (2) a continuación.

Mucho más suave, pero una resolución más alta, no es una gran sorpresa. Ahora, sin cambiar nada, arrastré la ventana del buscador al monitor Dell y me sorprendió ver que la imagen se conservaba.

Para obtener información, el efecto no es visiblemente diferente usando un mini-displayport a DVI-D o mdp al cable del puerto de visualización.

Para ser claros, las imágenes 1 y 3 de arriba son capturas de pantalla de la misma ventana, en el mismo monitor conectado de la misma manera a la misma máquina. La única diferencia es que entre estas capturas de pantalla, la ventana tuvo una breve visita a la pantalla incorporada.

    
pregunta Ian Rutson 27.10.2015 - 15:03

1 respuesta

1

Aquí hay un script de Ruby:

enlace

#!/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

Tendrás que ejecutarlo en el modo sin raíz de El Capitán para que funcione.

    
respondido por el mfessenden 27.10.2015 - 18:15

Lea otras preguntas en las etiquetas