Feature #216


Add DisplayLink USB driver to kernel and create optional xorg.conf for it

Added by Hammel about 9 years ago. Updated about 6 years ago.

04 - Root File System
Target version:
Start date:
15 Aug 2013
Due date:
% Done:


Estimated time:
05 - Very Low


I have a Lilliput USB monitor that would work great in the trailer. To get this to work I need to follow these steps.

The xorg.conf should open this up as a second display, for display purposes only such as with temperature and sensor displays. The S90UI init script should handle that, if it finds a /dev/fb1 for the USB display.

The DisplayLink driver is not currently enabled in the PiBox kernel. It's unclear if there is a special driver or if the fbdev driver is sufficient. The fbdev driver is in Buildroot but 2013.02 has 0.4.2 and the latest is 1.0.5.

See also:


synergy.conf (145 Bytes) synergy.conf Hammel, 18 Aug 2013 15:21
Actions #1

Updated by Hammel about 9 years ago

  • Description updated (diff)
Actions #2

Updated by Hammel about 9 years ago

Gentoo uses this to control the DisplayLink display from the main X session:

I can try this or see if Synergy works on a single host.

Actions #3

Updated by Hammel about 9 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 50

Enabled DisplayLink monitor in kernel. Added monitor to usbhandler.conf. Added and initial xorg.conf.dl configuration for it. Added initial shell script to bring up X on the monitor manually. This is all pushed upstream. Much of the configuration is based on the Gentoo examples. Note that this is running on fbdev, not the special xserver-xorg-video-displaylink X server that ubuntu users appear to be using.

I'll add a photo to show this working, just cuz its kinda cool, a little later. (See below)

Wow. That was easy. So now the DisplayLink monitor becomes available at boot time. However, you have to run the script manually to bring up X on it. I need to integrate this (along with a better default xinitrc) into the S90UI init script.

Another thing that Gentoo uses is x2x, which allows sharing keyboard and mouse between two monitors. I need to look into getting and trying this. It isn't available in Buildroot yet.

Finally, xset is missing. This is needed to disable screen blanking. I may want to review the rest of the X11 applications in Buildroot that are not enabled to see if there are others I may need.

Actions #4

Updated by Hammel almost 9 years ago

Synergy works to share the keyboard and mouse between the HDMI monitor and the Display Link.

First, start the server with the following command (configuration file is attached):

synergys -c /etc/synergy/synergy.conf

The configuration file is assumed to be stored under /etc/synergy. Next, start the client. Remember that the DisplayLink is being run as a second X server so we tell synergy client to use that server.

synergyc --display :1 --name displaylink

Both commands can be debugged by adding the following options:

-f --debug INFO

So we don't need x2x after all. We can use synergy instead.

Next up: get the synergy server config into the Buildroot skeleton and integrate synergy startup with S90UI. Important: Synergy should only start if both the HDMI and DisplayLink are are attached. So if there are not two X servers running, synergy should not start.

Actions #5

Updated by Hammel almost 9 years ago

  • % Done changed from 50 to 60

Pushed synergy.conf upstream.

To integrate with S90UI:
  1. S90UI tests for fb devices: /dev/fb0 /devfb1
  2. S90UI tests for DisplayLink USB device
  3. If only one fb but no DisplayLink, start only the original X server.
  4. If only one fb but has DisplayLink, start the DisplayLink server
  5. If two fb
    1. start both servers
    2. start synergy server
    3. start synergy client

Each server is started by telling xinit which xorg.conf to use.

Note: I may want to remove the matchbox config stuff from S90UI for now. I may still use BUI (re: my version of matchbox) but not yet.

Actions #6

Updated by Hammel almost 9 years ago

  • Priority changed from Normal to Low
  • Target version changed from 1.0 - Atreides to 3.0 - Corrino
  • Severity changed from 03 - Medium to 05 - Very Low

My Lilliput Displaylink was stolen out of my house (along with a bunch of other stuff). Based on what else they took from my office, I think the morons thought it was a tablet.

Anyway, I can't do any more testing on this without another DisplayLink. Since this isn't a necessary component, I'll move it way out and come back to it later.

Actions #7

Updated by Hammel about 6 years ago

  • Status changed from In Progress to Closed
  • % Done changed from 60 to 100

Closing issue as something that will never get done and isn't really needed anyway.


Also available in: Atom PDF