EDID issue

565 views
Skip to first unread message

ARM Fan

unread,
Sep 1, 2013, 6:42:58 AM9/1/13
to wand...@googlegroups.com
Hello,

the EDID thing is still some kind of problem for me. With the video parameter I now get the right resolution for my monitor, and xrandr does the trick for xserver. Nonetheless, my monitor keeps summing - only with wandboard attached, so I think timings are not perfect.

Anyway, here is some info about the video parameter for kernel: https://wiki.archlinux.org/index.php/Kernel_Mode_Setting It works for me also with ubuntu. For monitors with 1920x1200 I realized that most of them use reduced blanking. This can be achieved by the following: (the 'MR' is important)
video=HDMI-A-1:1920x1200MR-24@60

The provided link also mentions to provide an EDID file to kms. In my mind this should be the best solution currently. BUT, I do net get it working. It took me some time, to realize I had to enable it in kernel config:
CONFIG_DRM_LOAD_EDID_FIRMWARE=y

Now the parameter is taken into account when booting. Unfortunately, the kernel does not find my edid file. The EDID file is correct, I used parse-edid to test it. But during boot there is a 1 minute break. Exactly after this I get these messages:
[   61.614803] imx-sdma 20ec000.sdma: firmware not found
[   63.374752] [drm:edid_load] *ERROR* Requesting EDID firmware "edid/samsung_edid.bin" failed (err=-2)

Can anyone help me? What to do about this? I did some googling and came to the idea the file is not in the basic image or something like that and therefore not found. But this does not help me.

Kind regards,
ARM Fan

Tony Prisk

unread,
Sep 1, 2013, 3:16:52 PM9/1/13
to wand...@googlegroups.com

This appears to be the same timeout issue that plagues a lot of in-kernel binary loading.. The filesystem is simply not available when it tries to load.. I assume the rootfs is actually mounted AFTER this has executed.

As for a solution, sorry... don't know.

Regards
Tony P

ARM Fan

unread,
Sep 2, 2013, 9:01:51 AM9/2/13
to wand...@googlegroups.com
Thanks Tony,

this is also what I think.

Now I would need a way to add the file to the initramfs. But my knowledge lacks some things. For uboot there only is the zImage that contains everything am I right? This contains kernel and basic rootfs for basic startup. The real rootfs from other partition on sd card is mounted later. With grub on x86 desktop hardware things are differnt. Here I have a dedicated initrd file for each kernel which is an initramfs and can be modified. But with this uboot zimage I don't know how to start.

ARM Fan

unread,
Sep 3, 2013, 7:40:44 AM9/3/13
to wand...@googlegroups.com
Hello,

yesterday I figured it out, it took me hours of reading and experimenting but now have the edid file embedded in the image which contains kernel and an initramfs. Now I even get some pengiuns during boot up on the screen. The kernel starts a lot faster as all the edid read fails aren't taking place anymore. If anyone is interested, I can post some instructions, although I fear my way is more a some kind of a hack than a clean solution.

Now I only need to pass the edid file to xserver. As usual in ubuntu there is no xorg.conf. In internet I found one can create on with xorg -configure, but it says "no devices to configure. failed". How can I get a basic xorg.conf to edit? Or may I just create one straight away?

Kind regards,
Christian

Dennis Johansson

unread,
Sep 18, 2013, 4:51:23 PM9/18/13
to
Maybe you can set it in xorg.conf? Had some problem that it would not recognize my screen, this did it.. But you could force your mode bypassing the edid check, I made that at first..

Like following:

Section "Screen"
        Identifier      "Default Screen"
        Monitor         "Configured Monitor"
        Device          "i.MX Accelerated Framebuffer Device"
        SubSection "Display"
                Depth   24
                FbBpp   32
                Modes   "1600x1200"
        EndSubSection
EndSection

Take care,

/Dennis

abr...@gmail.com

unread,
Sep 19, 2013, 8:28:32 AM9/19/13
to wand...@googlegroups.com
For me this hasn't worked.  I tried using randr to do this interactively aiming for 1650x1024 and 1920x1080 and I get an error.  As I recall the framebuffer is too small for resolutions much above 720x480.  That's the reason, as I understand it, that you need to call the kernel with bootargs set for 1920x1080 or whatever.  Once that frame buffer is set there seems to be no changing it.  My understanding might be a bit off but when I was trying to get my quad to drive a plain jane 1080p HDMI tv it just never worked.  I thought I was almost there and then this lack of memory for the higher resolution was a show stopper.

Devs...  this problem is still a major problem.  It would help your users if you released a new ubuntu image withe uenv.txt style bootargs working so we have at least some workaround without resorting to a null modem and serial console.

Assuming that falls on deaf ears.  I would love to seed a torrent of an image or images that improve on the stock one.
Reply all
Reply to author
Forward
0 new messages