การตั้งค่าความละเอียดของจอภาพภายนอกจะหายไปหลังจาก MacBook“ ตื่น” จากโหมดสลีป


12

ฉันเพิ่งซื้อจอภาพภายนอกที่ฉันกำลังเชื่อมต่อกับ MacBook Pro ของฉัน (ปลายปี 2009) โดยใช้อะแดปเตอร์ MiniDisplay-to-VGA ฉันมีทั้งจอภาพภายนอกและจอมอนิเตอร์ของ MacBook ตั้งค่าความละเอียด "Best Available" ใน OS X Lion เมื่อใดก็ตามที่คอมพิวเตอร์ "ปลุก" จากสถานะสลีปการตั้งค่าความละเอียดของจอภาพภายนอกจะถูก "ลืม" ทุกครั้งที่คอมพิวเตอร์ "ปลุก" ความละเอียดของจอภาพภายนอกจะถูกตั้งค่าให้ตรงกับจอภาพของ MacBook

เหตุผลเดียวที่ฉันใช้สาย VGA แทนที่จะเป็นสาย DVI เป็นเพราะฉันไม่มีอะแดปเตอร์ MiniDisplay-to-DVI การสลับไปใช้ DVI จะแก้ปัญหาได้หรือไม่ มีวิธีใดที่เป็นที่รู้จักในการแก้ปัญหานี้นอกเหนือจากการรับยูทิลิตี้เพื่อรีเซ็ตความละเอียดด้วยตนเองทุกครั้งหรือไม่

ขอบคุณ


ไม่แน่ใจว่าเป็นปัญหาหรือไม่ ดูเหมือนว่าคอมพิวเตอร์ของคุณไม่ได้จัดเก็บรายการโปรไฟล์หน้าจอก่อนหน้าที่เชื่อมต่ออยู่ ฉันรู้ว่าเมื่อฉันเชื่อมต่อกับหน้าจอจะมีโปรไฟล์ถูกเก็บไว้ที่ไหนสักแห่งที่มีข้อมูลเช่นความละเอียดที่ตั้งไว้การจัดเรียงหน้าจอวอลล์เปเปอร์ ฯลฯ ดูเหมือนว่าจะไม่สามารถบันทึกได้ ความสงสัยของฉันคือไฟล์~/Library/Application Support/Preferences/com.apple.desktop.plistไม่ได้รับการอัพเดต แต่ฉันไม่แน่ใจว่าจะเก็บไว้ที่ใด
ชาด Marmon

ปัญหานี้ยังคงได้รับการแก้ไขหรือไม่ ฉันกำลังเผชิญกับสิ่งเดียวกัน (ตอนนี้) ตั้งแต่อัปเดตล่าสุด (วันที่ 10.8.3 ตอนนี้) ฉันยังสังเกตเห็นตอนนี้ (ตั้งแต่อัปเดต) ว่าเมาส์บลูทู ธ ดูเหมือนจะตื่นขึ้นมาจากที่ที่ไม่เคยชินฉันเพิ่งจะสามารถปลุกได้โดยใช้แป้นพิมพ์บลูทู ธ ... การรีเซ็ต PRAM ไม่สามารถแก้ไขได้ me: /
nzcoops

ปัญหายังคงเกิดขึ้น แต่มีความถี่น้อยลงมากตั้งแต่ฉันรีเซ็ต NVRAM (ตามที่ระบุในคำตอบที่ได้รับอนุมัติ)
Christian Correa

สิ่งที่เกิดขึ้นคล้ายกันมากในขณะนี้ Macbook Pro 2016 edition ใช้เฉพาะจอภาพ LG 4K ภายนอก (ปิด MBP) หลังจากตื่นจากการนอนหลับดูเหมือนว่าจอภาพ 4K จะลดลงไปที่ความละเอียด 1080p ที่ต่ำมาก ๆ เป็นต้น
Jonny

คำตอบ:


15

