6 votes

rMBP - El Capitan - Écran externe flou

J'espère que quelqu'un pourra m'aider car cela me rend fou...

Ce week-end, j'ai acheté un nouveau Macbook Pro Retina (modèle Early 2015). Avant de le connecter à un moniteur externe, j'ai effectué une mise à niveau vers El Capitan et l'appareil seul fonctionne parfaitement.

Lorsque je le connecte à mon moniteur externe, un Dell U2412M, certaines parties de l'affichage sont floues. D'après certaines recherches, il se peut qu'il utilise le mauvais espace colorimétrique et qu'il utilise l'espace colorimétrique de l'écran. script bien connu J'ai généré et installé un nouveau profil pour forcer le RVB. Il y a peut-être eu une légère amélioration, difficile à dire...

Je me suis ensuite renseigné sur le réglage de 'AppleFontSmoothing' et j'ai essayé tous les réglages disponibles, là encore, il y a peut-être eu une légère amélioration. J'avais décidé de m'en accommoder. Jusqu'à ce que je prévisualise un jpg dans le finder et qu'il ressemble à l'image (1) ci-dessous.

J'ai ensuite fait glisser la fenêtre du finder vers l'écran rétina intégré, et elle ressemblait à l'image (2) ci-dessous.

Beaucoup plus fluide, mais une résolution plus élevée - pas de grande surprise. Maintenant, sans rien changer du tout, j'ai fait glisser la fenêtre du finder vers le moniteur Dell et j'ai été choqué de voir que l'image lisse était conservée.

screenshots of non-smoothing

Pour information, l'effet n'est pas visiblement différent en utilisant un câble mini-displayport vers DVI-D ou mdp vers display-port.

Pour être clair, les images 1 et 3 ci-dessus sont des captures d'écran de la même fenêtre, sur le même moniteur connecté de la même façon à la même machine. La seule différence est qu'entre ces captures d'écran, la fenêtre a fait une courte visite à l'écran intégré.

1voto

mfessenden Points 111

Il y a un script Ruby ici :

https://gist.github.com/bastibense/6549835

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

Vous devrez l'exécuter en mode sans racine d'El Capitan pour qu'il fonctionne.

0 votes

Merci pour votre contribution, mais j'ai déjà utilisé l'EDID override, voir le paragraphe 3 de ma question.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X