On Thu, Aug 30, 2012 at 8:24 AM, Tvrtko Ursulin tvrtko.ursulin@onelan.co.uk wrote:
Hi all,
I've been playing with some DisplayLink adapters, six of them to be precise connected to six identical HDMI monitors.
Under kernel 3.5 things did not really work for me apparently because of the udl driver's inability to fetch EDID. Interestingly, logged EDID blocks were different for each of the six monitors which suggests a serious bug somewhere.
I've then went to see if I can load my own EDID, because I remember doing it via /sys/class/graphics/fb?/edid before, but that file was not there. (Is it possible to override EDID with the udl driver?)
To cut the long story short, I figured out there are two drivers for this hardware. Fedora based 3.5 kernel builds and uses udl, while the older 3.3.2 I played with before builds and uses udlfb. (Why two drivers?)
udlfb was the original driver. It's a basic kernel fb driver. udl is a drm driver that Dave wrote based on udlfb. The drm variant will eventually allow you to hotplug displaylink adapters in X and use acceleration provided by another GPU.
Now going back to 3.3.2 and udlfb, EDID got correctly fetched from all six monitors.
Sounds like a bug in the udl i2c code. Probably worth comparing the relevant udl and uldfb code; it may be a simple fix.
Alex