Displaylink Others Driver
DisplayLink devices on Linux still only have experimental support. While some people have had success in using them, it is generally not an easy process and not guaranteed to work. The steps on this page describe the generally most successful methods of using external monitors with DisplayLink.
DisplayLink software installs multiple signed drivers and host software. When reporting the DisplayLink version, the version of DisplayLink Core Software should be given. Please use the methods below to obtain the driver version, rather than the signed driver versions. DisplayLink Dock Driver This package contains the DisplayLink Dock driver for Dell SuperSpeed USB 3.0 Docking Station D3100/D3000/D1000, Universal Dock D6000, Universal Dongle DA100, and Dell MKS14 monitor stand. DisplayLink dock driver helps the external monitor to display when it is connected through a dock. Get the latest driver. DisplayLink Manager is an application for owners of products powered by DisplayLink technology. For people using DisplayLink-enabled docking stations, graphics adapters, port replicators and USB monitors, DisplayLink Manager offers a quick and easy way to access and adjust display and audio settings.
Also be warned that even over USB 3.0, a DisplayLink monitor may exhibit noticeably more lag than e.g. a DisplayPort monitor, especially when large portions of the screen are being redrawn.
Installation
USB 2.0 DL-1x5, DL-1x0 Devices
The kernel DRM driver for DisplayLink is udl
, a rewrite of the original udlfb driver. It allows configuring DisplayLink monitors using Xrandr.
This should work without any configuration changes on linux 4.14.9-1 and later. If you're using an earlier version of that package or have CONFIG_FB_UDL=m
set in your kernel config, you need to blacklist the old kernel module, udlfb
, which may attempt to load itself first.
USB 3.0 DL-6xxx, DL-5xxx, DL-41xx, DL-3xxx Devices
- Install the displaylinkAUR driver. It allows configuring DisplayLink monitors using Xrandr in the same manner as the
udl
driver. - Enable
displaylink.service
. - Use the 'modesetting' driver with AccelMethod 'none' and MatchDriver 'evdi'.
Create a file with the following content:
A reboot is required for the setting to be effective. You may need the evdi-gitAUR package.
Setting up X Displays
After that, run:
In the above output, we can see that provider 0 is the system's regular graphics provider (Intel), and provider 1 (modesetting) is the DisplayLink provider. To use the DisplayLink device, connect provider 1 to provider 0:
and xrandr will add a DVI output you can use as normal with xrandr. This is still experimental but supports hotplugging and when works, it is by far the simplest setup. If it works then everything below is unnecessary.
Configuration
These instructions assume that you already have an up and running X server and are simply adding a monitor to your existing setup.
Load the framebuffer device
Before your system will recognize your DisplayLink device, the udl
kernel module must be loaded. To do this, run
If your DisplayLink device is connected, it should show some visual indication of this. Although a green screen is the standard indicator of this, other variations have been spotted and are perfectly normal. Most importantly, the output of dmesg
should show something like the following, indicating a new DisplayLink device was found:
Furthermore, /dev
should contain a new fb
device, likely /dev/fb1
if you already had a framebuffer for your primary display.
To automatically load udl
at boot, create the file udl.conf
in /etc/modules-load.d/
with the following contents:
For more information on loading kernel modules, see Kernel modules#Automatic module loading with systemd.
Configuring X Server
Use xrandr
or your Desktop Environment's display setup UI to configure your USB monitors running either the udl
or displaylink
driver.
xrandr
Once the driver is loaded, the DisplayLink monitor is listed as an output provider:
In the above example, provider 1 is the DisplayLink device, and provider 0 is the default display. Running xrandr --current
gives a list of available screens:
If the above does not list the DisplayLink screen, then you will need to offload DisplayLink to the main GPU:
Once the screen is available, refer to Xrandr for info on setting it up. For automating the configuration process, see displaylink.sh.
Enabling DVI output on startup
The DisplayLink provider will not be automatically connected to the main provider in most cases, therefore the DVI output device will not be available. It can be helpful to automatically do this when X starts to facilitate automatic display configuration by the window manager.
Edit your desktop manager's startup configuration and add commands similar to:
For example, the appropriate startup configuration file for SDDM is /usr/share/sddm/scripts/Xsetup
.
Avoid placing these commands in ~/.xprofile
as this breaks the display configuration of some window managers. Instead these commands should be run prior to any display output or setup.
modesetting
Switching between displaylink and nvidia/nouveau driver
Currently (displaylink version 1.3.54-1) it is not possible to use displaylink device and nvidia/nouveau driver simultaniously on optimus based laptops.Currently to be able to use displaylink device on intel GPU, you should create config file (see troubleshooting section below). However, with that config file it is not possible to use primusrun. Bumblebee service is running, but it cannot work. Also, laptop's fans are becoming very noisy and laptop's temperature becomes very high. When you want to switch back to activate nvidia driver, comment everything in that file and reboot.
To simplify process of switching, you can installdl-switchAUR and add an additional menu entry to your bootloader using the kernel parametersystemd.unit=displaylink.target
, thus activating displaylink workaround.
To check which driver is used for your discrete video card, run lspci -nnk -s xx:xx.x
(replace xx:xx.x with your nvidia gpu pci id).
Troubleshooting
Not working configuration
These are tested on Xfce using Display settings (included in XFCE4 package) and external tool - arandr. XFCE4 Display settings are likely to crash, so ARandR might help.
When you connect display link device via USB to your computer, the computer should show monitors in Display settings. There are few troubleshooting steps that you should try:
- Check #Setting up X Displays. If you can find any external monitors recognized, you should try to make them visible by the following commands:
This will make them visible and recognized in Display settings.
- Restart
displaylink.service
. - Re-connect the USB cable.
- Check if
udl
driver is loaded and monitors are connected.
Screen redraw is broken
If you are using udl
as your kernel driver and the monitor appears to work, but is only updating where you move the mouse or when windows change in certain places, then you probably have the wrong modeline for your screen. Getting a proper modeline for your screen with a command like
where 1366
and 768
are the horizontal and vertical resolutions for your monitor, and 59.9
is the refresh rate from its specs. To use this, create a new mode with xrandr
like follows:
and add it to Xrandr:
Then tell the monitor to use that mode for the DisplayLink monitor, and this should fix the redraw issues. Check the Xrandr page for information on using a different mode.
If this does not solve the problem (or if the correct modeline was already in place because of correct DDC data), it can help to run a compositor.
DisplayLink refresh rate is extremely slow with gnome 3
If once you set up your DisplayLink your entire desktop becomes slow, try setting a 'simpler' background image, such as complete black.
Slow redraw/Unresponsiveness in Google Chrome and Webkit2-based Applications
This is to be associated with bugs in hardware acceleration, which can be tested by running glxgears in the displaylink screen resulting in 1fps. There is currently no complete fix available, but turning off Hardware-Acceleration in affected applications can work as a temporary fix.
This can be done in applications without a hardware-acceleration option by prepending the LIBGL_ALWAYS_SOFTWARE=1
environment variable.
Impossible to activate displaylink's screen
In case you are able to see attached monitor via DisplayLink device in your screen settings, but after you turn it on and apply settings, it becomes deactivated, then try blacklist nouveau module and reboot:
Suspend problem
Displaylink is not working after suspend. Unplug and then plug again displaylink's usb cable to your computer. Monitor that is connected via DisplayLink will remain black. If you have lock screen, login to the system and then picture will appear at that monitor and you will be able to use displaylink as normal.
DisplayLink is not working when usb hot plugged
To be able to use DisplayLink monitors, its usb cable should be attached to laptop during boot time. Otherwise it can behave like they are available and mouse can be moved there, but its picture is frozen, even with correct configuration (see workaround 1). If it was not attached at boot time, attach it and reboot.
DisplayLink driver does not work with Intel GPUs after recent X upgrades
As this support page says, upgrading the X Window Server to a version newer than 1.18.3 will make the system not compatible with DisplayLink by default. This applies to systems using an integrated Intel GPU, or a combination of integrated Intel GPU and a discrete GPU.Until fixes in X Windows System will be released, there are two workarounds:
Workaround 1: Use older intel driver as a fallback
Use the 'intel' driver for the integrated GPU instead of 'modesetting', which is now the default.
Create a file with the following content:
A reboot is required for the setting to be effective.
You may need the evdi-gitAUR package.
Workaround 2: Temporarily disable PageFlip for modesetting
For users that prefer to keep using 'modesetting' driver, disabling page flipping should also help.Create a file with the following content or extend the PageFlip
option to an existing configuration file (e.g. 20-evdidevice.conf
):
Displays disconnect at random intervals when using the Dell D6000 docking station
User's have reported that when using the Dell D6000 docking station, their display(s) may disconnect at random intervals during usage. This will require physically reconnecting the dock in order to reinitialise the displays.
This issue appears to be caused by PulseAudio's module-suspend-on-idle
module, which automatically suspends sinks/sources on idle.
To disable loading of the module-suspend-on-idle
module, comment out the following line in the configuration file in use (~/.config/pulse/default.pa
or /etc/pulse/default.pa
):
See Also
- DisplayLink Open Source: Official DisplayLink open source support forum
- Plugable: Vendor blog chronicling Linux support for DisplayLink.
DisplayLink devices on Linux still only have experimental support. While some people have had success in using them, it is generally not an easy process and not guaranteed to work. The steps on this page describe the generally most successful methods of using external monitors with DisplayLink.
Also be warned that even over USB 3.0, a DisplayLink monitor may exhibit noticeably more lag than e.g. a DisplayPort monitor, especially when large portions of the screen are being redrawn.
Installation
USB 2.0 DL-1x5, DL-1x0 Devices
The kernel DRM driver for DisplayLink is udl
, a rewrite of the original udlfb driver. It allows configuring DisplayLink monitors using Xrandr.
This should work without any configuration changes on linux 4.14.9-1 and later. If you're using an earlier version of that package or have CONFIG_FB_UDL=m
set in your kernel config, you need to blacklist the old kernel module, udlfb
, which may attempt to load itself first.
USB 3.0 DL-6xxx, DL-5xxx, DL-41xx, DL-3xxx Devices
- Install the displaylinkAUR driver. It allows configuring DisplayLink monitors using Xrandr in the same manner as the
udl
driver. - Enable
displaylink.service
. - Use the 'modesetting' driver with AccelMethod 'none' and MatchDriver 'evdi'.
Create a file with the following content:
A reboot is required for the setting to be effective. You may need the evdi-gitAUR package.
Setting up X Displays
After that, run:
In the above output, we can see that provider 0 is the system's regular graphics provider (Intel), and provider 1 (modesetting) is the DisplayLink provider. To use the DisplayLink device, connect provider 1 to provider 0:
and xrandr will add a DVI output you can use as normal with xrandr. This is still experimental but supports hotplugging and when works, it is by far the simplest setup. If it works then everything below is unnecessary.
Displaylink Others Driver Jobs
Configuration
These instructions assume that you already have an up and running X server and are simply adding a monitor to your existing setup.
Load the framebuffer device
Before your system will recognize your DisplayLink device, the udl
kernel module must be loaded. To do this, run
If your DisplayLink device is connected, it should show some visual indication of this. Although a green screen is the standard indicator of this, other variations have been spotted and are perfectly normal. Most importantly, the output of dmesg
should show something like the following, indicating a new DisplayLink device was found:
Furthermore, /dev
should contain a new fb
device, likely /dev/fb1
if you already had a framebuffer for your primary display.
To automatically load udl
at boot, create the file udl.conf
in /etc/modules-load.d/
with the following contents:
For more information on loading kernel modules, see Kernel modules#Automatic module loading with systemd.
Configuring X Server
Displaylink Others Driver Installer
Use xrandr
or your Desktop Environment's display setup UI to configure your USB monitors running either the udl
or displaylink
driver.
xrandr
Once the driver is loaded, the DisplayLink monitor is listed as an output provider:
In the above example, provider 1 is the DisplayLink device, and provider 0 is the default display. Running xrandr --current
gives a list of available screens:
If the above does not list the DisplayLink screen, then you will need to offload DisplayLink to the main GPU:
Once the screen is available, refer to Xrandr for info on setting it up. For automating the configuration process, see displaylink.sh.
Enabling DVI output on startup
The DisplayLink provider will not be automatically connected to the main provider in most cases, therefore the DVI output device will not be available. It can be helpful to automatically do this when X starts to facilitate automatic display configuration by the window manager.
Edit your desktop manager's startup configuration and add commands similar to:
For example, the appropriate startup configuration file for SDDM is /usr/share/sddm/scripts/Xsetup
.
Avoid placing these commands in ~/.xprofile
as this breaks the display configuration of some window managers. Instead these commands should be run prior to any display output or setup.
modesetting
Switching between displaylink and nvidia/nouveau driver
Currently (displaylink version 1.3.54-1) it is not possible to use displaylink device and nvidia/nouveau driver simultaniously on optimus based laptops.Currently to be able to use displaylink device on intel GPU, you should create config file (see troubleshooting section below). However, with that config file it is not possible to use primusrun. Bumblebee service is running, but it cannot work. Also, laptop's fans are becoming very noisy and laptop's temperature becomes very high. When you want to switch back to activate nvidia driver, comment everything in that file and reboot.
To simplify process of switching, you can installdl-switchAUR and add an additional menu entry to your bootloader using the kernel parametersystemd.unit=displaylink.target
, thus activating displaylink workaround.
To check which driver is used for your discrete video card, run lspci -nnk -s xx:xx.x
(replace xx:xx.x with your nvidia gpu pci id).
Troubleshooting
Displaylink Others Driver App
Not working configuration
These are tested on Xfce using Display settings (included in XFCE4 package) and external tool - arandr. XFCE4 Display settings are likely to crash, so ARandR might help.
When you connect display link device via USB to your computer, the computer should show monitors in Display settings. There are few troubleshooting steps that you should try:
- Check #Setting up X Displays. If you can find any external monitors recognized, you should try to make them visible by the following commands:
This will make them visible and recognized in Display settings.
- Restart
displaylink.service
. - Re-connect the USB cable.
- Check if
udl
driver is loaded and monitors are connected.
Screen redraw is broken
If you are using udl
as your kernel driver and the monitor appears to work, but is only updating where you move the mouse or when windows change in certain places, then you probably have the wrong modeline for your screen. Getting a proper modeline for your screen with a command like
where 1366
and 768
are the horizontal and vertical resolutions for your monitor, and 59.9
is the refresh rate from its specs. To use this, create a new mode with xrandr
like follows:
and add it to Xrandr:
Then tell the monitor to use that mode for the DisplayLink monitor, and this should fix the redraw issues. Check the Xrandr page for information on using a different mode.
If this does not solve the problem (or if the correct modeline was already in place because of correct DDC data), it can help to run a compositor.
DisplayLink refresh rate is extremely slow with gnome 3
If once you set up your DisplayLink your entire desktop becomes slow, try setting a 'simpler' background image, such as complete black.
Slow redraw/Unresponsiveness in Google Chrome and Webkit2-based Applications
This is to be associated with bugs in hardware acceleration, which can be tested by running glxgears in the displaylink screen resulting in 1fps. There is currently no complete fix available, but turning off Hardware-Acceleration in affected applications can work as a temporary fix.
This can be done in applications without a hardware-acceleration option by prepending the LIBGL_ALWAYS_SOFTWARE=1
environment variable.
Impossible to activate displaylink's screen
In case you are able to see attached monitor via DisplayLink device in your screen settings, but after you turn it on and apply settings, it becomes deactivated, then try blacklist nouveau module and reboot:
Suspend problem
Displaylink is not working after suspend. Unplug and then plug again displaylink's usb cable to your computer. Monitor that is connected via DisplayLink will remain black. If you have lock screen, login to the system and then picture will appear at that monitor and you will be able to use displaylink as normal.
DisplayLink is not working when usb hot plugged
To be able to use DisplayLink monitors, its usb cable should be attached to laptop during boot time. Otherwise it can behave like they are available and mouse can be moved there, but its picture is frozen, even with correct configuration (see workaround 1). If it was not attached at boot time, attach it and reboot.
DisplayLink driver does not work with Intel GPUs after recent X upgrades
As this support page says, upgrading the X Window Server to a version newer than 1.18.3 will make the system not compatible with DisplayLink by default. This applies to systems using an integrated Intel GPU, or a combination of integrated Intel GPU and a discrete GPU.Until fixes in X Windows System will be released, there are two workarounds:
Workaround 1: Use older intel driver as a fallback
Use the 'intel' driver for the integrated GPU instead of 'modesetting', which is now the default.
Create a file with the following content:
A reboot is required for the setting to be effective.
You may need the evdi-gitAUR package.
Workaround 2: Temporarily disable PageFlip for modesetting
For users that prefer to keep using 'modesetting' driver, disabling page flipping should also help.Create a file with the following content or extend the PageFlip
option to an existing configuration file (e.g. 20-evdidevice.conf
):
Displays disconnect at random intervals when using the Dell D6000 docking station
User's have reported that when using the Dell D6000 docking station, their display(s) may disconnect at random intervals during usage. This will require physically reconnecting the dock in order to reinitialise the displays.
This issue appears to be caused by PulseAudio's module-suspend-on-idle
module, which automatically suspends sinks/sources on idle.
To disable loading of the module-suspend-on-idle
module, comment out the following line in the configuration file in use (~/.config/pulse/default.pa
or /etc/pulse/default.pa
):
See Also
- DisplayLink Open Source: Official DisplayLink open source support forum
- Plugable: Vendor blog chronicling Linux support for DisplayLink.