A configuração da resolução do monitor externo é perdida após o MacBook "acordar" do modo de suspensão

12

Recentemente, adquiri um monitor externo que estou conectando ao meu MacBook Pro (final de 2009) usando o adaptador MiniDisplay para VGA. Eu tenho o monitor externo e o monitor do MacBook definidos para a resolução "Melhor disponível" no OS X Lion. Sempre que o computador "acorda" do estado de suspensão, a configuração da resolução do monitor externo é "esquecida". Sempre que o computador "acorda", a resolução do monitor externo é configurada para corresponder ao monitor do MacBook.

O único motivo pelo qual estou usando o cabo VGA em vez de um cabo DVI é porque não tenho o adaptador MiniDisplay-to-DVI. Mudar para DVI resolverá o problema? Existe alguma maneira conhecida de resolver esse problema, além de obter um utilitário para redefinir a resolução manualmente todas as vezes?

Obrigado.

Christian Correa
fonte
Não tenho certeza se esse é o problema. Parece que seu computador não está armazenando a lista de perfis de tela anteriores aos quais foi conectado. Eu sei que quando eu me conecto a uma tela, há um perfil armazenado em algum lugar que contém informações como a resolução em que está definida, organização das telas, papel de parede etc. Parece que isso não foi possível salvar. Minha suspeita é que o arquivo ~/Library/Application Support/Preferences/com.apple.desktop.plistnão está sendo atualizado. Mas não tenho certeza se é onde está sendo armazenado.
Chad Marmon
Fora de interesse, esse problema ainda está resolvido? Estou com a mesma coisa (agora), desde uma atualização recente (em 10.8.3 agora). Também noto agora (desde a atualização) que o mouse bluetooth parece estar despertando o meu do sono, como nunca costumava, eu só conseguia acordá-lo usando o teclado bluetooth ... A reinicialização do PRAM não o corrigiu eu: /
nzcoops 27/03
O problema ainda acontece, mas com muito menos frequência desde que redefini a NVRAM (conforme indicado na resposta aprovada).
Christian Correa
Algo muito parecido acontecendo agora. Edição Macbook Pro 2016, usando apenas o monitor LG 4K externo (MBP fechado). Depois de acordar do sono, parece que o monitor 4K cai para uma resolução 1080p realmente baixa, etc.
Jonny

Respostas:

15

Eu recomendo que você redefina sua NVRAM. Este chip armazena informações sobre a resolução da tela e geralmente pode ser corrompido. Você pode redefini-lo iniciando o Mac enquanto mantém pressionado cmd+ opt+ P+ R. Você deve ouvir o toque do Mac, reiniciar e tocar uma segunda vez. Então você pode soltar as teclas que está segurando. Mais informações aqui .

bispymusic
fonte
Obrigado pela informação. Depois de redefinir a NVRAM com as instruções mencionadas, a resolução parece ser 'lembrada' corretamente após o computador retornar do estado de suspensão.
Christian Correa
6

Encontrei uma maneira fácil de contornar isso e espero que ajude as pessoas. Tentei redefinir a NVRAM e não ajudou. Tenho certeza de que é devido a uma falha na atualização do sistema operacional.

Aqui está a correção. Configure o vídeo para que, quando você for para o canto superior esquerdo, o vídeo seja desligado. Quando você sair do sono, se a resolução estiver baixa, mova o mouse para o canto superior esquerdo para desligar o vídeo. Se você clicar com o botão esquerdo do mouse na posição, ele deverá redefinir a resolução ideal, como ocorre com o meu MacBook Pro 15 "

Jack DeMember
fonte
1
"Quando você sair do sono" é necessário para fazer com que esta solução funcione, ou seja, se o seu Mac não estiver dormindo e a resolução do monitor externo estiver baixa, coloque-o no modo de suspensão (menu da maçã) e, em seguida, "se o resolução é baixa .. "
Ando
3
"Configure o vídeo para que, quando você for para o canto superior esquerdo, o vídeo seja desligado." - O que isto significa?
oarfish
1

Encontrei uma solução super fácil para quando isso acontece comigo. Meu monitor externo está conectado a um filtro de linha e, se eu desligar a energia e ligá-lo novamente, o monitor externo me mostra opções de resolução de tela se estiver nas preferências de exibição do meu Macbook Pro (meados de 2010). Eu espero que isso ajude.

Dave Huish
fonte
1

Bem, nada disso funcionou para mim. Foi o que fiz antes de encontrar o problema.

Depois que o computador volta a funcionar após o sono (macbook pro mavericks, computador gritando com 8gigs ram, retina), o monitor do lado direito, dos 2 monitores conectados por VGA-> DVI, continua sendo redefinido de 1600x900 para 800x600 . Eu gostaria:

  • Desconecte a porta DVI do mac. Sem sorte
  • Desconecte e desligue o monitor, ligue-o novamente e conecte-o novamente. Sem sorte.
  • Desconecte, desligue o monitor, reinicie o mac, conecte-o novamente e ligue-o novamente. Sem sorte
  • Vá para as configurações de exibição, pressione Optionpara obter "Detectar Monitores", clicou, sem alterações.
  • Desligue tudo, reinicie o computador enquanto pressiona Command+ Option+ P+ R, ligue tudo novamente, conecte novamente ... AINDA não está redefinindo a melhor exibição para esse monitor.

Escusado será dizer que eu estava ficando bastante frustrado. Até eu pensar, que tal desconectar o VGA do adaptador DVI? Bem, eu fiz isso, conectado novamente e pronto, redefinir a tela.

Portanto, para qualquer pessoa que tenha esse problema no futuro, pode haver algo no adaptador DVI real que também pode estar com o problema! Se tudo falhar, tente desconectar o adaptador do cabo do monitor e veja se isso funciona. Isso fez por mim.

Paul Carlton
fonte
0

Eu tive um problema semelhante com um iMac de 2009, meu segundo monitor é conectado através de um adaptador firewire-to-VGA. Tentei de tudo para corrigir esses problemas, redefinir o nvram funcionou após uma reinicialização, mas na próxima vez em que o monitor "dormiu", o problema ocorreu novamente. Quando tentei definir a resolução manualmente, minha resolução (1920x1080) não estava listada, mesmo quando pressionava a tecla 'opção' para mostrar mais resoluções.

Encontrei uma solução neste post de Andreas Schwarz no embdev.net (veja o link em seu código abaixo, não posso postar mais de 2 links) Não foi planejado diretamente para corrigir o problema, mas acontece comigo.

O problema pode ser resolvido substituindo os dados EDID da tela para informar ao OS X que a tela suporta apenas RGB. Isso pode ser feito lendo o EDID com "ioreg -l", modificando os bits incorretos (consulte a especificação no artigo da Wikipedia) e criando um arquivo de substituição de configuração de exibição para o OS X.

Ele então forneceu um script ruby ​​para criar esse arquivo de substituição:

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

A execução desse script no terminal com 'ruby patch-edid.rb' cria uma pasta chamada "DisplayXXX"

mova a pasta contida para / System / Library / Displays / Overrides. Após uma reinicialização, o monitor deve mostrar que as cores RGB são usadas.

Depois de reiniciar, a resolução não estava correta, mas consegui definir a correta nas configurações de exibição.

ulk200
fonte
0

Não tinha visto essa solução em nenhum lugar que funcionasse para mim e para um colega de trabalho. Verifique se há atualizações para o seu mac. Eu tinha uma atualização de segurança que não conhecia, então atualizei e reiniciei sem o monitor conectado e a inicialização foi boa.

dylan verburgt
fonte