Ustawienie rozdzielczości monitora zewnętrznego jest tracone po „wybudzeniu” MacBooka ze snu

12

Niedawno kupiłem monitor zewnętrzny, który łączę z komputerem MacBook Pro (koniec 2009 r.) Za pomocą przejściówki MiniDisplay-to-VGA. Mam zarówno monitor zewnętrzny, jak i monitor MacBooka ustawiony na „Najlepszą dostępną” rozdzielczość w OS X Lion. Ilekroć komputer „budzi się” ze stanu uśpienia, ustawienie rozdzielczości monitora zewnętrznego jest „zapominane”. Za każdym razem, gdy komputer się „budzi”, rozdzielczość zewnętrznego monitora jest dopasowywana do monitora MacBooka.

Jedynym powodem, dla którego używam kabla VGA zamiast kabla DVI, jest to, że nie mam adaptera MiniDisplay-to-DVI. Czy przejście na DVI rozwiąże problem? Czy jest jakiś znany sposób rozwiązania tego problemu poza uzyskaniem narzędzia do ręcznego resetowania rozdzielczości za każdym razem?

Dzięki.

Christian Correa
źródło
Nie jestem pewien, czy to jest problem. Wygląda na to, że Twój komputer nie przechowuje listy profili poprzednich ekranów, z którymi był połączony. Wiem, że po podłączeniu do ekranu gdzieś jest przechowywany profil, który zawiera informacje, takie jak rozdzielczość, na jaką jest ustawiony, rozmieszczenie ekranów, tapety itp. Wygląda na to, że nie można zapisać. Podejrzewam, że plik ~/Library/Application Support/Preferences/com.apple.desktop.plistnie jest aktualizowany. Ale nie jestem pewien, czy tam też jest przechowywany.
Chad Marmon
Czy ten problem jest nadal nieobecny? Mam do czynienia z tym samym (teraz), od ostatniej aktualizacji (teraz 10.8.3). Zauważyłem też teraz (od aktualizacji), że mysz bluetooth wydaje się budzić moją ze snu, gdzie jak nigdy dotąd, tylko mogłem ją obudzić za pomocą klawiatury bluetooth ... Reset PRAM nie naprawił tego ja: /
nzcoops
Problem nadal się zdarza, ale z dużo mniejszą częstotliwością, odkąd zresetowałem NVRAM (jak wskazano w zatwierdzonej odpowiedzi).
Christian Correa
Coś bardzo podobnego dzieje się teraz. Wersja Macbook Pro 2016, tylko z zewnętrznym monitorem LG 4K (MBP zamknięty). Po przebudzeniu wydaje się, że monitor 4K spada do naprawdę niskiej rozdzielczości 1080p itp.
Jonny

Odpowiedzi:

15

Polecam zresetować NVRAM. Ten układ przechowuje informacje o rozdzielczości ekranu i często może zostać uszkodzony. Możesz go zresetować, uruchamiając komputer Mac, trzymając wciśnięty klawisz cmd+ opt+ P+ R. Powinieneś usłyszeć gong Maca, uruchomić go ponownie i gong drugi raz. Następnie możesz zwolnić posiadane klucze. Więcej informacji tutaj .

bispymusic
źródło
Dziękuję za informację. Po zresetowaniu pamięci NVRAM przy użyciu wspomnianych instrukcji wydaje się, że rozdzielczość została „zapamiętana” poprawnie po powrocie komputera ze stanu uśpienia.
Christian Correa,
6

Znalazłem łatwy sposób na obejście tego i mam nadzieję, że to pomaga ludziom. Próbowałem zresetować NVRAM i to nie pomogło. Jestem pewien, że jest to spowodowane wadą aktualizacji systemu operacyjnego.

Oto poprawka. Skonfiguruj wideo, aby po przejściu do lewego górnego rogu wideo zostało wyłączone. Po wyjściu ze snu, jeśli rozdzielczość jest niska, przesuń mysz do lewego górnego rogu, aby wyłączyć wideo. Jeśli klikniesz lewym przyciskiem myszy w tej pozycji, powinna zresetować optymalną rozdzielczość, tak jak w moim MacBooku Pro 15 "

Jack DeMember
źródło
1
„Aby wyjść z trybu uśpienia” jest wymagane, aby to rozwiązanie działało, tzn. Jeśli komputer Mac nie śpi, a rozdzielczość monitora zewnętrznego jest niska, ustaw komputer Mac w tryb uśpienia (menu Apple), a następnie obudź go, a następnie „jeśli rozdzielczość jest niska .. ”
Ando
3
„Skonfiguruj wideo, aby po przejściu do lewego górnego rogu wideo zostało wyłączone”. - co to znaczy?
wiosłowa
1

