การแกล้งข้อมูล EDID ของจอภาพ


9

จอภาพของฉันค่อนข้างพิถีพิถัน บางครั้งฉันเรียกใช้โปรแกรมที่วนรอบการแก้ปัญหาและจอภาพจะปฏิเสธที่จะให้ข้อมูล EDID ในสองสามวัน:

(/var/log/Xorg.0.log)
[   239.653] (II) fglrx(0): Restoring Recent Mode via PCS is not supported in RANDR 1.2 capable environments
[   260.113] (II) fglrx(0): Cannot get EDID information for CRT1
[   271.166] (II) fglrx(0): Cannot get EDID information for CRT1
(^ ran xrandr, this happens)

นี่ทำให้การ์ดวิดีโอคิดว่าความละเอียดสูงสุดที่จะรองรับคือ 1600x1200 ในขณะที่ฉันใช้ที่ 1680x1050 ที่ดีที่สุดที่คู่มือของจอภาพบอกว่ารองรับ xrandrไม่ได้แสดงรายการโหมดที่ได้รับการสนับสนุน

ตอนนี้ฉันมีปัญหาเดียวกันนี้อีกครั้งเพราะฉันทดลองกับไวน์ซึ่งทำให้ Xorg หยุดทำงานและบังคับให้ฉันรีบูต

บางครั้งฉันรู้วิธีนำมันกลับมา (ฉันลืมไปแล้ว) และบางครั้งมันก็แก้ไขตัวเองได้

ครั้งแรกที่สิ่งนี้เกิดขึ้นฉันคิดว่าฉันควรสำรองข้อมูล binary EDID โดยใช้read-edidซึ่งฉันได้บันทึกไว้ในไฟล์ขนาด 128 ไบต์บนฮาร์ดไดรฟ์ของฉัน สิ่งนี้ทำให้ฉันคำถามของฉัน:

คุณจะบอก fglrx ให้อ่านข้อมูล EDID จากไฟล์ได้อย่างไรและไม่ลองรับจากจอภาพ


ข้อมูลเพิ่มเติม:

ฉันเคยคิดว่านี่เป็นความผิดของการ์ดแสดงผล แต่มันเกิดขึ้นกับการ์ดวิดีโอใหม่ (ยังไดรเวอร์ fglrx) เช่นเดียวกับสายเคเบิล VGA ใหม่

จอภาพเป็น LCM-22w3 ของ Westinghouse เสียบเข้ากับพอร์ต VGA ของการ์ดกราฟิก ATI Radeon HD 3200

ฉันได้ทำการวิจัยแล้วและเห็นได้ชัดว่านี่เป็นคำร้องเรียนทั่วไปของ LCM-22w3 แต่ดูเหมือนว่าไม่มีใครรู้วิธีแก้ปัญหานี้

fglrx 8.92, xorg-server 1.9.5, เคอร์เนล 2.6.38.7 x86_64 arch

คำตอบ:


4

เมื่อฉันใช้สวิตช์ VGA KVM บล็อก EDID ฉันใช้สคริปต์ขนาดเล็กเพื่อแก้ไขความละเอียดหลังจากเข้าสู่ระบบ:

xrandr --newmode "1600x1200_60.00"  162.00  1600 1664 1856 2160  1200 1201 1204 1250 +hsync +vsync
xrandr --addmode VGA-1 1600x1200_60.00
xrandr --output VGA-1 --mode 1600x1200_60.00

ฉันคิดว่าฉันได้รับบรรทัดโหมดจาก xrandr อย่างใด (เสียบจอภาพโดยตรง) ฉันพยายามวางไว้ในไฟล์กำหนดค่า X แต่เซิร์ฟเวอร์ X ที่โง่เขลายังคงไม่สนใจมันด้วยเหตุผลปลอม ๆ


1
ขอบคุณที่ใช้งานได้สำหรับฉัน เพิ่มเพื่อที่จะได้รับค่าเริ่มต้นสำหรับหน้าจอของฉันฉันใช้คำสั่งcvt
remi

อย่างไรก็ตามถ้าคุณมี 2 หน้าจอเมื่อคุณตั้งค่าความละเอียดของหน้าจอที่สอง (เช่นหน้าจอภายนอกด้วยแล็ปท็อป) ฉันไม่สามารถใช้ arandr อีกต่อไปในการแก้ไขตำแหน่งหน้าจอ แต่คุณยังสามารถใช้ xrandr กับ - ซ้ายหรืออะไรก็ได้
remi

1

คุณอาจลอง

Option "IgnoreEDID" "TRUE"

จากนั้นระบุข้อมูลจอภาพของคุณด้วยตนเอง หาก IgnoreEDID ไม่ได้ผลสำหรับคุณลอง

Option "UseEDIDFreqs" "FALSE"
Option "UseEDIDDpi" "FALSE"

1
[433447.647] (WW) fglrx (0): ไม่ได้ใช้ตัวเลือก "UseEDIDFreqs" [433447.647] (WW) fglrx (0): ตัวเลือก "UseEDIDDpi" ไม่ใช้ [433447.647] (WW) fglrx (0): ตัวเลือก "ไม่สนใจ" "ไม่ได้ใช้ [433447.647] (WW) fglrx (0): ไม่ได้ใช้ตัวเลือก" CustomEDID "
amphetamachine

อันนี้ distro ฉันไม่มีระบบที่เหมาะสมในการทดสอบ (แต่รู้จากประสบการณ์ก่อนหน้านี้ว่า CustomEDID ควรทำงานอย่างน้อย) - คุณอาจต้องมีข้อกำหนดเบื้องต้นอื่น ๆ เพื่อให้ EDID ที่กำหนดเองทำงานได้ ตัวอย่างเช่น: en.gentoo-wiki.com/wiki/Radeon#Custom_EDID
Dr. JKL

1
นี่คือ Slackware แต่ไม่ควรสำคัญ ไดรเวอร์ที่อ้างถึงในลิงก์ที่คุณให้มีไว้สำหรับไดรเวอร์ "radeon" F / OSS ที่มาพร้อมกับ Xorg และไม่ใช่ "fglrx" ที่เป็นกรรมสิทธิ์ของฉันฉันใช้ (และต้องทำให้การเร่งความเร็ว 3 มิติของฉันทำงาน)
แอมเฟตามาจิ

0

หนึ่งไม่ฟรี (โอเคค่อนข้างแพง) ตัวเลือกคือการใช้Gefen ของ DVI นักสืบ มันเป็นอุปกรณ์ที่จะแคชข้อมูล EDID จากอุปกรณ์และจากนั้นให้มันไปยังพีซีอย่างต่อเนื่อง

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

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