A fully open source (GPL) driver which supports all [[DisplayLink|DisplayLink]] devices to date (all DL1xx devices) is in the mainline of the Linux 2.6.38 kernel, and can be compiled as a module for certain older kernels. It is called udlfb. It's still very much under development, but it's possible to write custom applications to it today (or to libdlo user mode library itself, bypassing udlfb). And it's also possible to configure X and standard X applications to run on udlfb -- but that part is still very distro dependent today. Most people in the [[DisplayLink|DisplayLink]] community running X are on an older version of Ubuntu (9.04), and some on certain versions of [[RedHat|RedHat]]. Savvy people would be able to get other distros running, but it can be a slog. # Usage Scenarios for USB Displays * [[TextConsole|TextConsole]] * [[DirectFramebuffer|DirectFramebuffer]] * [[ExtendedDesktop|ExtendedDesktop]] * [[MultiSeatTerminal|MultiSeatTerminal]] # HowTos for specific distributions * [[Fedora|Fedora]] - See post at [[http://nameq.wordpress.com/2011/09/21/displaylink-dl-165-running-on-linux-fedora/|http://nameq.wordpress.com/2011/09/21/displaylink-dl-165-running-on-linux-fedora/]]. * [[Ubuntu9.10|Ubuntu9.10]] - See post at [[http://mulchman.org/blog/?p=90|http://mulchman.org/blog/?p=90]]. See post from Patrick Gilmore at [[http://blogg.noonday.se/2010/01/28/linux-usb-video-adapter/|http://blogg.noonday.se/2010/01/28/linux-usb-video-adapter/]] * [[Ubuntu9.04|Ubuntu9.04]] * [[Ubuntu8.10|Ubuntu8.10]] - See post at [[http://mulchman.org/blog/?tag=displaylink|http://mulchman.org/blog/?tag=displaylink]] * [[ARMEDSlack Current]] # Specific Drivers * Linux * Current Driver Locations, culled from [[this thread|http://lists.freedesktop.org/archives/libdlo/2011-June/000928.html]]. * [[X FrameBuffer Driver|http://git.plugable.com/webdav/xf86-video-fbdev/]]. Standard X driver updated to use [[DisplayLink|DisplayLink]] devices. * [[X DisplayLink Driver|http://git.plugable.com/webdav/xf-video-udlfb/]]. X driver just for [[DisplayLink|DisplayLink]] devices. * [[Kernel DisplayLink Driver|http://otb-sources.googlecode.com/svn/trunk/pds/udlfb-kmod/]] from Google Code. * Or use the driver shipped with kernel 2.6.38 or more recent. * Older drivers and locations: * [[udlfb|http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=drivers/staging/udlfb;h=9f4cb8c01d7cc9235b76a603eebe2c7b77642f4c;hb=HEAD]] is the original displaylink kernel framebuffer driver, without dynamic mode support and a few minor features, but fully functional and present in kernel versions 2.6.31 and later, and enabled by default in some recent distros (Ubuntu 9.10). * [[displaylink-mod|displaylink-mod]] is a updated branch of the udlfb driver by the same author (Roberto) * [[displaylinkfb|displaylinkfb]] is a new branch written by Jaya Kumar, targeted at embedded via defio and no in-kernel shadow framebuffer, which uses the standard fbdev X servers * [[xf86-driver-displaylink|xf86-driver-displaylink]] X Server written by Roberto which works with both udlfb and displaylink-mod * OpenBSD * [[udl|udl]] OpenBSD kernel text and graphics console driver * [[xf86-driver-wsudl|xf86-driver-wsudl]] X driver for OpenBSD's udl(4) driver using the wscons(4) framework. * Android * There is a port of the open source for Android 1.6 [[here|https://github.com/magoroku15/DisplayLink-driver-for-android]] # Specific Devices * [[DeviceQuirks|DeviceQuirks]] for specific [[DisplayLink|DisplayLink]] devices # Working Devices & Screens from Users * [[Acer Aspire One - Ubuntu 9.04 - Plugable UD-160-A dock - Acer monitor|http://plugable.com/2009/10/13/using-the-plugable-dock/]] # Linux Driver Project To help release libdlo and encourage collaboration on fully functional Linux drivers, DisplayLink has enlisted the help of the [[Linux Driver Project|http://www.linuxdriverproject.org/]] (LDP). The LDP are a group of Linux kernel developers (over 200 strong) and project managers (over 10) that develop and maintain Linux kernel drivers. They work with device manufacturers like DisplayLink to specify, develop, submit to the main kernel, and maintain the kernel drivers. For more information, see the [[Linux Driver Project Frequently Asked Questions|http://www.linuxdriverproject.org/twiki/bin/view/Main/FrequentlyAskedQuestions]]. # Open Source Support ## Mailing List Discussion regarding DisplayLink open source code should use [[the libdlo mailing list on freedesktop.org|http://lists.freedesktop.org/mailman/listinfo/libdlo/]] or the [[DisplayLink open source forum|http://displaylink.org/forum/forumdisplay.php?f=29]]. ## Commercial Support Commercial paid support and consulting for the DisplayLink libdlo Library is available from the following companies: * [[Endurance Technology|http://www.endurancetech.co.uk/pages/displaylink.php]] (UK, India, Thailand) - _libdlo{at}endurancetech.co.uk_ * [[InoScope|http://www.inoscope.com]] (Poland) - _libdlo{at}inoscope.com_ # Libdlo Reference code This is the official [[DisplayLink|http://www.displaylink.com]] Library project, libdlo. This library is an open-source implementation of DisplayLink USB graphics software, and is licensed under the GNU Lesser General Public License (LGPL) v2.1. This should be considered reference code, rather than a starting point for any project. udlfb is a better starting point for open source code. ## Libdlo library background This library will discover and connect to DisplayLink USB graphics chips and allow for developers to support DisplayLink devices on Linux and other platforms. libdlo itself doesn't include any drivers or applications intended for end-users. libdlo currently supports the DisplayLink DL-120 and DL-160 ([[DL-1x0 Family|http://www.displaylink.com/displaylink_hardware.html]], "Alex") and the DL-125, DL-165, and DL-195 ([[DL-1x5 Family|http://www.displaylink.com/displaylink_hardware.html]], "Ollie") chips. For a list of products that use DisplayLink technology, please visit [[http://displaylink.com/shop|http://displaylink.com/shop]]. ## Download libdlo * Most recent released version: [[libdlo-0.1.2.tar.gz|http://people.freedesktop.org/~berniet/libdlo-0.1.2.tar.gz]] * Working version (git): [[http://cgit.freedesktop.org/libdlo/|http://cgit.freedesktop.org/libdlo/]] To get a high level view of what libdlo provides, please see [[the PDF guide|http://people.freedesktop.org/~berniet/Guide-v104.pdf]] ## Using libdlo * Install a compatible libusb version (0.13) * on ubuntu - "sudo apt-get install libusb-dev" * Plug in a [[DisplayLink|DisplayLink]] USB device To start the build process, open a shell prompt and run * $ ./configure && sudo make install && make check "Make check" will do some basic drawing on one of the attached [[DisplayLink|DisplayLink]] devices. If you hit errors during configure, try installing the autotools and libtool packages. Please see the README in the distribution for more details. ## Libdlo bug reporting Discussion regarding libdlo or DisplayLink support for Linux should use [[the libdlo mailing list on freedesktop.org|http://lists.freedesktop.org/mailman/listinfo/libdlo/]] or the [[DisplayLink open source forum|http://displaylink.org/forum/forumdisplay.php?f=29]] Please report bugs and submit patches to libdlo through [[FreeDesktop.org Bugzilla|https://bugs.freedesktop.org/]]. Submit new bugs through the following page: [[http://bugs.freedesktop.org/enter_bug.cgi?product=libdlo|http://bugs.freedesktop.org/enter_bug.cgi?product=libdlo]]. To follow libdlo specific changes and news on twitter, please visit [[http://twitter.com/libdlo|http://twitter.com/libdlo]] # About DisplayLink and DisplayLink USB Graphics Technology DisplayLink is a chip and software company that develops a technology to connect monitors to PCs through a USB 2.0 cable. DisplayLink USB graphics works by creating a “virtual graphics card” in software on the PC, compressing the data using a proprietary protocol, and sending the compressed data to a DisplayLink chip on the far end of a USB 2.0 connection. DisplayLink technology is available in USB to DVI adapters, USB monitors, USB “Universal” docking stations, and USB projectors. Additional information about DisplayLink can be found on the [[DisplayLink Wikipedia page|http://en.wikipedia.org/wiki/DisplayLink]] or the official [[DisplayLink website|http://displaylink.com]]. This wiki is undergoing [[conversion]]. If you have a fd.o shell account, you can help!