Dave, >> Some monitors and, more often, kvm switches do not provide working >> EDID data. KMS based X configurations in recent server versions no >> longer allow to override the screen resolution which makes it >> impossible to correctly adapt the screen resolution to the monitor >> in use. This patch allows to define the fallback screen resolution >> to something else than the default 1024x768. > Does video=800x600 not work for you? I did a lot more tests; apparently, things are even more difficult than expected.
These are my observations (all with Radeon X1950 and radeon driver): - On the monitor side: In addition to the known quirks, the EDID data may not be accessible or erroneous. The original patch only solved the situation of unavailable EDID data. A frequent reason of erroneous or unavailable EDID data is the use of suboptimally designed KVM switches that are unable to probe the connected monitor and send no or fantasy EDID data. - On the Xorg side: Older radeon drivers recognize the options "IgnoreEDID" and "NoDDC". Using this trick, Xorg can be forced to disregard any EDID data and use the resolution as specified in xorg.conf. Less old radeon drivers still recognize the option "IgnoreEDID", but this does not work any longer, since the option "NoDDC" has been abandoned. Such drivers rely on correct EDID data. Current radeon drivers should have the option "CustomEDID" to override the probed EDID data (at least this is what the manual says), but I couldn't get it working. The log file insists on saying that the option "CustomEDID" is not used. These drivers also rely on correct EDID data. My conclusion is, that the right place to solve the situation is in the kernel. The attached patch makes the sysfs edid entry writable. If the name of an existing binary EDID data file in /lib/firmware is supplied such as cd /sys/devices/pci0000:00/0000:00:07.0/0000:05:00.0/drm/card0 echo dvi_0.bin >card0-DVI-I-1/edid the related connector will be set to these EDID data. Any probing is then disabled. To restore the previous behavior and to re-enable monitor probing, an empty string or a single line delimiter must be sent: echo >card0-DVI-I-1/edid I have tested the patch successfully in a number of different configurations. When userspace setup tools such as gnome-display-properties are used, the name and resolution data of the provided (fake) EDID data are correctly decoded. When compared to the various X hacks I tried, I find this solution better, since it solves the problem at a place where it belongs. This is in line with the observation that EDID related functionality appears to fade out of X drivers. Does this make sense? Carsten. -------------- next part -------------- A non-text attachment was scrubbed... Name: drivers-gpu-drm-allow-to-load-edid-firmware.patch Type: text/x-patch Size: 4333 bytes Desc: not available URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20100524/8cf772c1/attachment.bin>