Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I'm using Mythbuntu 12.04 with a TV which only provides EDID information when it is turned on. Since the computer will be used for recording video via MythTV, I don't want to always have the TV on while the computer is running.

I saved the EDID to a file, put it in /lib/firmware, and added drm_kms_helper.edid_firmware=DVI-I-1:LT26-A.VGA.EDID.bin to the kernel command line. The kernel loads EDID from this file, and X starts with the proper resolution. However, the kernel still attempts to read EDID from the device and spams my logs with messages like this:

[   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.

Adding the drm_kms_helper.edid_firmware option also causes a long delay when shutting down or rebooting. It happens even when the monitor is on. Part of it is due to all invocations of plymouth hanging for a while, probably due to plymouthd hanging. This makes scripts executed at shutdown hang for a while. Not running plymouthd at shutdown helps, but there is still a delay.

After the delay, I see:

[drm:edid_load] *ERROR* Requesting EDID firmware "LT26-A.VGA.EDID.bin" failed (err=-2)

This flashes by very quickly and is followed by the splash screen or reboot. I could only record it using a camera. It makes no sense to me because during the delay the computer was fully usable via SSH. The kernel should have been able to read the file.

I don't think this is a Plymouth problem. It's probably hanging because some video mode change it requests is hanging. However, I'd love to be able to tell Plymouth to always stay in ordinary VGA text mode.

I also tried drm_kms_helper.poll=0 and drm_kms_helper.poll=N kernel options. They can set the option according to /sys, but I don't see any change from that.

Adding the nomodeset kernel parameter gets rid of the these issues. However, then the current version of the radeon driver in the X server doesn't work properly and newer versions refuse to run.

Update: Adding --tty=/dev/console to the invocation of plymouthd at shutdown in /etc/init/plymouth.conf has fixed the shutdown hang, even when the TV is turned off.

share|improve this question

2 Answers 2

Edid must begin with

00 FF FF FF FF FF FF 00

but not to be 128 times FF.

You have no EDID perhaps because of it is erase broken it is no chip with EDID or what is very probable, it is broken some physical contact on EDID interface between monitor or video card. Or even inside your monitor.

share|improve this answer

I don't have exactly same problem, but I found some problems with xorg when I switch user between openned sessions:

PROBLEM: I have session with 1600x1050 and switch to another user's session that was previously set with same 1600x1050 resolution. But when I switch to this session, the screen gets 1280x1024 and for some reason the size of the session is very very wrong (it is bigger than the screen resolution and I can't move or click most of the things so I have to restart all Xorg).

WORKAROUND: Fortunately I have found some way to resolv it in a tricky way: Change resolution file name with your resolution file.

1-Install get-edid command:  sudo apt-get install read-edid
2-Create a bin file with edid information: sudo get-edid  > 1600x1050.bin
3-Create a folder to store this file: sudo mkdir /lib/firmware/edid
4-Copy the file: sudo cp 1600x1050.bin /lib/firmware/edid
4-Edit grub to edit linux command to load this file in kms: 
     -sudo editor /etc/default/grub
     -Edit line:  RUB_CMDLINE_LINUX_DEFAULT="drm_kms_helper.edid_firmware=edid/1600x1050.bin quiet" 
             Change your name.bin file. 
     -sudo update-grub
 5-Reboot and test. 

For some reason it worked for me very well. I have this card and driver: fglrxinfo display: :0 screen: 0 OpenGL vendor string: Advanced Micro Devices, Inc. OpenGL renderer string: AMD Radeon HD 6450 OpenGL version string: 4.2.12002 Compatibility Profile Context 9.012

My edid information file is:

command: #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

EndSection

kernel.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

I was looking for other bug report similar in launchpad, but still looking for the correct one. I would like find a user with same problem I had, because I think this problems affects many things in KMS (Kernel mode switch), not just switching between user session, also games in full screen with different resolution and others things.

It is very hard to find the correct way to report this issue, I would like to have some help with some Xorg/Kernel team.

I think this could be fixed in some low level, but could be also fixed with this kind of workaround in some easier way for users: For example adding some script that test if edid is detected or not, and asking the user if he liked to let script get the edid info and parse it to the kernel command, then ask if it was working fine and if the user wants to keep these settings.

Hope it could help your issue too.

I have found most of this information in: https://wiki.archlinux.org/index.php/Kernel_Mode_Setting

I'm posting it on:

http://askubuntu.com/posts/352978

https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-ati/+bug/579292

Cheers, Pablo.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.