ฉันแนะนำให้คุณรีเซ็ต NVRAM ของคุณ ชิปนี้เก็บข้อมูลเกี่ยวกับความละเอียดหน้าจอและมักจะเกิดความเสียหาย คุณสามารถตั้งค่าได้โดยเริ่มต้น Mac ของคุณในขณะที่ถือลงcmd+ opt+ +P Rคุณควรได้ยิน Mac chime รีสตาร์ทและพูดสอดเป็นครั้งที่สอง จากนั้นคุณสามารถปล่อยปุ่มที่คุณกำลังถืออยู่ ข้อมูลเพิ่มเติมที่นี่


ขอขอบคุณสำหรับข้อมูล. หลังจากรีเซ็ต NVRAM ด้วยคำแนะนำที่คุณพูดถึงความละเอียดดูเหมือนจะ 'จดจำ' อย่างถูกต้องหลังจากที่คอมพิวเตอร์กลับมาจากสถานะสลีป
Christian Correa

6

ฉันพบวิธีง่ายๆในการทำสิ่งนี้และหวังว่ามันจะช่วยผู้คน ฉันลองรีเซ็ต NVRAM และไม่ได้ช่วยอะไร ฉันค่อนข้างมั่นใจว่ามันเป็นเพราะข้อบกพร่องในการอัพเกรดระบบปฏิบัติการ

นี่คือการแก้ไข ตั้งค่าวิดีโอเพื่อให้เมื่อคุณเลื่อนไปที่มุมซ้ายบนวิดีโอจะปิด เมื่อคุณออกจากโหมดสลีปหากความละเอียดต่ำให้เลื่อนเมาส์ไปที่ด้านบนซ้ายเพื่อปิดวิดีโอ หากคุณคลิกซ้ายที่เมาส์ในตำแหน่งมันควรรีเซ็ตความละเอียดที่เหมาะสมเช่นเดียวกับ MacBook Pro 15 "


1
"เมื่อคุณออกจากโหมดสลีป" ต้องทำให้โซลูชันนี้ใช้งานได้เช่นหาก Mac ของคุณไม่หลับและความละเอียดจอภาพภายนอกของคุณอยู่ในระดับต่ำจากนั้นให้ Mac ของคุณเข้าสู่โหมดสลีป (เมนูแอปเปิ้ล) จากนั้นให้ปลุก ความละเอียดต่ำ .. "
Ando

3
"ตั้งค่าวิดีโอเพื่อให้เมื่อคุณเลื่อนไปที่มุมซ้ายบนวิดีโอจะปิด" - สิ่งนี้หมายความว่า?
ชาวประมง

1

ฉันพบวิธีแก้ไขที่ง่ายสุด ๆ เมื่อเกิดเหตุการณ์นี้ขึ้นกับฉัน จอแสดงผลภายนอกของฉันเสียบเข้ากับรางปลั๊กไฟและหากฉันปิดสวิตช์ของแถบปิดแล้วเปิดใหม่อีกครั้งจอภาพภายนอกจะแสดงตัวเลือกสำหรับความละเอียดในการแสดงผลหากฉันอยู่ในการตั้งค่าการแสดงผลบน Macbook Pro (กลางปี ​​2010) ฉันหวังว่านี่จะช่วยได้.


1

สิ่งนี้ไม่ได้ผลสำหรับฉันเลย นี่คือสิ่งที่ฉันทำก่อนที่จะพบปัญหา

หลังจากที่คอมพิวเตอร์จะกลับมาทำงานหลังจากนอนหลับ (macbook pro mavericks, กรีดร้องคอมพิวเตอร์ที่มี 8gigs ram, retina) จอภาพด้านขวาจากจอภาพ 2 จอที่ฉันเสียบด้วย VGA-> DVI แล้วรีเซ็ตต่อจาก 1600x900 เป็น 800x600 . ฉันจะ:

  • ถอดพอร์ต DVI ออกจาก mac ไม่มีโชค.
  • ถอดปลั๊กและปิดจอภาพหันหลังและเปิดแล้วเสียบกลับเข้าไปใหม่ไม่มีโชค
  • ถอดปลั๊ก, ปิดจอภาพ, รีสตาร์ท mac, เสียบกลับเข้าไปใหม่แล้วเปิดเครื่องใหม่ ไม่มีโชค.
  • ไปที่การตั้งค่าการแสดงผลกดOptionเพื่อรับ "ตรวจจับการแสดงผล" คลิกแล้วไม่มีการเปลี่ยนแปลง
  • ปิดทุกอย่างปิดแล้วรีสตาร์ทคอมพิวเตอร์ในขณะที่กดCommand+ Option+ P+ Rเปิดทุกอย่างอีกครั้งเสียบกลับเข้า ... ยังไม่รีเซ็ตกลับไปเป็นจอแสดงผลที่ดีที่สุดสำหรับจอภาพนั้น

