这个问题在我使用 10.04(9 月至 10 月)时开始出现,并在全新安装 10.10 后仍然存在。
我的问题是,当我尝试将屏幕改回来时,屏幕黑了几秒钟,然后又恢复为 1024x768 并显示“未知显示器”。
-内核是 2.6.37 RC2。-我的显卡是 ATI SAPPHIRE X1550 PCI-E,带有 X-update PPA 的最新驱动程序
sudo dmesg
给出:
[ 87.088780] radeon 0000:01:00.0: VGA-1: EDID block 0 invalid.
[ 87.088785] [drm:radeon_vga_detect] *ERROR* VGA-1: probed a monitor but no|invalid EDID
[ 87.141587] [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 126
[ 87.141592] [drm:drm_edid_block_valid] *ERROR* Raw EDID:
[ 87.141595] <3>ee 8b c5 a4 5a 48 9b 25 1a 50 54 bf ef 00 81 80 ....ZH.%.PT.....
[ 87.141599] <3>10 10 01 03 68 22 1b 78 ee 8b c5 a4 5a 48 9b 25 ....h".x....ZH.%
[ 87.141602] <3>1a 50 54 bf ef 00 81 80 71 4f 01 01 01 01 01 01 .PT.....qO......
[ 87.141605] <3>01 01 01 01 01 01 30 2a 00 98 51 00 2a 40 30 70 ......0*..Q.*@0p
[ 87.141609] <3>13 00 52 0e 11 00 00 1e 00 00 00 fd 00 38 4c 1e ..R..........8L.
[ 87.141612] <3>52 0e 00 0a 20 20 20 20 20 20 00 00 00 fc 00 43 R... .....C
[ 87.141615] <3>4d 43 20 31 37 0a 20 20 20 20 20 20 00 00 00 ff MC 17. ....
[ 87.141619] <3>00 30 0a 20 20 20 20 20 20 20 20 20 20 20 00 9d .0. ..
[ 87.141621]
[ 87.192666] [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 126
[ 87.192670] [drm:drm_edid_block_valid] *ERROR* Raw EDID:
[ 87.192673] <3>ee 8b c5 a4 5a 48 9b 25 1a 50 54 bf ef 00 81 80 ....ZH.%.PT.....
[ 87.192677] <3>10 10 01 03 68 22 1b 78 ee 8b c5 a4 5a 48 9b 25 ....h".x....ZH.%
[ 87.192680] <3>1a 50 54 bf ef 00 81 80 71 4f 01 01 01 01 01 01 .PT.....qO......
[ 87.192683] <3>01 01 01 01 01 01 30 2a 00 98 51 00 2a 40 30 70 ......0*..Q.*@0p
[ 87.192686] <3>13 00 52 0e 11 00 00 1e 00 00 00 fd 00 38 4c 1e ..R..........8L.
[ 87.192690] <3>52 0e 00 0a 20 20 20 20 20 20 00 00 00 fc 00 43 R... .....C
[ 87.192693] <3>4d 43 20 31 37 0a 20 20 20 20 20 20 00 00 00 ff MC 17. ....
[ 87.192696] <3>00 30 0a 20 20 20 20 20 20 20 20 20 20 20 00 9d .0. ..
[ 87.192698]
[ 87.243677] [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 126
[ 87.243682] [drm:drm_edid_block_valid] *ERROR* Raw EDID:
[ 87.243685] <3>ee 8b c5 a4 5a 48 9b 25 1a 50 54 bf ef 00 81 80 ....ZH.%.PT.....
[ 87.243689] <3>10 10 01 03 68 22 1b 78 ee 8b c5 a4 5a 48 9b 25 ....h".x....ZH.%
[ 87.243692] <3>1a 50 54 bf ef 00 81 80 71 4f 01 01 01 01 01 01 .PT.....qO......
[ 87.243695] <3>01 01 01 01 01 01 30 2a 00 98 51 00 2a 40 30 70 ......0*..Q.*@0p
[ 87.243698] <3>13 00 52 0e 11 00 00 1e 00 00 00 fd 00 38 4c 1e ..R..........8L.
[ 87.243702] <3>52 0e 00 0a 20 20 20 20 20 20 00 00 00 fc 00 43 R... .....C
[ 87.243705] <3>4d 43 20 31 37 0a 20 20 20 20 20 20 00 00 00 ff MC 17. ....
[ 87.243708] <3>00 30 0a 20 20 20 20 20 20 20 20 20 20 20 00 9d .0. ..
[ 87.243711]
[ 87.294695] [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 126
[ 87.294699] [drm:drm_edid_block_valid] *ERROR* Raw EDID:
[ 87.294702] <3>ee 8b c5 a4 5a 48 9b 25 1a 50 54 bf ef 00 81 80 ....ZH.%.PT.....
[ 87.294706] <3>10 10 01 03 68 22 1b 78 ee 8b c5 a4 5a 48 9b 25 ....h".x....ZH.%
[ 87.294709] <3>1a 50 54 bf ef 00 81 80 71 4f 01 01 01 01 01 01 .PT.....qO......
[ 87.294712] <3>01 01 01 01 01 01 30 2a 00 98 51 00 2a 40 30 70 ......0*..Q.*@0p
[ 87.294715] <3>13 00 52 0e 11 00 00 1e 00 00 00 fd 00 38 4c 1e ..R..........8L.
[ 87.294719] <3>52 0e 00 0a 20 20 20 20 20 20 00 00 00 fc 00 43 R... .....C
[ 87.294722] <3>4d 43 20 31 37 0a 20 20 20 20 20 20 00 00 00 ff MC 17. ....
[ 87.294725] <3>00 30 0a 20 20 20 20 20 20 20 20 20 20 20 00 9d .0. ..
[ 87.294727]
[ 87.294732] radeon 0000:01:00.0: VGA-1: EDID block 0 invalid.
对我来说唯一可行的解决办法是完全地关闭计算机并拔下电源插头。
最后,我的电脑可以正常运行其他非Linux操作系统。
编辑1:
看来我不是唯一一个有这个问题的人,其他的也有它。
编辑2:
为什么它尝试从 VGA-1 读取,但没有 VGA-1。
编辑3:
嗯,这似乎是驱动程序的问题,r300g 不再出现这种情况,即使出现,在我启动“监视器设置”后,它也会自行纠正
然而,在另一台计算机上使用 r600 驱动程序时,这种情况仍然会发生。
答案1
EDID 是显示器通过视频电缆向视频卡发送的少量数据。它包含有关显示器的数据 - 制造商、水平和垂直尺寸,以及最重要的,它支持的显示模式列表。视频驱动程序使用此模式列表来确定您的显示器支持的分辨率。
您的 dmesg 日志显示 EDID 解析代码有错误。由于 dmesg 日志中的 EDID 数据是稳定的 - 每次都打印出相同的数据和相同的校验和 - 看起来您的显示器发送了错误的数据。
您可能在 Ubuntu 9.10 中使用了不同的驱动程序,并且当时您可能没有使用内核模式设置驱动程序。这些内核驱动程序处理 EDID 的方式与较旧的用户空间 X 驱动程序不同。您可以使用用户空间模式设置而不是内核模式设置来解决此问题。有关如何执行此操作的说明如下这里。
目前还无法为你的显示器添加纠正 EDID 数据的怪癖,即使你有正确的数据;这是正在发生的事情在 Natty 工作,将成为 Ubuntu 11.04。
¹:通过 DDC,适合技术人士
答案2
您的显示器似乎出现了奇怪的问题,它返回了错误的垃圾信息,而不是 EDID EPROM 信息中的分辨率列表(这是存储在显示器中的支持分辨率表)。我认为这不是驱动程序的问题,可能是显示器的电源问题,也可能是显示器出现故障的迹象。
也可能是连接松动,VGA 电缆可能脱落。
考虑使用不同的显示器进行测试,看看问题是否仍然存在。
答案3
这是一个错误!它仍然存在于 r600 驱动程序中。