[Libdlo] Generic fbdev X server on DisplayLink devices

Bernie Thompson bernie at plugable.com
Tue Jun 1 15:56:34 PDT 2010


Hi Alexander,

On Mon, May 31, 2010 at 5:00 AM, Alexander Todorov <atodorov at otb.bg> wrote:
> excuse my silly question but I don't really know what "standard kernel-provided
> mode lists" exactly is. AFAIK EDID is supported only for LCD monitors. Will this
> change make DisplayLink devices usable with old CRT monitors? If not why not? Is
> it technically possible to make them work?

xf86-video-fbdev takes the default/current reported by the framebuffer
driver (via FBIOGET_VSCREENINFO) and runs with it.  So actually it's
not really a list. For udlfb, that default mode is the highest common
mode between what the monitor reports via EDID and what the
displaylink chip is capable of.  So in the presence of EDID, it sets
the best possible mode considering both adapter and monitor.

The original displaylink X server asks for the monitor EDID directly
(queried from udlfb with private sysfs interface) and runs with the
best mode the monitor is capable of.  If the displaylink chip can't
handle it, you get a black screen.

Neither helps with monitors where you have no EDID at all.  On
Windows, the behavior in the case of no EDID is typically to expose
all modes to the user, but set a very low/safe one (640x480 or
800x600) with standard timings.  The user can bump up the mode, but
some modes just won't work either because of monitor timings, max
mode, or graphics hardware max mode.

That's not currently the Linux/fbdev/udlfb behavior, but perhaps we
can get there some way.  One step (which also would help with embedded
LCD panels) is to enhance udlfb's sysfs edid interface, so it can be
written to by user mode entities, and have that be used when the
hardware has no EDID.  So from udev rules, we could supply a generic
default edid, cache last good edid, or provide one by hand when on a
particular embedded platform, etc...

Best wishes,
Bernie
http://plugable.com/


More information about the Libdlo mailing list