ไม่จำเป็นต้องบอกว่าฉันผิดหวังมาก จนกว่าฉันจะคิดว่าจะถอดปลั๊ก VGA ออกจากอะแดปเตอร์ DVI ได้อย่างไร ฉันก็ทำอย่างนั้นเชื่อมต่อกลับเข้าด้วยกันและ voila รีเซ็ตหน้าจอ

ดังนั้นสำหรับทุกคนที่มีปัญหานี้ในอนาคตอาจเป็นบางสิ่งในอะแดปเตอร์ DVI จริงที่อาจมีปัญหาด้วยเช่นกัน! หากทั้งหมดล้มเหลวให้ลองถอดอะแดปเตอร์ออกจากสายเคเบิลจอภาพของคุณและดูว่าใช้งานได้หรือไม่ มันทำเพื่อฉัน


0

ฉันมีปัญหาที่คล้ายกันกับ iMac ตั้งแต่ปี 2009 หน้าจอที่สองของฉันเชื่อมต่อผ่านอะแดปเตอร์ firewire-to-VGA ฉันพยายามทุกอย่างเพื่อแก้ไขปัญหานี้การรีเซ็ต nvram ทำงานหลังจากรีบูตเครื่อง แต่ในครั้งต่อไปที่จอภาพ 'นอนหลับ' ปัญหาก็เกิดขึ้นอีกครั้ง เมื่อฉันพยายามตั้งค่าความละเอียดด้วยตนเองความละเอียด (1920x1080) ของฉันไม่อยู่ในรายการแม้เมื่อกดปุ่ม "ตัวเลือก" ค้างไว้เพื่อแสดงความละเอียดเพิ่มเติม

ฉันพบวิธีแก้ปัญหาในโพสต์นี้โดย Andreas Schwarz ใน embdev.net (ดูลิงก์ในรหัสร้องของเขาฉันไม่สามารถโพสต์มากกว่า 2 ลิงก์) มันไม่ได้ตั้งใจโดยตรงเพื่อแก้ไขปัญหา แต่มันทำกับฉัน

ปัญหาสามารถแก้ไขได้โดยการแทนที่ข้อมูล EDID ของจอแสดงผลเพื่อบอก OS X ว่าจอแสดงผลรองรับเฉพาะ RGB สิ่งนี้สามารถทำได้โดยการอ่าน EDID ด้วย "ioreg -l" การแก้ไขบิตที่กระทำผิดกฎหมาย (ดูข้อกำหนดในบทความ Wikipedia) และการสร้างไฟล์แทนที่การแสดงผลสำหรับ OS X

จากนั้นเขาก็ให้สคริปต์ทับทิมเพื่อสร้างไฟล์แทนที่นี้:

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

การเรียกใช้สคริปต์นี้ในเทอร์มินัลด้วย 'ruby patch-edid.rb' สร้างโฟลเดอร์ชื่อ "DisplayXXX"

ย้ายโฟลเดอร์ที่มีอยู่ไปที่ / System / Library / Displays / Overrides หลังจากรีบู๊ตจอภาพควรแสดงว่ามีการใช้สี RGB

หลังจากรีบูตเครื่องความละเอียดไม่ถูกต้อง แต่ฉันสามารถตั้งค่าที่ถูกต้องในการตั้งค่าการแสดงผล


0

ไม่เห็นวิธีแก้ปัญหานี้ที่ใดก็ได้ที่เหมาะกับฉันและผู้ร่วมงาน ตรวจสอบดูว่ามีการอัพเดตสำหรับ mac ของคุณหรือไม่ ฉันมีการอัปเดตความปลอดภัยที่ฉันไม่ทราบดังนั้นฉันจึงอัปเดตและเริ่มต้นใหม่โดยไม่ได้เชื่อมต่อกับจอมอนิเตอร์และมันก็เริ่มทำงานได้ดี


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.