Porting the DisplayLink Ubuntu driver to other Linux distributions
The Ubuntu driver consists of an open-source kernel mode driver (EVDI) with an accompanying library (libevdi), and a supporting binary application compatible with Intel x86 or x64 platforms. Source code for the open-source components can be found at DisplayLink's GitHub.
Extracting the driver components
The Ubuntu driver components can be extracted for repackaging using the command:
./displaylink-driver-x.x.xx.run --noexec --keep
The following files will be extracted:
udev-installer.sh- The installation shell script.
evdi-x.x.xx-src.tar.gz- The open source code, from GitHub
ella-dock-release.spkg- The firmware image for DL-3xxx and DL-5xxx devices. This will be programmed into the DisplayLink IC, if the current firmware version in the device does not match this version.
firefly-monitor-release.spkg- The firmware image for DL-4xxx devices. This will be programmed into the DisplayLink IC, if the current firmware version in the device does not match this version.
ridge-dock-release.spkg- The firmware image for DL-6xxx devices. This will be programmed into the DisplayLink IC, if the current firmware version in the device does not match this version.
./arm* ./x86* and ./x64*
DisplayLinkManager- The user mode binary driver for DisplayLink devices
libevdi.so- The pre-built library taken from the open source evdi project code
libusb-1.0.so.0.1.0- The standard, unmodified library to access our DisplayLink USB devices. The source code for this is also available.
Modifying the driver
The installation shell script can be used to see the steps required to adapt for another distribution. The script shows where files should be placed after extracting, and it creates appropriate configuration files for the supporting DisplayLink Manager application to be started automatically when graphics environment is started. The supporting application for driving DisplayLink devices should be used unmodified on any Intel x86/x64 platform.
Supporting other distros will involve making sure the open source evdi driver works with the kernel version included by the distribution and the graphics environment it uses. The EVDI driver can be tested with the evdipp open source project to create an extended screen as a window.