我使用Mythbuntu12.04与电视,它只提供EDID信息时,它是打开。由于计算机将用于通过MythTV录制视频,所以我不想总是在计算机运行时打开电视。
我将EDID保存到一个文件中,将其放入/lib/固件中,并将drm_kms_helper.edid_firmware=DVI-I-1:LT26-A.VGA.EDID.bin添加到内核命令行。内核从这个文件加载EDID,X以正确的分辨率开始。但是,内核仍然尝试从设备中读取EDID,并使用如下消息发送日志:
[ 31.926373] [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 128
[ 31.927144] Raw EDID:
[ 31.927352] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[ 31.927882] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[ 31.928454] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[ 31.928984] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[ 31.929513] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[ 31.930042] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[ 31.930569] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[ 31.931097] ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[ 31.931630] radeon 0000:01:00.0: DVI-I-1: Ignoring invalid EDID block 1.
[ 31.990143] i2c i2c-3: sendbytes: NAK bailout.
[ 31.993215] [drm:radeon_dvi_detect] *ERROR* DVI-I-1: probed a monitor but no|invalid EDID
[ 32.023802] [drm] Got external EDID base block and 0 extensions from "LT26-A.VGA.EDID.bin" for connector "DVI-I-1"
[ 32.774355] i2c i2c-3: sendbytes: NAK bailout.添加drm_kms_helper.edid_firmware选项也会在关闭或重新启动时造成很长的延迟。即使在显示器开着的时候也会发生。部分原因是对plymouth挂起一段时间的所有调用,可能是由于plymouthd挂起。这使得在关机时执行的脚本挂起一段时间。在关机时不运行plymouthd是有帮助的,但仍然存在延迟。
在拖延之后,我看到:
[drm:edid_load] *ERROR* Requesting EDID firmware "LT26-A.VGA.EDID.bin" failed (err=-2)这会非常快地闪现,然后是启动屏幕或重新启动。我只能用相机录下来。这对我来说毫无意义,因为在延迟期间,计算机通过SSH完全可用。内核应该能够读取该文件。
我不认为这是普利茅斯问题。它可能是挂起的,因为某些视频模式改变了它所要求的挂。然而,我希望能够告诉普利茅斯总是保持在普通的VGA文本模式。
我还尝试了drm_kms_helper.poll=0和drm_kms_helper.poll=N内核选项。他们可以根据/sys设置选项,但我看不出有什么变化。
添加nomodeset内核参数可以消除这些问题。但是,X服务器中当前版本的radeon驱动程序不能正常工作,新版本拒绝运行。
更新:将--tty=/dev/console添加到/etc/init/plymouth.conf关闭时对plymouthd的调用中已经修复了关机挂起,即使在关闭电视时也是如此。
发布于 2013-10-03 03:12:49
我没有完全相同的问题,但当我在打开的会话之间切换用户时,我发现了xorg的一些问题:
问题:我有与1600x1050的会话,并切换到以前使用相同1600x1050分辨率设置的另一个用户的会话。但是当我切换到这个会话时,屏幕会得到1280x1024,并且由于某种原因,会话的大小是非常错误的(它比屏幕分辨率还要大,我无法移动或单击大多数东西,因此我必须重新启动所有Xorg)。
解决办法:幸运的是,我找到了一些方法来以一种棘手的方式解决它:用您的解析文件更改分辨率文件名。
出于某种原因,它对我很管用。我有这张卡和司机:
弗格利克斯
显示:0屏幕:0
OpenGL供应商字符串:高级微设备公司。
OpenGL渲染器字符串: 6450
OpenGL版本字符串: 4.2.12002兼容性配置文件上下文9.012
运行命令后显示的下面的edid信息
# parse-edid < 1600x1050.bin:
parse-edid: parse-edid version 2.0.0
parse-edid: EDID checksum passed.
# EDID version 1 revision 3
Section "Monitor"
# Block type: 2:0 3:fc
Identifier "22T41-H-AN"
VendorName "KTC"
ModelName "22T41-H-AN"
# Block type: 2:0 3:fc
# Block type: 2:0 3:fd
HorizSync 15-68
VertRefresh 49-61
# Max dot clock (video bandwidth) 150 MHz
# DPMS capabilities: Active off:no Suspend:no Standby:no
Mode "1280x720" # vfreq 60.000Hz, hfreq 45.000kHz
DotClock 74.250000
HTimings 1280 1390 1430 1650
VTimings 720 725 730 750
Flags "+HSync" "+VSync"
EndMode
Mode "1680x1050" # vfreq 59.883Hz, hfreq 64.674kHz
DotClock 119.000000
HTimings 1680 1728 1760 1840
VTimings 1050 1053 1059 1080
Flags "-HSync" "+VSync"
EndMode
# Block type: 2:0 3:fc
# Block type: 2:0 3:fd
EndSectionkernel.log:
2139 Oct 2 21:45:06 dans679-computer kernel: [ 0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.8.0-30-generic root=UUID=939b3111-4906-46ae-9ad7-7faa783d490d ro drm_kms_helper.edid_firmware=edid/1600x1050.bin quiet我在寻找其他类似的错误报告,但仍在寻找正确的一个。我认为这个问题会影响到KMS (内核模式切换)中的许多东西,而不仅仅是用户会话之间的切换,还会影响到具有不同分辨率的全屏游戏和其他东西。
很难找到正确的方法来报告这个问题,我想让一些Xorg/Kernel团队提供一些帮助。
我认为可以在一些较低的级别上解决这个问题,但也可以以一些更简单的方式对用户进行修复:例如添加一些脚本来测试edid是否被检测到,询问用户是否希望让脚本获取edid信息并将其传递给内核命令,然后询问它是否正常工作,以及用户是否希望保留这些设置。
我在Arch wiki内核模式设置页面中找到了大部分这些信息
我把它贴在:
https://askubuntu.com/posts/352978
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-ati/+bug/579292
发布于 2013-09-06 22:00:57
Edid必须从
00 FF FF FF FF FF FF 00但不是128倍的FF。
您没有EDID,也许是因为它是擦除的,它不是带有EDID的芯片,或者是很有可能的,它在监视器或视频卡之间的EDID接口上断开了一些物理联系。甚至在你的显示器里。
https://askubuntu.com/questions/201081
复制相似问题