Feature #216
closedAdd DisplayLink USB driver to kernel and create optional xorg.conf for it
100%
Description
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 X.org 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:- http://libdlo.freedesktop.org/wiki/xf86-driver-displaylink/
- http://plugable.com/2011/12/23/usb-graphics-and-linux
- http://wiki.gentoo.org/wiki/DisplayLink
- http://gavinmhackeling.com/blog/2012/12/how-to-use-an-external-displaylink-monitor-with-linux/
- http://how-to.cc/get-a-displaylink-video-adapter-working-with-ubuntu-12-04
Files
Updated by Hammel over 11 years ago
Gentoo uses this to control the DisplayLink display from the main X session: http://www.the-labs.com/X11/#x2x
I can try this or see if Synergy works on a single host.
Updated by Hammel over 11 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 X.org configuration for it. Added initial displaylink.sh 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 displaylink.sh 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.
Updated by Hammel over 11 years ago
- File synergy.conf synergy.conf added
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 127.0.0.1
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.
Updated by Hammel over 11 years ago
- % Done changed from 50 to 60
Pushed synergy.conf upstream.
To integrate with S90UI:- S90UI tests for fb devices: /dev/fb0 /devfb1
- S90UI tests for DisplayLink USB device
- If only one fb but no DisplayLink, start only the original X server.
- If only one fb but has DisplayLink, start the DisplayLink server
- If two fb
- start both servers
- start synergy server
- 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.
Updated by Hammel about 11 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.
Updated by Hammel over 8 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.