[Libdlo] Multiple DisplayLink devices with fbdev

Mike Jager mike at mikej.net.nz
Sat Nov 6 17:41:05 PDT 2010


On 07/11/10 11:51, Mike Jager wrote:

> However, when starting Xorg, only the first DisplayLink device (dl0 -
> left screen) gets used. The gdm login box shows on the left screen, but
> the right screen doesn't get used at all. If I configure dl0 to use
> /dev/fbhp1 instead of /dev/fbhp0, then the right screen displays the gdm
> login box and it is then the left screen which doesn't get used.

I've never had a BusID set in my xorg.conf for DisplayLink devices 
before, as I've never needed one. On or around line 317 of fbdev.c, 
there is a check to see if the BusID provided in xorg.conf is a PCI 
string, and if so, fbdev claims a PCI slot. For some reason, something 
was believing my DisplayLink devices did indeed have a PCI BusID, so 
were trying to claim PCI slot.

I solved this by setting BusID to "USB" - something which is clearly not 
a PCI BusID string:

Section "Device"
	Identifier	"dl0"
	Driver		"fbdev"
	BusID		"USB"
	Option		"fbdev" "/dev/fbhp0"
	Option		"ReportDamage" "true"
EndSection

Section "Device"
	Identifier	"dl1"
	Driver		"fbdev"
	BusID		"USB"
	Option		"fbdev" "/dev/fbhp1"
	Option		"ReportDamage" "true"
EndSection

There's a comment on line 336 of fbdev.c which suggests someone else has 
run into a similar issue in the past with PCI slots being claimed when 
no BusID is provided:

                     /* XXX what about when there's no busID set? */

So I've now got both screens working again with udlfb, but KeePassX is 
still crashing Xorg. Given that KeePassX worked fine with udlfb/fbdev 
with one monitor, this suggests it's something in Xinerama which is 
breaking, rather than udlfb/fbdev.

If anyone is able to help me try and track down what might be causing 
that crash, I'm all ears.

-Mike


More information about the Libdlo mailing list