Znalazłem bardzo łatwą naprawę, gdy tak się dzieje. Mój monitor zewnętrzny jest podłączony do listwy zasilającej, a jeśli wyłączę i ponownie włączę listwę, monitor zewnętrzny pokaże mi opcje rozdzielczości ekranu, jeśli mam preferencje wyświetlania na moim Macbooku Pro (połowa 2010 r.). Mam nadzieję, że to pomoże.

Dave Huish
źródło
1

Nic z tego nie działało dla mnie. Tak zrobiłem, zanim znalazłem problem.

Po powrocie komputera po śnie (MacBook Pro Mavericks, krzyczący komputer z 8 gigami RAM, Retina) prawy monitor boczny, z 2 monitorów, do których podłączyłem VGA-> DVI, nadal był resetowany z 1600x900 do 800x600 . Ja bym:

  • Odłącz port DVI od komputera Mac. Brak szczęścia.
  • Odłącz i wyłącz monitor, włącz go ponownie i włącz, a następnie podłącz ponownie. Brak powodzenia.
  • Odłącz, wyłącz monitor, uruchom ponownie mac, podłącz ponownie, a następnie włącz ponownie. Brak szczęścia.
  • Przejdź do ustawień wyświetlania, naciśnij, aby wyświetlić Option„Wykryj wyświetlacze”, kliknij, bez zmian.
  • Wyłącz wszystko, uruchom ponownie komputer, naciskając Command+ Option+ P+ R, włącz wszystko z powrotem, podłącz ponownie ... WCIĄŻ nie resetuje się z powrotem do najlepszego wyświetlacza dla tego monitora.

Nie trzeba dodawać, że byłem bardzo sfrustrowany. Dopóki nie pomyślałem, co powiesz na odłączenie VGA od adaptera DVI? Cóż, zrobiłem to, połączyłem z powrotem i voila, zresetowałem ekran.

Tak więc dla każdego, kto ma ten problem w przyszłości, może to być coś w rzeczywistym adapterze DVI, który również może mieć problem! Jeśli wszystko się nie powiedzie, spróbuj odłączyć adapter od kabla monitora i sprawdź, czy to działa. To mi zrobiło.

Paul Carlton
źródło
0

Miałem podobny problem z komputerem iMac od 2009 roku, mój drugi wyświetlacz jest podłączony za pomocą przejściówki FireWire-VGA. Próbowałem wszystkiego, aby rozwiązać ten problem, zresetowanie nvram działało po ponownym uruchomieniu, ale następnym razem, gdy monitor „spał”, problem pojawił się ponownie. Kiedy próbowałem ręcznie ustawić rozdzielczość, mojej rozdzielczości (1920x1080) nie było na liście, nawet gdy przytrzymałem klawisz „Opcja”, aby wyświetlić więcej rozdzielczości.

Znalazłem rozwiązanie w tym poście Andreasa Schwarza na embdev.net (patrz link w jego poniższym kodzie, nie mogę opublikować więcej niż 2 linków) Nie było to przeznaczone bezpośrednio do rozwiązania problemu, ale dotyczy mnie.

Problem można rozwiązać, zastępując dane EDID wyświetlacza, aby poinformować OS X, że wyświetlacz obsługuje tylko RGB. Można to zrobić, czytając EDID za pomocą „ioreg -l”, modyfikując obrażające bity (patrz specyfikacja w artykule w Wikipedii) i tworząc plik zastępujący konfigurację wyświetlania dla OS X.

Następnie podał skrypt ruby, aby utworzyć ten plik zastępowania:

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

Wykonanie tego skryptu w terminalu za pomocą „ruby patch-edid.rb” tworzy folder o nazwie „DisplayXXX”

przenieś zawarty folder do / System / Library / Displays / Overrides. Po ponownym uruchomieniu monitor powinien pokazać, że używane są kolory RGB.

Po ponownym uruchomieniu rozdzielczość była nieprawidłowa, ale udało mi się ustawić prawidłową w ustawieniach wyświetlania.

ulk200
źródło
0

Nigdzie nie widziałem tego rozwiązania, które działałoby dla mnie i współpracownika. Sprawdź, czy są jakieś aktualizacje dla twojego Maca. Miałem aktualizację zabezpieczeń, o której nie wiedziałem, więc zaktualizowałem ją i uruchomiłem ponownie bez podłączonego monitora i wszystko zaczęło się dobrze.

Dylan Verburgt
źródło