A couple of months ago I got myself a Dell XPS 13. I have read it was one of the best ultrabooks of 2015, it had great reviews and even won some awards. Dell also ships the “Developer edition”, with Ubuntu, so I figured Linux would be well supported. Since I occasionally require physical network connection, and frequently need VGA or HDMI, I decided I would also get Dell’s 4 in 1 adapter, that provides all that, without loosing the USB port.
Unfortunately, after getting the adapter, I discovered that it uses DisplayLink technology for its VGA/HDMI ports, and as a matter of fact, it is DisplayLink who provides the driver, not Dell. Until just days ago, there was no driver for Linux, whatever version you would be running, but on Aug 3rd, DisplayLink published a driver for Ubuntu, with a note that said it could be used to create a driver for other Linux versions.
Since I use Fedora/CentOS/RHEL, and considering it’s been two months that I have got this device without being able to use the VGA/HDMI ports (network and USB do work out of the box), I decided I would dedicate the time to create the module and rpm for Fedora. One of the prerequisites of the module is a kernel version 3.14 or higher, so this won’t work on current versions of RHEL/CentOS.
The rpm I created uses DKMS to recompile the module automatically when the kernel is updated. I also included an udev rule so that the appropriate service is started when the adapter is plugged in, and stopped when it’s removed, something that is missing from the Ubuntu installer provided by DisplayLink. It was initially developed on Fedora 22, and now I’m using it on F23 with the latest kernel as of May 2016.
IMPORTANT:
Current working version of the rpm is 1.0.335, with the matching driver version from DisplayLink. RPM created on FC23, running kernel 4.4.9-300.fc23.x86_64 and xorg-x11-server-Xorg-1.18.3-2.fc23.x86_64. You do NOT need to downgrade Xorg with this version. You can get this version here: http://nothen.com.ar/resources/displaylink-1.0.335-1.x86_64.rpm
There’s also an updated rpm with driver version 1.1.62 released by DisplayLink on May 16, 2016, but it’s not activating the screen on my current setup. I haven’t figured out why yet, altough reading the comments below I believe it could be an issue with Xorg. Feel free to give it a try and let me know if it works on your setup. You can get this version here: http://nothen.com.ar/resources/displaylink-1.1.65-2.x86_64.rpm
To install the RPM:
- Import the GPG I used to sign the rpm:
[root@xps13 ~]# rpm --import http://bit.ly/1J3EjlG
- Download the rpm:
[root@xps13 ~]# wget -q http://nothen.com.ar/resources/displaylink-1.0.68-2.x86_64.rpm
- Before installing, verify that there’s nothing hidden on the rpm.Basic information:
[root@xps13 ~]# rpm -qip displaylink-1.0.68-2.x86_64.rpm Name : displaylink Version : 1.0.68 Release : 2 Architecture: x86_64 Install Date: (not installed) Group : User Interface/X Hardware Support Size : 7416983 License : GPL v2.0, LGPL v2.1 and others Signature : RSA/SHA256, Wed 19 Aug 2015 05:42:29 PM ART, Key ID 3b2d50d677f09132 Source RPM : displaylink-1.0.68-2.src.rpm Build Date : Wed 19 Aug 2015 05:42:04 PM ART Build Host : xps13.nothen.com.ar Relocations : (not relocatable) Packager : Eric Nothen URL : http://nothen.com.ar Summary : DisplayLink VGA/HDMI driver for Dell's 4-in-1 adapter (DA100) Description : This package installs the DisplayLink "Plug and Display" module for the USB 3.0 to HDMI/VGA/Ethernet/USB2.0 Dell Adapter (DA100). Based on DisplayLink's officially supported Ubuntu driver, and repackaged for Fedora/CentOS/RHEL distros. Module is added to DKMS so that it's recompiled on future kernel updates.
Files that the rpm deploys:
[root@xps13 ~]# rpm -qlp displaylink-1.0.68-2.x86_64.rpm /etc/systemd/system/displaylink.service /etc/udev/rules.d/99-displaylink.rules /usr/lib/displaylink /usr/lib/displaylink/DLInstrumentationDirectoryLock /usr/lib/displaylink/DisplayLinkManager /usr/lib/displaylink/LICENSE /usr/lib/displaylink/firefly-monitor-release.spkg /usr/lib/displaylink/libevdi.so /usr/lib/displaylink/libusb-1.0.so.0.1.0 /usr/src/evdi-1.0.68 /usr/src/evdi-1.0.68/Kconfig /usr/src/evdi-1.0.68/LICENSE /usr/src/evdi-1.0.68/Makefile /usr/src/evdi-1.0.68/dkms.conf /usr/src/evdi-1.0.68/evdi.mod.c /usr/src/evdi-1.0.68/evdi_connector.c /usr/src/evdi-1.0.68/evdi_debug.c /usr/src/evdi-1.0.68/evdi_debug.h /usr/src/evdi-1.0.68/evdi_drv.c /usr/src/evdi-1.0.68/evdi_drv.h /usr/src/evdi-1.0.68/evdi_encoder.c /usr/src/evdi-1.0.68/evdi_fb.c /usr/src/evdi-1.0.68/evdi_gem.c /usr/src/evdi-1.0.68/evdi_ioctl.h /usr/src/evdi-1.0.68/evdi_main.c /usr/src/evdi-1.0.68/evdi_modeset.c /usr/src/evdi-1.0.68/evdi_painter.c /usr/src/evdi-1.0.68/evdi_stats.c /var/log/displaylink
Scripts that the rpm runs:
[root@xps13 ~]# rpm -qp --scripts displaylink-1.0.68-2.x86_64.rpm postinstall scriptlet (using /bin/sh): /usr/bin/systemctl daemon-reload /usr/bin/systemctl -q is-enabled dkms.service || /usr/bin/systemctl enable dkms.service for kernel in $(ls /lib/modules) ;do /sbin/dkms install evdi/1.0.68 -k $kernel >> /var/log/displaylink/displaylink.log 2>&1 done preuninstall scriptlet (using /bin/sh): if [ $1 -eq 0 ] ;then /usr/bin/systemctl -q is-active displaylink.service && /usr/bin/systemctl stop displaylink.service /sbin/dkms remove evdi/1.0.68 --all >> /var/log/displaylink/displaylink.log fi postuninstall scriptlet (using /bin/sh): /usr/bin/systemctl daemon-reload
Triggers?:
[root@xps13 ~]# rpm -qp --triggers displaylink-1.0.68-2.x86_64.rpm [root@xps13 ~]#
- All good? ok, install the rpm:
[root@xps13 ~]# rpm -ivh displaylink-1.0.68-2.x86_64.rpm Preparing... ################################# [100%] Updating / installing... 1:displaylink-1.0.68-2 ################################# [100%] [root@xps13 ~]#
- Verify that the module has been compiled correctly:
[root@xps13 ~]# ll /lib/modules/$(uname -r)/extra/evdi.ko -rw-r--r--. 1 root root 63072 Aug 14 01:36 /lib/modules/4.1.4-200.fc22.x86_64/extra/evdi.ko
- That’s all! When you plug-in the adapter, the displaylink service should be started automatically:
For those that prefer to do a manual install rather than using the rpm, here goes a step-by-step. Remember to install dkms and kernel-devel before starting this process, if you haven’t done yet.
- Download the tarball with the module files:
[root@xps13 ~]# wget -q http://nothen.com.ar/resources/displaylink-1.0.68.txz
- Untar:
[root@xps13 ~]# tar -xJvf displaylink-1.0.68.txz -C / usr/src/evdi-1.0.68/ usr/src/evdi-1.0.68/evdi_drv.c usr/src/evdi-1.0.68/evdi_drv.h usr/src/evdi-1.0.68/evdi_connector.c usr/src/evdi-1.0.68/dkms.conf usr/src/evdi-1.0.68/evdi_painter.c usr/src/evdi-1.0.68/evdi_debug.c usr/src/evdi-1.0.68/evdi_modeset.c usr/src/evdi-1.0.68/evdi_ioctl.h usr/src/evdi-1.0.68/Kconfig usr/src/evdi-1.0.68/evdi_stats.c usr/src/evdi-1.0.68/Makefile usr/src/evdi-1.0.68/evdi.mod.c usr/src/evdi-1.0.68/evdi_debug.h usr/src/evdi-1.0.68/evdi_gem.c usr/src/evdi-1.0.68/evdi_encoder.c usr/src/evdi-1.0.68/evdi_main.c usr/src/evdi-1.0.68/LICENSE usr/src/evdi-1.0.68/evdi_fb.c usr/lib/displaylink/ usr/lib/displaylink/firefly-monitor-release.spkg usr/lib/displaylink/DLInstrumentationDirectoryLock usr/lib/displaylink/DisplayLinkManager usr/lib/displaylink/libusb-1.0.so.0.1.0 usr/lib/displaylink/libevdi.so usr/lib/displaylink/LICENSE var/log/displaylink/ var/log/displaylink/displaylink.log etc/systemd/system/displaylink.service etc/udev/rules.d/99-displaylink.rules [root@xps13 ~]#
- Compile the module for the running kernel (optionally, you could compile for all installed kernels):
[root@xps13 ~]# dkms install evdi/1.0.68 Creating symlink /var/lib/dkms/evdi/1.0.68/source -> /usr/src/evdi-1.0.68 DKMS: add completed. Kernel preparation unnecessary for this kernel. Skipping... Building module: cleaning build area...(bad exit status: 2) make KERNELRELEASE=4.1.4-200.fc22.x86_64 all INCLUDEDIR=/lib/modules/4.1.4-200.fc22.x86_64/build/include KVERSION=4.1.4-200.fc22.x86_64 DKMS_BUILD=1... cleaning build area...(bad exit status: 2) DKMS: build completed. evdi.ko: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/4.1.4-200.fc22.x86_64/extra/ Adding any weak-modules depmod... DKMS: install completed. [root@xps13 ~]#
Same as with the RPM, remember to validate that the displaylink service is started when you plug-in the adapter, and that the dkms service is enabled and running, so that future kernel updates will recompile the kernel.
174 thoughts on “Fedora support for DisplayLink adapters”
Is this only for the Dell 4-in-1 adapters, or do you think this will work a ThinkPad USB3.0 adapter?
As of release 2 of the rpm (the one currently available for download) the udev rule detects devices based on the vendor, rather than the model, so the driver should work (as it only depends on the kernel) and so should the DisplayLinkManager service, as the systemd service is started by the udev rule. However, there are two users on this forum below, which seem to have similar hardware. One reports it to be working, the other one is having issues. Could be hardware related. Give it a try and let me know!
http://www.displaylink.org/forum/showthread.php?t=64026
Thanks,
Eric
Hi there!
First of all, thank you for your efforts in making life of many of us easier! I greatly appreciate that!
Now to the thing – it’s not working for me :P. I have installed the rpm, restarted the system (just in case), plugged in the dock to my laptop and then plugged in display to the dock. In system displays settings I do not see the connected display :(.
Fedora 22
X1 Carbon (1st gen)
Lenovo Thinkpad USB 3.0 Dock station (model 0A33972)
Display is connected via VGA cable (using VGA to DVI adapter provided with the dock).
I will send you whatever details you need and will try to help as much as I can.
Cheers,
Dracco
Check the logfile: /var/log/displaylink/displaylink.log
Check if the service is running, before and after plugging the adapter: systemctl status displaylink.service
Check how udev detects the adapter. Run this command, then plug the adapter: udevadm monitor -e | egrep “ID_MODEL|ID_VENDOR=|DEVPATH”
Check if the module exists and can be loaded: modinfo evdi; modprobe evdi
That can probably give you a hint on what’s going on, whether the driver was not compiled or the device is not detected properly.
Eric
Thank you very much. You made me the day.
You’re welcome. Can I ask you (and anyone else giving a try to this rpm) please let me know the hardware and OS combination you are using (Adapter model, Laptop brand/model, OS version) so that I can have a list where this is working and not working? Might help others.
Thanks,
Eric
Dell Precision M3800 Mobile Workstation
NVIDIA Corporation GK107GLM [Quadro K1100M] + Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
Fedora 22
4.1.7-200.fc22.x86_64
displaylink-1.0.68-2.x86_64
HP 3005pr USB 3.0 Port Replicator (H1L08UT)
Dell XPS13 9343 (1st Gen)
Dell D3100 dock
kernel-4.2.8-300.fc23.x86_64
displaylink-1.0.335-1.x86_64.rpm
Working configuration consists connecting external monitors with HDMI and DP. Arranging displays only works properly when you set the primary to one of the external displays. (there was weird issues with connecting both via HDMI where the screens did not identify with numbers only the primary. provider issue?)
driver issues:
Setup: 2 external monitors (Acer K272HUL_ACR03DD-T0SAA0014200.edid) with Laptop monitor enabled
eDP1 connected 3200×1800+0+1440 (normal left inverted right x axis y axis) 294mm x 165mm
3200×1800 59.98*+
DVI-I-2 connected primary 2560×1440+0+0 (normal left inverted right x axis y axis) 597mm x 336mm
2560×1440 59.95*+
DVI-I-1 connected 2560×1440+2560+0 (normal left inverted right x axis y axis) 597mm x 336mm
2560×1440 59.95*+
Is the source RPM available somewhere? Would be happy to provide a few changes for x86 support for example.
It was not, but here you have it: http://www.nothen.com.ar/resources/displaylink-1.0.138-2.src.rpm. Let me know if you do enhancements on the spec, so I can put them on my branch.
Then the question would be, how did you generate the .txz file from the .run file in the zip file offered for download.
That’s documented on DisplayLink, http://support.displaylink.com/knowledgebase/articles/679060
Hi!
Thanks for making this.
Unfortunately i get the following error when trying to install:
warning: %post(displaylink-1.0.68-2.x86_64) scriptlet failed, exit status 1
Any ideas?
Running a fresh install of fedora 22 with a dell 23″ Displaylink montor
You have an old version (see the IMPORTANT notice on the post). The new one has changes in the rpm postinstall scripts. Make sure you remove the current version before trying the new one (clean upgrade was one of the things I fixed on the new version). So:
rpm -e displaylink
rm -fr /var/log/displaylink
dnf -y install http://nothen.com.ar/resources/displaylink-1.0.138-2.x86_64.rpm
If it still complains, send me ouptut of /var/log/displaylink/displaylink.log
My god, it is working – I never thought i’ d see the day!
Thank you very much for this!
Great, you’re welcome.
Seems there is still an issue when it comes to Fedora 25
Running transaction
Installing : displaylink-1.0.138-2.x86_64 1/1
warning: %post(displaylink-1.0.138-2.x86_64) scriptlet failed, exit status 1
Non-fatal POSTIN scriptlet failure in rpm package displaylink
Non-fatal POSTIN scriptlet failure in rpm package displaylink
Verifying : displaylink-1.0.138-2.x86_64 1/1
Installed:
displaylink.x86_64 1.0.138-2
Complete!
However, it doesn’t work
Didnt see the new versions, but the same issue happens with them as well in Fedora25
ransaction test succeeded.
Running transaction
Installing : displaylink-1.1.65-2.x86_64 1/1
warning: %post(displaylink-1.1.65-2.x86_64) scriptlet failed, exit status 1
Non-fatal POSTIN scriptlet failure in rpm package displaylink
Non-fatal POSTIN scriptlet failure in rpm package displaylink
Verifying : displaylink-1.1.65-2.x86_64 1/1
Installed:
displaylink.x86_64 1.1.65-2
Didn’t work 🙁
I have the same issue on Fedora 26…
Here is what is in the log
Creating symlink /var/lib/dkms/evdi/1.0.138/source ->
/usr/src/evdi-1.0.138
DKMS: add completed.
Error! echo
Your kernel headers for kernel 4.11.8-300.fc26.x86_64 cannot be found at
/lib/modules/4.11.8-300.fc26.x86_64/build or /lib/modules/4.11.8-300.fc26.x86_64/source.
Error! echo
Your kernel headers for kernel 4.13.5-200.fc26.x86_64 cannot be found at
/lib/modules/4.13.5-200.fc26.x86_64/build or /lib/modules/4.13.5-200.fc26.x86_64/source.
——————————
Deleting module version: 1.0.138
completely from the DKMS tree.
——————————
Any ideas on how to fix this issue?
That’s absolutely amazing! Thank you very-very much for you time! I’m using a Dell XPS 13 infinity display 2015 + Fedora 22
You’re welcome.
Hello Eric !
Frist off all, you are doing an amazing job, thank’s in advice !
I got the same problem Esben did, and manage to run you solution, but still having errors, heres my log output:
[root@Skylla ~]# cat /var/log/displaylink/displaylink.log
Creating symlink /var/lib/dkms/evdi/1.0.138/source ->
/usr/src/evdi-1.0.138
DKMS: add completed.
Error! echo
Your kernel headers for kernel 4.0.4-301.fc22.x86_64 cannot be found at
/lib/modules/4.0.4-301.fc22.x86_64/build or /lib/modules/4.0.4-301.fc22.x86_64/source.
Error! echo
Your kernel headers for kernel 4.1.7-200.fc22.x86_64 cannot be found at
/lib/modules/4.1.7-200.fc22.x86_64/build or /lib/modules/4.1.7-200.fc22.x86_64/source.
i’ve checked and kernel-headers are installed:
[root@Skylla ~]# dnf install kernel-headers
Last metadata expiration check performed 0:22:53 ago on Sat Sep 26 22:17:18 2015.
Package kernel-headers-4.1.7-200.fc22.x86_64 is already installed, skipping.
Dependencies resolved.
Nothing to do.
Also i manage to install kernel-devel, just in case.
Can you help me ?
My device is a Dell D3100 Universal Dock
Ty
Hi,
Unless you have a reason for keeping the old kernel, I’d suggest you update kernel, kernel-core and kernel devel to the latest, then reboot into the new kernel, and remove previous versions. It’s not mandatory, but will help you make sure they are all three at the same level. Should show like this:
# rpm -q kernel kernel-core kernel-devel
kernel-4.1.7-200.fc22.x86_64
kernel-core-4.1.7-200.fc22.x86_64
kernel-devel-4.1.7-200.fc22.x86_64
Once you’re sure you have them all at the same version, install (or reinstall) the rpm. Once you do, you can also check if the module is compiled by doing “modinfo evdi” or “ll /lib/modules/$(uname -r)/extra/evdi.ko”. Also check the status of the service doing “ll /lib/modules/$(uname -r)/extra/evdi.ko”.
Eric
Hy,
Manage to do what you ask Eric, and got the following output:
[root@Tiamat ~]# cat /var/log/displaylink/displaylink.log
Creating symlink /var/lib/dkms/evdi/1.0.138/source ->
/usr/src/evdi-1.0.138
DKMS: add completed.
Kernel preparation unnecessary for this kernel. Skipping…
Building module:
cleaning build area…(bad exit status: 2)
make KERNELRELEASE=4.1.7-200.fc22.x86_64 all INCLUDEDIR=/lib/modules/4.1.7-200.fc22.x86_64/build/include KVERSION=4.1.7-200.fc22.x86_64 DKMS_BUILD=1….
cleaning build area…(bad exit status: 2)
DKMS: build completed.
evdi.ko:
Running module version sanity check.
– Original module
– No original module exists within this kernel
– Installation
– Installing to /lib/modules/4.1.7-200.fc22.x86_64/extra/
Adding any weak-modules
depmod….
DKMS: install completed
It looks fine for me, but when i plug my dock, the unit service fail to start. Checking in journalctl, i got the following output:
Set 28 00:13:49 Tiamat systemd[1]: Starting DisplayLink Manager Service…
Set 28 00:13:49 Tiamat modprobe[10285]: modprobe: ERROR: could not insert ‘evdi’
Set 28 00:13:49 Tiamat systemd[1]: displaylink.service: control process exited,
Set 28 00:13:49 Tiamat systemd[1]: Failed to start DisplayLink Manager Service.
Set 28 00:13:49 Tiamat systemd[1]: Unit displaylink.service entered failed state
Set 28 00:13:49 Tiamat systemd[1]: displaylink.service failed.
I manage to check evdi module, and think i find the reason of service fail:
[root@Tiamat ~]# modinfo evdi
filename: /lib/modules/4.1.7-200.fc22.x86_64/extra/evdi.ko
license: GPL
description: Extensible Virtual Display Interface
author: DisplayLink (UK) Ltd.
depends: drm,drm_kms_helper
vermagic: 4.1.7-200.fc22.x86_64 SMP mod_unload
parm: initial_loglevel:Initial log level (int)
Module looks pretty fine to me, but when i try to manually activate it into the kernel:
[root@Tiamat ~]# modprobe evdi
modprobe: ERROR: could not insert ‘evdi’: Required key not available
Ty,
Diogo Henrique
Some aditional research bring me to whats is a possible answer:
I’am using Fedora 22 installed using UEFI, and all modules must be signed when running a kernel booted trough UEFI
Ah, it’s not directly related to UEFI (I’m also running FC22 with UEFI and it works), it’s related to secure boot. I did not run into that issue because I have secure boot off. Someone at the displaylink forum run into the same problem, and he/she signed the module:
http://www.displaylink.org/forum/showthread.php?t=64026
Otherwise, you could disable secure boot.
Eric
Signed the module, and start to work like a charm !
Thanks in advice for the help Eric, you did a great job.
Hello,
After updating those packets to the same version (kernel, kernel-core, kernel devel and kernel-headers) it has worked for me (no problems with modules though).
Done on: Fujitsu Lifebook UH572, Fedora 22 (kernel 4.1.8-200) – Toshiba Dynadock u3.0 (dosckstation)
Thanks a lot, great job !!
Excellent, thanks.
WORKS! Was excited when I received my ASUS MB168B+ portable second monitor. Plugged it in and nothing.
Eventually found your post, tried it. SUCCESS!
ASUS N55JK laptop
ASUS MB168B+ portable high definition monitor
Fedora Kernel 4.1.7-200.fc22
Works at 1920×1080
Very excited to have dual screens on my Fedora laptop.
Thank you very much
Awesome. You’re welcome.
Well I’ll be darned… It works 🙂
Fedora 22 on a Yoga 2 laptop.
But one thing puzzles me. The display manager says the resolution of the displaylink’ed screen is 2560×1440 (which it is supposed to be) but it’s clearly not, it’s something like 1280×1024 I guess.
I tried changing to 1920×1080, but that leaves black boxes over and under the screen… And many of the lower resolutions do not work at all..
How can that be?
Might this have something to do with it?
okt 09 16:51:20 CLOUDCITY gnome-session[1306]: (gnome-settings-daemon:1812): color-plugin-WARNING **: no xrandr-Dell Inc.-DELL U2715H-GH85D529169L device found: Failed to find output xrandr-Dell Inc.-DELL U2715H-GH85D529169L
okt 09 16:51:31 CLOUDCITY /usr/libexec/gdm-x-session[3733]: (II) intel(0): resizing framebuffer to 3200×1800
okt 09 16:51:31 CLOUDCITY kernel: [D] evdi_painter_crtc_state_notify (dev=1) Notifying crtc state: 0
okt 09 16:51:31 CLOUDCITY /usr/libexec/gdm-x-session[3733]: (II) intel(0): resizing framebuffer to 5760×1800
okt 09 16:51:31 CLOUDCITY kernel: [D] evdi_painter_mode_changed_notify (dev=1) Notifying mode changed: 2560×1440@60; bpp 32; pixel format 875713112
okt 09 16:51:31 CLOUDCITY kernel: [D] evdi_painter_crtc_state_notify (dev=1) Notifying crtc state: 1
okt 09 16:51:31 CLOUDCITY kernel: [D] evdi_painter_dpms_notify (dev=1) Notifying dpms mode: 0
okt 09 16:51:31 CLOUDCITY /usr/libexec/gdm-x-session[3733]: (II) modeset(G0): EDID vendor “DEL”, prod id 53351
okt 09 16:51:31 CLOUDCITY /usr/libexec/gdm-x-session[3733]: (II) modeset(G0): Using hsync ranges from config file
okt 09 16:51:31 CLOUDCITY /usr/libexec/gdm-x-session[3733]: (II) modeset(G0): Using vrefresh ranges from config file
okt 09 16:51:31 CLOUDCITY /usr/libexec/gdm-x-session[3733]: (II) modeset(G0): Printing DDC gathered Modelines:
okt 09 16:51:31 CLOUDCITY /usr/libexec/gdm-x-session[3733]: (II) modeset(G0): Modeline “2560×1440″x0.0 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync (88.8 kHz eP)
Man I’m sorry, I don’t know what could be causing that. I would advice you to ask at the displaylink forum: http://www.displaylink.org/forum/forumdisplay.php?f=29
Regards,
Eric
I got this working (with a bit of finagling) with:
– Lenovo Thinkpad X230 (Model 2320-JPU)
– ThinkPad USB 3.0 Dock (Model DU9019D1)
– Fedora 22, currently on kernel 4.2.3-200, GNOME 3.16.1
Have a single monitor (a Viewsonic 24″) connected via DVI to the dock. After I installed the DisplayLink RPM I had to reboot in order to get the DisplayLink screens to even appear in xrandr.
Then I had to unplug/re-plug the DVI cable afterwards, as the dock didn’t seem to detect my monitor. Now it seems fine, even after sleeping my ThinkPad, going away for the weekend w/o the dock, and coming back and re-plugging it – other than I had to go back into Display settings and re-enable the DisplayLink monitor again.
There are some minor graphical glitches – mostly around the mouse cursor – but for now I’m living with them…
Looks like I just found another issue, which is a show-stopper for me – VirtualBox 4.3.30 won’t start my Windows VMs anymore, complaining about something shortly after the guest switches video modes.
Yes, I do have to set the display myself everytime as well, and I do see those minor glitches around the mouse cursor. I hope a future version from DisplayLink would address both of these issues. I don’t know about the issue with VirtualBox, as I don’t use it.
Thank you mate!
I’m using a XPS13 with Fedora 22, namely 4.2.3-200.fc22.x86_64
displaylink-1.0.138-2.x86_64.rpm worked out of the box
This absolutely amazing! Thank you for your work and the rpm!
Hi Eric!
Thanks you so much for your work on the displaylink software.
I am a new Linux user running Fedora 22 on a lenovo y50-70 with a targus usb 3.0 dockingstation connected to dual monitors.
It works really well although it can lag a bit, but it doesn’t bother me that much.
Are there any way to save display settings so you don’t have to setup the monitors every time the adapter is plugged in or do you still have
the same “problem” as you mentioned in your apply to Viktor R?
Linus
Yes, I still have this issue. Don’t know of a way to fix it, and no one has told me if this works fine on Ubuntu, so I’ll assume the issue is on the driver, not the module or the OS version.
Exactly the same setup here working:
Lenovo y50-70 with fedora 23
Targus ACP77EUZ docking box
Dell U2412 @1920×1200
Dell U2713HM @2560×1440
(just out of curiosity I also connected another 24″ dell monitor via hdmi, and technically 4 screen setup is possible too)
Issues:
Right click menu on gtk apps is showing up on native screen if it’s invoked on 2nd screen, and doesn’t show at all if it’s invoked on 3rd screen.
Some apps have right-click menu working fine only if started before connecting usb.
Have to setup screen order each time I boot.
Fedora doesn’t boot when targus usb is plugged in.
Have to set primary screen every time
Sometimes laptop’s screen shuts off when usb is connected, but fiddling with resolution and primary/secondary screens wakes it up.
So far a big thank you for packaging this to fedora!
The RPM also works like a charm on Fedora 23 (HP 3005pr)
Hi,
First thank you for your effort putting this together and making it easier for all of us.
I’m currently trying to set up my workstation to fedora 23 (for now only on windows, so first try of multiboot on this particular computer), and tried your procedure with no succes.
Module is installed and modinfo return its info. When I plug in my dock station (Targus ACP076, USB3.0), no screen. USB devices and Network are working. I tried to see whats hapening in journalctl, and nothing about a systemd service starting…
Did anyone try on fedora 23 yet?
Yes, I have upgraded to Fedora 23, and the module still works fine. You may have an issue with the udev rule. Check if the displaylink service runs when you plug the device, or if otherwise you can mannually start it.
I’ve checked, nothing wrong with the udev rules, it tries to start the service, but something makes the service stop.
Here is what “systemctl status displaylink.service” returns : http://pastebin.com/b58kfyRv
Here is the install log, a message about a dracut enbaled kernel needed, dont know if its relevant : http://pastebin.com/ER2cESea
Secure Boot is disabled. SELinux disabled as well (I had pop up at first, then nothing…, so I tried disabling it)
I appreciate your help !
Seems you have a core dump, plus another error probably related to an old kernel directory on /lib/modules. Run this command and make sure you have all these packages and that the version matches (remove any older unless you have a reason for keeping):
# rpm -qa |grep ^kernel | sort
kernel-4.2.6-301.fc23.x86_64
kernel-core-4.2.6-301.fc23.x86_64
kernel-devel-4.2.6-301.fc23.x86_64
kernel-headers-4.2.6-301.fc23.x86_64
kernel-modules-4.2.6-301.fc23.x86_64
kernel-tools-4.2.6-301.fc23.x86_64
kernel-tools-libs-4.2.6-301.fc23.x86_64
Wow, you guys are all update to date with kernel. But I am still stuck with kernel 3.10 of Redhat 7.1. Would you do us a favor to build a rpm for kernel 3.10? I am sure that there are a lot of folks are still using older version of kernel as Redhat release is falling behind Fedora release. Thanks!
Yes, the driver (not the rpm) requires Kernel > 3.16. See release notes here: http://downloads.displaylink.com/releasenotes/DisplayLink_Ubuntu_1.0.138_release-note.txt
Hello Eric,
I just read your post and it’s very interesting.
I’ve just got a question : do you use kernel > 3.14 because you made the rpm file for Fedora 22? Or are there restrictions with older kernel versions?
Ideed, I’ve got a CentOs 7 distribution and I would like to know if can compile your module with its kernel version (3.10)?
Thanks,
Nicolas
I don’t think that’s possible, the driver requires kernel > 3.16. See release notes here http://downloads.displaylink.com/releasenotes/DisplayLink_Ubuntu_1.0.138_release-note.txt
As with most distro-kernels the 3.10.x in RHEL7 is not as old as it looks.
At least against the most recent RHEL7 kernels the module can be built.
You just have to help it recognize the feature-set of the kernel.
By version – as tried by evdi-sources – doesn’t work for obvious reasons.
Libusb might need an update to something > 1.0.15 and user-space
seems not to be comfortable with the most recent (1.2.58) daemon.
Awesome. Due to a post of the Fedora Project on G+ I found your post.
* I’ll have tested it (working) on the most recent Dell XPS 13 9350 (Sky Lake i7) running with
fedora 23 with rawhide kernel-4.4.0-0.rc1.git0.1.fc24.x86_64 . (Due to Sky Lake hardware issues
the kernel-4.4 is needed at least to have a stable fedora)
* I prefer to install rpm’s over dnf, such that I have done:
# make sure, the newest kernel is installed (reboot if upgrades are present)
dnf –enablerepo rawhide upgrade kernel-*
# install kernel-devel & headers
dnf install kernel-devel kernel-headers
# upgrade for rawhide kernel
dnf –enablerepo rawhide upgrade kernel-*
# install dkms
dnf install dkms
# install displaylink (update the location from the link given in the post above)
dnf install http://nothen.com.ar/resources/displaylink-1.0.138-2.x86_64.rpm
Kind regards & Thanks again for providing this
Eric, first of all, this is awesome, thanks!
I tried it but it’s not working fine with my configuration: Fedora 23 on Dell XPS 13 9343 with D3100 adapter and tried with kernel 4.4.0-0.rc6 and 4.2.8-300 and
The problems I’m finding are:
– A good solid 2 minutes of wait-time for udev at boot: also reported by xenith in the Displaylink forum.
– After reboot and unplug/plug the USB, screen works but very slow, two seconds of delay switching from one workspace to another one.
Any help on this would be welcomed 🙂
I forgot it… it would be great if you upload the rpm to your own copr repository https://copr.fedoraproject.org/
Interesting, didn’t know about that. I’ll take a look.
Thanks,
Eric
Won’t be able to, it contains proprietary code. COPR only accepts building packages that would be ultimately accepted in Fedora, thus, FLOSS only.
Have you tried the latest version (1.0.335-1) of this rpm? On the DisplayLink forum I’m being told that it fixes the 2min issue at boot time (I never had it myself):
http://www.displaylink.org/forum/showthread.php?p=79307#post79307
Eric
Yes, I tried with version 1.335-1 and also with 1.0.138-2 following the comment by Uwe Köcher. I found in the link you’ve posted it’s a bug in Fedora 23 and there is a workarround: dnf –showduplicates –allowerasing –releasever=22 downgrade xorg-x11-server-Xorg
Thanks for your help and work on this. It’s awesome!
That’s interesting, I have xorg-x11-server-Xorg-1.18.0-2.fc23.x86_64 installed, and it works fine. Didn’t have to do any downgrading. I guess it’s related to a specific setup.
Thanks,
Eric
Just in case any other noobs like me struggles with this command:
dnf –showduplicates –allowerasing –releasever=22 downgrade xorg-x11-server-Xorg
the long dashes above should be replaced with two minus signs each. — and not –
Your .rpm does not work on Fedora 23 with 4.2 Kernel.
I did all the steps manually, and in fact the modules install fine and load. Can you please send your spec file thus I can modify it and do a proper rpm ?
Thank you
“does not work” is quite a statement. Perhaps it doesn’t work on your environment, but it does on mine, with the latest kernel of F23. Others have reported it to be working as well, same as it did on F22. The source you’re looking for is in here: https://github.com/hadess/displaylink-rpm
I finally got it working with my setup.
Details : Acer Nitro 591G
Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
3D controller: NVIDIA Corporation GM107M [GeForce GTX 860M] (rev a2) (Optimus technology)
Fedora 23 – kernel 4.2.8-300.fc23.x86_64
Dock : Targus ACP076
DisplayLink Driver : displaylink-1.0.335-1.x86_64
Thanks a lot Eric !
Thanks for your effort in putting the rpm together. Seems to be working mainly, except for menus. Menus for gnome applications on the displaylink screen are positioned on the main primary monitor. For Firefox they don’t appear at all. The pop-over menus appear in the right place, but right click menus, and menu bar menus all appear in the wrong place. Perhaps my laptop HW is too bleeding Edge
If I use a mirror config, it’s ok, I’m guessing some sort screen coordinate thing, in x-org, or gnome, or ?
DELL Precision 5510, i7-6820HQ (skylake, Intel Graphics 530)
Fedora 23
kernel-4.4.0-1.fc24.x86_64
Dell DA100 display port adapter.
Hi Eric, I have a problem starting displaylink.service.
I’m using Fedora23
Kernel: 4.2.8-300.fc23.x86_64
DisplayLink driver version: 1.0.335
Hardware: Toshiba Kira 107,
Graphics: Intel HD5500
Targus ACP71EU
When I check displaylink status, i get the next output:
displaylink.service – DisplayLink Manager Service
Loaded: loaded (/etc/systemd/system/displaylink.service; static; vendor preset: disabled)
Active: activating (auto-restart) (Result: exit-code) since Mon 2016-01-18 19:03:05 CET; 3s ago
Process: 7434 ExecStartPre=/sbin/modprobe evdi (code=exited, status=1/FAILURE)
Jan 18 19:03:05 localhost.localdomain systemd[1]: Failed to start DisplayLink Manager Service.
Jan 18 19:03:05 localhost.localdomain systemd[1]: displaylink.service: Unit entered failed state.
Jan 18 19:03:05 localhost.localdomain systemd[1]: displaylink.service: Failed with result ‘exit-code’.
This is the output from journalctl
Jan 18 18:54:46 localhost.localdomain modprobe[6527]: modprobe: FATAL: Module evdi not found in directory /lib/modules/4.2.8-300.fc23.x86_64
Jan 18 18:54:46 localhost.localdomain systemd[1]: displaylink.service: Control process exited, code=exited status=1
Jan 18 18:54:46 localhost.localdomain systemd[1]: Failed to start DisplayLink Manager Service.
After I read this i found that there isn’t any folder named ‘evdi’ inside /lib/modules/4.2.8-300.fc23.x86_64/ directory. Not even extras directory.
Any Ideas what could be wrong?
Run “sudo /sbin/dkms install evdi/1.0.335”, then you’ll be able to start the service. I’m not sure why the module was not created by dkms. I’ll see if I can replicate and and fix on a future version.
Just have to say THANK YOU!! This was the one thing keeping me on Windows, thanks to you I’m finally free…
It works almost perfectly on my Dell Inspiron 7377, some small pixel glitches from time to time, but I can live with that.
Thank you for this. So I am running Fedora 22 and am using an AOC portable monitor. It detects and works right away but when I try changing it portrait mode my computer logs me out. Upon signing back it the display is still in landscape. Has anyone come across this issue? If so have you found a solution?
I haven’t ran into that. If you haven’t already, I recommend you take a look at the DisplayLink forum: http://www.displaylink.org/forum/forumdisplay.php?f=29.
Installed the latest on Fedora 23, but when I plug in the HDMI cable, it works, but the display is a horrible crawl. Extremely slow. Nothing in journald log about issues. Load time increases significantly.
That problem goes away if you downgrade your X-server to F22….
Although you will probably run into similar problems like I do.
Can you help me on this… I cannot install this because my kernel is under 3.14 and I cannot update it yet, I have the 3.10 so if you can help me, I really appreciated it.
Thanks anyway.
I use a Lenovo ThinkPad notebook with a ThinkVision LT1423p (DisplayLink). With this driver it works perfectly… although it takes long on reboots due to the dkms process. Thanks. I’ll post an image later…
Well the driver itself works well, but the mouse is flickering on one of the two monitors (ironically, the one which is not connected through this driver), i can’t figure it out though, what the problem could be.
Fedora 23
4.3.5-300.fc23.x86_64
Did someone managed to solve this kind of problem or do you have any suggestions?
Hi, thank you for the awesome package. I have similar problem with antonmry and Adriaan Nel where I need to downgrade Xorg in order for it to work. Besides, my monitor also can’t rotate as portrait (similar to Ian Powell). Otherwise, everything is working great!
It looks like the latest xorg-x11-drv-intel driver update (see website link) breaks the displaylink functionality.
That is, my two external monitors are still detected, but the display is garbage (except on the built-in monitor of my XPS 15 9550) and the mouse pointer behaves erratic.
I downgraded to xorg-x11-drv-intel-2.99.917-15.20150729.fc23 which solves things for now, but I find it disconcerting that a simple stable OS update can break functionality I need in my day job.
Hi. Thanks for your great work.
My setup:
Dell XPS 13 9350
kernel 4.4.3-300.fc23.x86_64
No luck, however. I built the module manually, with dkms and it installed OK. When I plug in the external monitor (i tried with two different monitors), it is correctly detected (brand, model, definition) but the image is all garbled and the mouse starts lagging or leaving a trail on the primary monitor.
Any idea why this would happen?
I would be happy to help by doing more tests, or whatever you need.
Best,
Pável
Hello,
I’ve installed rpm, displaylink service is running (kernel module is loaded) but I can’t see second display.
Any clue why?
My env:
[root@l440 ~]# rpm -qi displaylink
Name : displaylink
Version : 1.0.68
Release : 2
Architecture: x86_64
Install Date: Wed 09 Mar 2016 08:40:16 AM CET
Group : User Interface/X Hardware Support
Size : 7416983
License : GPL v2.0, LGPL v2.1 and others
Signature : RSA/SHA256, Wed 19 Aug 2015 10:42:29 PM CEST, Key ID 3b2d50d677f09132
Source RPM : displaylink-1.0.68-2.src.rpm
Build Date : Wed 19 Aug 2015 10:42:04 PM CEST
Build Host : xps13.nothen.com.ar
Relocations : (not relocatable)
Packager : Eric Nothen
URL : http://nothen.com.ar
Summary : DisplayLink VGA/HDMI driver for Dell’s 4-in-1 adapter (DA100)
Description :
This package installs the DisplayLink “Plug and Display” module for the USB 3.0 to HDMI/VGA/Ethernet/USB2.0 Dell Adapter (DA100). Based on DisplayLink’s officially supported Ubuntu driver, and repackaged for Fedora/CentOS/RHEL distros. Module is added to DKMS so that it’s recompiled on future kernel updates.
[root@l440 ~]# uname -a
Linux l440 4.4.3-300.fc23.x86_64 #1 SMP Fri Feb 26 18:45:40 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@l440 ~]# systemctl status displaylink.service
● displaylink.service – DisplayLink Manager Service
Loaded: loaded (/etc/systemd/system/displaylink.service; static; vendor preset: disabled)
Active: active (running) since Wed 2016-03-09 08:43:46 CET; 34s ago
Process: 1141 ExecStartPre=/sbin/modprobe evdi (code=exited, status=0/SUCCESS)
Main PID: 1145 (DisplayLinkMana)
CGroup: /system.slice/displaylink.service
└─1145 /usr/lib/displaylink/DisplayLinkManager
Mar 09 08:43:46 l440 systemd[1]: Starting DisplayLink Manager Service…
Mar 09 08:43:46 l440 systemd[1]: Started DisplayLink Manager Service.
[root@l440 ~]# modinfo evdi
filename: /lib/modules/4.4.3-300.fc23.x86_64/extra/evdi.ko
license: GPL
description: Extensible Virtual Display Interface
author: DisplayLink (UK) Ltd.
depends: drm,drm_kms_helper
vermagic: 4.4.3-300.fc23.x86_64 SMP mod_unload
parm: initial_loglevel:Initial log level (int)
[root@l440 ~]# xrandr –listproviders
Providers: number : 1
Provider 0: id: 0x4a cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 4 outputs: 7 associated providers: 0 name:Intel
Device details:
[root@l440 ~]# lsusb -d17e9:4301 -vvvv
Bus 003 Device 002: ID 17e9:4301 DisplayLink
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.10
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x17e9 DisplayLink
idProduct 0x4301
bcdDevice 5.81
iManufacturer 1 DisplayLink
iProduct 2 USB3.0 UHD HDMI Adapter
iSerial 3 000100160277268
….
Hello – I have read the comments below, although superficially, please excuse if something slipped my attention. As some users below, I am on a Dell XPS13 (9343) running on the previous kernel 4.3.5-300.fc23.x86_64 (downgraded and locked after sound issues with the 4.4.x Kernel). My objective is running a portable 14″ screen (Lenovo LT1421). After plugging in the screen, I get all green lights with systemctl status displaylink.service, however in the screen selection, there are (in addition to the laptop monitor) the Lenovo Group Limited 14″ and something called FNM with maximum resolution 640×480 (4:3). Expanding the screen to the Lenovo monitor does not give the expected result, only a zebra screen. Selecting FNM does not have any visible effect. Can anyone report similar experiences?
Worked like a charm on the first try.
Fedora 23
Dell Lattitude E7450
Thanks!
Has anybody else seen an issue where an initial cursor shows up in the middle of the primary screen (but does not react to mouse movements) then a few moments later you will get your “active” cursor, but the initial cursor will still stay in the middle of the screen?
Running Fedora 23 on kernel 4.2
As follow up to this. I tried killing and restarting the X server. Same results. However it’s almost like the “initial cursor” is just a snapshot of where the mouse was when I log into gnome, so if I drag the mouse off screen and then enter my password to login — the “snapshot” of the initial cursor is no longer there.
Still would like to get this resolved — but we at least have a workaround at this point. If I can provide any additional information, please let me know.
Hi Eric!
First of all: thank you, for your great work!
Unfortunately I am running into problems on F23.
I am using a Dell XPS 13 2016 (9350) and the Dell D3100 Port Replikator.
First of all, I have to use the xserver from F22 as described by a poster before me.
My problems are: On boot the udev-rule seems to not work. While starting systemd says waiting for udev rule (for 3 minutes). After the boot, I have to manually restart the displaylink.service (although it is running) and then the displaymanager in order to get my external monitor working (connected to the D3100 via HDMI). I have similar problems during shutdown – where it also sometimes says waiting for udev-rule and the PC then just hangs instead of shutting down.
I don’t know if the udev problems stem from the F22 Xserver or from the displaylink itself. But if anybody has an pointers, I would appreciate them greatly.
Best
Thomas
For what it’s worth, I work around the boot delay issue by unplugging the displaylink adapter during boot, and only plugging it in again after X has started up.
Hello,
Is this still the only way to get a DisplayLink docking station to work?
I would like to buy a XPS 13 and a D3100 docking station. Can somebody confirm, that this combination will work?
Just a quick message to say “thank you” for this. It works well on FC23 for an AOC USB 15″ monitor too.
So after installing Fedora 24 the joy of DisplayLink ended. I’m not sure if it’s possible to set it up on Wayland and kernel 4.5.x, but it seems Arch linux and OpenSuse have some patch applied for 4.5 kernel. Maybe it will be useful for someone tech savvy enough:
https://github.com/sinfomicien/displaylink-evdi-opensuse/commits/master
https://aur.archlinux.org/packages/displaylink/ – you can see patch applied in chan
Alright, so I tried with the newest driver from Eric: http://nothen.com.ar/resources/displaylink-1.1.61-1.x86_64.rpm
Did dnf uninstall displaylink and then followed the guide again.
The install went smoothly, the service starts after usb is plugged, but the monitor just doesn’t turn on :/
Any ideas where I could look? Or how to start debugging?
[root@username ~]# systemctl status displaylink.service
● displaylink.service – DisplayLink Manager Service
Loaded: loaded (/usr/lib/systemd/system/displaylink.service; static; vendor preset: disabled)
Active: active (running) since Thu 2016-05-19 09:53:20 CEST; 2min 25s ago
Process: 7644 ExecStartPre=/sbin/modprobe evdi (code=exited, status=0/SUCCESS)
Main PID: 7647 (DisplayLinkMana)
Tasks: 4 (limit: 512)
CGroup: /system.slice/displaylink.service
└─7647 /usr/libexec/displaylink/DisplayLinkManager
May 19 09:53:20 username systemd[1]: Starting DisplayLink Manager Service…
May 19 09:53:20 username systemd[1]: Started DisplayLink Manager Service.
Yes, I have updated the rpm with the new driver version that DisplayLink has released this week, and it does that for me as well. Everything seems to be ok with driver, service and udev rule, but does not activate the screen. Maybe it has something to do with the Xorg version I’m running (latest of FC23). At this point, you have two options: Figure out what’s wrong (and tell me), or downgrade this rpm to 1.0.335, which is working fine for me on FC23 with latest kernel and Xorg. I’ve put links to both above.
I was able to get external DL monitors working on Fedora 24 by using driver 335 and downgrading to the 4.4.9 Fedora 23 kernel (D3100 on an XPS 9350DE). I couldn’t get any of the DL drivers working on 4.5 and 4.7 kernels. It still isn’t perfect – Xorg crashes to login when I plug in the adapter, a frozen mouse pointer is stuck on the screen, and wallpapers often just go to grey. Performance seems to be about the same as under Ubuntu – flashing mouse pointer, low-ish refresh rate, hit and miss on all monitors being recognized when plugging the dock in. But it is functional until the driver situation gets figured out (or the TB15 dock gets linux support)
Hey, thanks for the tip, I first downgraded to kernel 4.4.4. Wasn’t the best idea – everything became laggy and sluggish. Decided to ditch that and install 4.4.9, installed rpm package 1.0.335, plugged in usb, and finally everything works! Well, the cursor flashes sometimes, but right click menus seem to open in a correct place
Here’s a small guide:
1) go to http://koji.fedoraproject.org/koji/buildinfo?buildID=760145 and download kernel 4.4.9 files: headers, modules modules-extra, kernel, kernel-core, kernel-devel
2) go to downloads directory
3) sudo dnf install each file (dnf will recognize the files are in downloads dir, use tab completion. If one install fails, it will say which package you are missing (I think I had to install kernel-headers first, then the rest, with kernel being the last).
4) restart and choose 4.4.9
Im unable to load the kernel module, evdi and am getting the following output from dmesg:
[ 94.402257] evdi: module verification failed: signature and/or required key missing – tainting kernel
[ 94.403425] [ ] evdi_init Initialising logging on level 5
I got it working, lenovo carbon x1 w/ targus usb 3 hub ACP70USZ. I noticed that the newer rpm (displaylink-1.0.335-1.x86_64.rpm) has the files in the previous version usr/lib/displaylink under usr/libexec/displaylink, but the displaylink.service still points to the DisplayLinkManager under usr/lib. I tried modifying the service script to point to the new executable location, which did not work for me. I then extracted the contents usr/lib/displaylink of the older tar archive from http://nothen.com.ar/resources/displaylink-1.0.68.txz to my systems /usr/lib/displaylink, and it is now working. Since no one else in this thread commented with a similar issue… maybe I did something wrong?
I don’t think you could have done something wrong, the rpm does it all. Try the new version that I just created, it has an updated version of EVDI, but the DisplayLink driver stays at the same. Maybe this one works for you: http://nothen.com.ar/resources/displaylink-1.1.61-1.x86_64.rpm
I had a great success today with Santiago’s build, using the latest kernel (4.6.7) and xorg server 1.18.4.
I was postponing updates since kernel 4.4.9 and using the older build (1.0.335), and everything was working fine, until I updated some, seemingly, unrelated packages (I suspect NetworkManager and nautilus), and while the service was ok, the monitor wouldn’t turn on anymore.
As a final resort I decided to try Santiago’s build. Immediately saw a little prospect when monitor showed up as ‘Unknown monitor’ in monitor list first. Rebooted. Monitor showed as a correct Dell model. Still no go – while the screen turned on, it was displaying jibberish.
Then decided to basically go all-in and see if an update to the whole system would make something happen. And it did! And hopefully it will now work with updates from now on. Have a great day everyone!
Hi Eric,
I have the following hardware.
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1:1.0
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1:1.1
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1:1.2
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb4/4-1
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1:1.0
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1:1.1
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1:1.2
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb4/4-1
ID_MODEL=2000
ID_MODEL_ENC=2000
ID_MODEL_ID=2000
ID_VENDOR=1d5c
ID_VENDOR_ENC=1d5c
ID_VENDOR_ID=1d5c
I am not sure if I am doing something wrong or the module is not for this hardware.
Will appreciate any feedback
Best regards,
Theo
Hi,
Check on /etc/udev/rules.d/99-displaylink.rules. The rule is made to start the service when a device with VENDOR_ID==”DisplayLink” is plugged. Yours shows as “1d5c”. Try plugging the device, then start the service mannually running “systemctl start displaylink.service”. If it works, then update the udev rule accordingly so that it works automatically next time.
Eric
Thanks for this doing this repackage, great work!
Just a short update. It also works great with the “Universal USB 3.0 Dual Video Docking Station” from Targus ( http://targus.com/uk/usb-3_0-dual-video-docking-station-acp70eu )
Hi Eric,
Thanks so much for your work! I am having some problems though..
displaylink.service – DisplayLink Manager Service
Loaded: loaded (/etc/systemd/system/displaylink.service; static; vendor prese
Active: activating (auto-restart) (Result: exit-code) since Wed 2016-05-25 23
Process: 4995 ExecStartPre=/sbin/modprobe evdi (code=exited, status=1/FAILURE)
May 25 23:27:43 localhost.localdomain systemd[1]: Failed to start DisplayLink Manager Service
May 25 23:27:43 localhost.localdomain systemd[1]: displaylink.service: Unit entered failed state.
May 25 23:27:43 localhost.localdomain systemd[1]: displaylink.service: Failed with result ‘exit-code’.
Seems it fails to load the evdi module. You can look on /var/log/displaylink/displaylink.log for details. Most likely dkms couldn’t create the module because kernel-devel is missing. Make sure you have kernel-devel and kernel-headers for your running kernel. Also a couple of commands you can try:
1. See if modules exist: find /lib/modules -name evdi.ko
2. If there’s no module for the kernel you’re running, create it with dkms: dkms install evdi/1.0.335 -k $(uname -r)
3. If dkms install fails, make sure you have the required packages: dnf install kernel-headers-$(uname -r) kernel-devel-$(uname -r)
Eric
The rpm does not appear to place libevdi.so into /usr/libexec/displaylink
http://www.displaylink.org/forum/showthread.php?t=64528
Workaround: downloaded the driver, extracted it and copied libevdi.so to /usr/libexec/displaylink
this works for 4.6 kernel on Fedora 23
$ uname -r
4.6.0-1.fc25.x86_64
$ sudo systemctl status displaylink.service
● displaylink.service – DisplayLink Manager Service
Loaded: loaded (/usr/lib/systemd/system/displaylink.service; static; vendor preset: disabled)
Active: active (running) since Sat 2016-05-28 18:27:51 CDT; 5min ago
Process: 6087 ExecStartPre=/sbin/modprobe evdi (code=exited, status=0/SUCCESS)
Main PID: 6090 (DisplayLinkMana)
CGroup: /system.slice/displaylink.service
└─6090 /usr/libexec/displaylink/DisplayLinkManager
May 28 18:27:50 xxxxxxxxxxxxxx systemd[1]: Starting DisplayLink Manager Service…
May 28 18:27:51 xxxxxxxxxxxxxx systemd[1]: Started DisplayLink Manager Service.
May 28 18:27:51 xxxxxxxxxxxxxx systemd[1]: Started DisplayLink Manager Service.
Thanks Eric. I didn’t have the headers.
When I installed them however and re-ran systemctl, I got this:
displaylink.service – DisplayLink Manager Service
Loaded: loaded (/usr/lib/systemd/system/displaylink.service; static; vendor preset: disabled)
Active: failed (Result: resources) since Mon 2016-05-30 22:20:58 EDT; 20min ago
May 30 22:20:56 localhost.localdomain systemd[1]: Failed to start DisplayLink Manager Service.
May 30 22:20:56 localhost.localdomain systemd[1]: displaylink.service: Unit entered failed state.
May 30 22:20:56 localhost.localdomain systemd[1]: displaylink.service: Failed with result ‘exit-code’.
May 30 22:20:58 localhost.localdomain systemd[1]: displaylink.service: Service hold-off time over, scheduling restart.
May 30 22:20:58 localhost.localdomain systemd[1]: displaylink.service: Failed to schedule restart job: Unit displaylink.ser
May 30 22:20:58 localhost.localdomain systemd[1]: displaylink.service: Unit entered failed state.
May 30 22:20:58 localhost.localdomain systemd[1]: displaylink.service: Failed with result ‘resources’.
What’s going on here? Why am I getting more lines now? If there is any information you need, please let me know. I’m not sure if I removed the previous versions, but I’m not sure how to completely wipe them. Maybe that is the reason?
That doesn’t say much other than it failed and systemd couldn’t reschedule the restart. See if release 5 created by user Santiago fixes your issue. Otherwise, check /var/log/displaylink to make sure the module for your kernel has been created.
Very similar problems here, Fedora F24 4.8.4-200
Initially didn’t have kernel-devel installed, but after install
– When installing santiago’s via dnf install […]:
Installing : displaylink-1.1.65-5.x86_64 1/1
warning: %post(displaylink-1.1.65-5.x86_64) scriptlet failed, exit status 1
Non-fatal POSTIN scriptlet failure in rpm package displaylink
Non-fatal POSTIN scriptlet failure in rpm package displaylink
Verifying : displaylink-1.1.65-5.x86_64 1/1
Installed:
displaylink.x86_64 1.1.65-5
Complete!
– However, then trying dkms install evdi/1.1.65 it still doesn’t work:
Kernel preparation unnecessary for this kernel. Skipping…
Building module:
cleaning build area…(bad exit status: 2)
make -j4 KERNELRELEASE=4.8.4-200.fc24.x86_64 all INCLUDEDIR=/lib/modules/4.8.4-200.fc24.x86_64/build/include KVERSION=4.8.4-200.fc24.x86_64 DKMS_BUILD=1….(bad exit status: 2)
Error! Bad return status for module build on kernel: 4.8.4-200.fc24.x86_64 (x86_64)
Consult /var/lib/dkms/evdi/1.1.65/build/make.log for more information.
– Consulting as requested gives some ugly errors like
/var/lib/dkms/evdi/1.1.65/build/evdi_gem.c: In function ‘evdi_gem_mmap’:
/var/lib/dkms/evdi/1.1.65/build/evdi_gem.c:211:30: error: passing argument
1 of ‘drm_gem_object_lookup’ from incompatible pointer type [-Werror=inco
mpatible-pointer-types]
obj = drm_gem_object_lookup(dev, file, handle);
(the rest: http://pastebin.com/iCF0LHsg)
evdi.ko is nowhere to be found.
I’ve tried every package suggested on this page with similar results.
Hi, I think your problem with the latest version is due to you not packaging libevdi.so.
You can take a look at the packaged files with rpm -qlf path/to/displaylink-$VERSION.rpm
1.1.62 is missing /usr/libexec/displaylink/libevdi.so
If would also be helpful if you would be willing to share the SRPM files.
Thank you anyway for the effort 😉
I misspelled the previous rpm command. It should read rpm -qlp, not -qlf
I’m answering myself: I have uploaded a working version of the latest DisplayLink RPM.
It is available at: https://github.com/ssaavedra/displaylink-rpm/releases/download/v1.1.65-5/displaylink-1.1.65-5.x86_64.rpm
It is pending a pull request to hadess/displaylink-rpm (although the release itself would not be merged).
The SRPM, x86 RPM and the sources are available at https://github.com/ssaavedra/displaylink-rpm/releases
The code is based on Bastien Nocera’s work, which is in fact based on yours 🙂
Awesome, thank you!
Santiago, Eric,
De Puta Madre ! You both rock !
Working now with the latest version of fc23 (non rawhide) :
– kernel 4.5.4-200
– Dell XPS 13 2014
Just tested also with Lenovo Thinkpad USB 3.0 Dock as well as the Dell D3100
Thanks Guys
Dock Dell 3000 is also working
Awesome work!, fully functional on Latitude E5250 so far
Thank you both Eric and Santiago! This is just awesome.
displaylink-1.1.65-5.x86_64.rpm works great on my fedora 24 with kernel 4.5.7-300.fc24.x86_64.
For those running Dell DisplayLink docks (D1000) on the XPS 13 2016 (9350), displaylink-1.1.65-5.x86_64.rpm works ok on kernel 4.6.3 in Fedora 24. However, the same usability issues persist – flickering mouse, displays randomly cutting out, and poor frame rates. Additionally, I wasn’t able to get the driver working on any of the rawhide kernels – the 4.7.0 and 4.8.0 kernels don’t activate the displays at all.
Last weekend, I picked up the Plugable Thunderbolt 3 dual DisplayPort adapter from Amazon (product ID: B01F81EIBC) and the difference is night and day. It works out of the box driving 2×1920 monitors with no additional drivers on 4.6.3, 4.7.0, and 4.8.0 in fc24. The frame rate is normal, the mouse doesn’t flicker, and I don’t have to keep plugging it out/in to get it to work. I’ve infrequently had a display cut to black for a couple of seconds, but it comes back on its own when it has happened.
It’s not even a close comparison – if you have the choice, get the Thunderbolt 3 adapter and skip the DisplayLink docks completely. Even if the driver issues get worked out, I don’t see it ever getting to an acceptable level of performance. For example, Dolphin emulator will give me 60 FPS on the laptop screen, and it will drop to 1 FPS if I move the game window to a DisplayLink connected monitor. Through the Thunderbolt 3 adapter, it runs at 60 FPS on the same external monitors.
Since 4 hours I’m trying to get my adapter running and now it ………… works!!!!
Thanks to Santiago and Eric and others
My System: Dell Inpiron 13 7000 Series with Skylake cpu and touchscreen and pen.
Fedora 24 Kernel 4.6.7-300.
Santiago, Just wondering if you are still actively developing this and if so if you are working on a release for Fedora 25 I’d like to offer my services as a guinea pig.
Dear Eric
Thanks A LOT for your hard work on that topic !
I am running 4.5.4-200.fc23.x86_64 on a XPS 13 (2014) with Dell 3100.
Just like you, displaylink-1.1.65-2.x86_64.rpm is compiling well but the screen do not light on when plugged.
I cant’t compile and end up with the following
(/var/lib/dkms/evdi/1.0.335/build/make.log)
/var/lib/dkms/evdi/1.0.335/build/evdi_modeset.c
/var/lib/dkms/evdi/1.0.335/build/evdi_modeset.c:124:16: attention :
initialization from incompatible pointer type [-Wincompatible-pointer-types]
.fb_create = evdi_fb_user_fb_create,
^
/var/lib/dkms/evdi/1.0.335/build/evdi_modeset.c:124:16: note : (near initialization for ‘evdi_mode_funcs.fb_create’)
/var/lib/dkms/evdi/1.0.335/build/evdi_modeset.c: Dans la fonction
‘evdi_modeset_init’:
/var/lib/dkms/evdi/1.0.335/build/evdi_modeset.c:148:3: erreur : too many arguments to function ‘drm_dev_set_unique’
drm_dev_set_unique(dev, “%s”, dev_name(dev->dev));
^
In file included from /var/lib/dkms/evdi/1.0.335/build/evdi_modeset.c:14:0:
include/drm/drmP.h:1071:5: note : declared here
int drm_dev_set_unique(struct drm_device *dev, const char *name);
^
scripts/Makefile.build:258: recipe for target ‘/var/lib/dkms/evdi/1.0.335/build/evdi_modeset.o’ failed
make[2]: *** [/var/lib/dkms/evdi/1.0.335/build/evdi_modeset.o] Error 1
Makefile:1395: recipe for target
‘_module_/var/lib/dkms/evdi/1.0.335/build’ failed
make[1]: *** [_module_/var/lib/dkms/evdi/1.0.335/build] Error 2
make[1]: Leaving directory ‘/usr/src/kernels/4.5.4-200.fc23.x86_64’
Makefile:18: recipe for target ‘all’ failed
make: *** [all] Error 2
It is to notice that i can get it to work with Kernel 4.4.8
Laurent
Can you check with release 5, that user Santiago has released?
it does !
Can you check if release 5 by user Santiago fixes your problem?
Eric,
Thanks for your hard work. I am having a problem installing the driver. I tried the two rpm’s and manually compiling. The system is a Lenovo Yoga 12 with Docking station. Safe Boot is disabled. Fedora 23. Kernel 4.5.5-201.fc23.x86_64. When manually compiling the kernel I get the following error in the make.log
include/drm/drm_crtc.h:2230:5: note: declared here
int drm_encoder_init(struct drm_device *dev,
^
/var/lib/dkms/evdi/1.0.68/build/evdi_modeset.c:124:16: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
.fb_create = evdi_fb_user_fb_create,
^
/var/lib/dkms/evdi/1.0.68/build/evdi_modeset.c:124:16: note: (near initialization for ‘evdi_mode_funcs.fb_create’)
/var/lib/dkms/evdi/1.0.68/build/evdi_modeset.c: In function ‘evdi_modeset_init’:
/var/lib/dkms/evdi/1.0.68/build/evdi_modeset.c:148:3: error: too many arguments to function ‘drm_dev_set_unique’
drm_dev_set_unique(dev, “%s”, dev_name(dev->dev));
^
In file included from /var/lib/dkms/evdi/1.0.68/build/evdi_modeset.c:14:0:
include/drm/drmP.h:1071:5: note: declared here
int drm_dev_set_unique(struct drm_device *dev, const char *name);
^
scripts/Makefile.build:258: recipe for target ‘/var/lib/dkms/evdi/1.0.68/build/evdi_encoder.o’ failed
make[2]: *** [/var/lib/dkms/evdi/1.0.68/build/evdi_encoder.o] Error 1
make[2]: *** Waiting for unfinished jobs….
scripts/Makefile.build:258: recipe for target ‘/var/lib/dkms/evdi/1.0.68/build/evdi_modeset.o’ failed
make[2]: *** [/var/lib/dkms/evdi/1.0.68/build/evdi_modeset.o] Error 1
if [ “-pg” = “-pg” ]; then if [ /var/lib/dkms/evdi/1.0.68/build/evdi_connector.o != “scripts/mod/empty.o” ]; then ./scripts/recordmcount “/var/lib/dkms/evdi/1.0.68/build/evdi_connector.o”; fi; fi;
if [ “-pg” = “-pg” ]; then if [ /var/lib/dkms/evdi/1.0.68/build/evdi_drv.o != “scripts/mod/empty.o” ]; then ./scripts/recordmcount “/var/lib/dkms/evdi/1.0.68/build/evdi_drv.o”; fi; fi;
Makefile:1395: recipe for target ‘_module_/var/lib/dkms/evdi/1.0.68/build’ failed
make[1]: *** [_module_/var/lib/dkms/evdi/1.0.68/build] Error 2
make[1]: Leaving directory ‘/usr/src/kernels/4.5.5-201.fc23.x86_64’
Makefile:18: recipe for target ‘all’ failed
make: *** [all] Error 2
Can you check if release 5 from user Santiago fixes your issue?
Hi all
I have a Dell D3100 dock, fedora 23 up to date (kernel 4.5.6-200.fc23.x86_64).
Santiago’s version installs correctly, but the system is insanely slow.
Disconnecting and reconnecting the external monitor makes it visible in gnome setup menu.
Menu’s are finally in their place, but all is extremely slow, with sometimes also high CPU usage.
So far now, the driver is still unusable for me. I still have to connect the external monitor through the thunderbold VGA adapter.
Any advices?
Hi and thanks a lot mate!
Took a bit of fiddling around, the 1.1.65 package doesn’t work for me either. The one you’ve recommended works just fine on F22 (kern. 4.4.11-200) with an M2800 laptop and 2 dell monitors (displayPort and hdmi).
Cheers!
Thank you for your work on this!
Do you have a version that would work with Fedora 21? I have a working udlfb driver but cannot get an X driver to work.
Thank you!
Thanks Eric and Santiago for the awesome work!
I’m running F23 with Xmonad/Mate, and Eric’s displaylink 1.0.138 from last September was working up through kernel 4.4.9. The recent updates to 4.5.5 and 4.5.6 broke it, but Santiago’s updated 1.1.65-5 version installed and works with no issues. The only thing I notice is that before the update last week, my system (ThinkPad T450s with Asus MB168B+) remembered my display settings and brought the built-in screen and the USB screen both online at boot. Now it seems like I have to manually setup my screens after logging in each time. I noticed a few other comments about this behavior, is it a difference between the different driver versions, or maybe something completely unrelated that may have happened at the same time?
Also wanted to comment on display glitches/artifacts…I have had a bad experience with DisplayLink devices and compositing over the last few years. Disabling compositing seems to clear up most issues, my USB monitor works just as well as my built-in screen, with the only noticeable difference being screensaver refresh rate is abysmal. I know compositing may be a deal-breaker for some, but for my use it’s not as important as a stable system.
Thanks for building this RPM. Excellent work.
What I am using:
Fedora 4.4.12-200.fc22.x86_64
Displaylink-1.0.68-2.x86_64
HP Compaq Desktop
Intel(R) Core(TM)2 Duo CPU E6550 @ 2.33GHz
4Gb Ram
Docking station is Targus ACP51AUZ (USB 2.0, 1xDVI)
The problem I am seeing is with the system if it is booted with the docking station plugged via USB.
It runs ragged. The response times grow to 30 and 40+ seconds and the system takes a long time to settle before it will do anything. Even then it runs so sluggishly it is just woeful.
I have tried to see what process is causing the slow down but nothing appears to be doing it.
Another thing I noticed was when the screen is connected to the ACP51AUZ and the desktop is booted the usable screen is about 1024 x 768 but the actual screen resolution is much better the result is a lot of black space the right and bottom of the screen.
Any suggestions on what to look for?
So why this setup? I have a limited amount of space. One screen, one keyboard, one mouse, a desktop and a laptop (used at different times). The ACP51AUZ came up as an opportunity for free so I thought before spending bigger dollars I would check this out first to see if I could share the equipment between the two computers and have only one cable to move to do it.
Is the spec file for the rpm available?
Yes, https://github.com/hadess/displaylink-rpm
Hi,
I can’t install the drivers. It seems to be related to evdi not being properly built, (see below). And I also tried the rpm installation without success, it gets stuck on the same thing. Running “make oldconfig && make prepare” in the kernel-src also didn’t do anything.
It was too much info for pasting here, so i left it all at: http://pastebin.com/NbhPVA5D
Thanks in advance!
Update:
I tried Santiago’s build and it got me alot further! But the monitor is still black.
Thanks in advance.
– Service status:
root@berrelolz-ch ~]# /bin/systemctl status displaylink.service
● displaylink.service – DisplayLink Manager Service
Loaded: loaded (/etc/systemd/system/displaylink.service; static; vendor preset: disabled)
Active: active (running) since Mon 2016-06-20 09:16:36 CEST; 15min ago
Process: 3225 ExecStartPre=/sbin/modprobe evdi (code=exited, status=0/SUCCESS)
Main PID: 3229 (DisplayLinkMana)
CGroup: /system.slice/displaylink.service
└─3229 /usr/lib/displaylink/DisplayLinkManager
Jun 20 09:16:36 berrelolz-ch systemd[1]: Starting DisplayLink Manager Service…
Jun 20 09:16:36 berrelolz-ch systemd[1]: Started DisplayLink Manager Service.
– dmesg output:
[ 25.242856] evdi: [D] evdi_painter_crtc_state_notify:359 (dev=0) Notifying crtc state: 3
[ 25.242859] evdi: [W] evdi_painter_send_crtc_state:253 Painter is not connected!
[ 25.242866] evdi: [D] evdi_painter_crtc_state_notify:359 (dev=0) Notifying crtc state: 3
[ 25.242867] evdi: [W] evdi_painter_send_crtc_state:253 Painter is not connected!
[ 31.927109] evdi: [W] evdi_painter_disconnect:462 (dev=0) An unknown connection to ffff8803f5125a00 t
ries to close us
[ 31.927113] evdi: [W] evdi_painter_disconnect:463 – ignoring
[ 31.936438] evdi: [E] evdi_painter_connect:405 Edid length too large
[ 110.126598] evdi: [W] evdi_painter_disconnect:462 (dev=0) An unknown connection to ffff8803f5125a00 t
ries to close us
[ 110.126602] evdi: [W] evdi_painter_disconnect:463 – ignoring
[ 110.126611] evdi: [W] evdi_painter_disconnect:462 (dev=0) An unknown connection to ffff8803f5125a00 t
ries to close us
[ 110.126613] evdi: [W] evdi_painter_disconnect:463 – ignoring
[ 117.929127] evdi: [W] evdi_painter_disconnect:462 (dev=0) An unknown connection to ffff8800da5c4000 t
ries to close us
[ 117.929131] evdi: [W] evdi_painter_disconnect:463 – ignoring
[ 121.988256] evdi: [E] evdi_painter_connect:405 Edid length too large
– displaylink.log
Kernel preparation unnecessary for this kernel. Skipping…
Building module:
cleaning build area…(bad exit status: 2)
make -j8 KERNELRELEASE=4.5.7-200.fc23.x86_64 all INCLUDEDIR=/lib/modules/4.5.7-200.fc23.x86_64/build/inc
lude KVERSION=4.5.7-200.fc23.x86_64 DKMS_BUILD=1…
cleaning build area…(bad exit status: 2)
DKMS: build completed.
evdi.ko:
Running module version sanity check.
– Original module
– No original module exists within this kernel
– Installation
– Installing to /lib/modules/4.5.7-200.fc23.x86_64/extra/
Adding any weak-modules
depmod…
DKMS: install completed.
Can you paste the output of “rpm -qa | grep kernel | sort”?
Thanks alot for the help. I upgraded to Kernel 4.6.4 today btw.
Here you go:
[root@berrelolz-ch ~]# rpm -qa | grep kernel | sort
abrt-addon-kerneloops-2.8.0-5.fc23.x86_64
kernel-4.5.6-200.fc23.x86_64
kernel-4.5.7-200.fc23.x86_64
kernel-4.6.4-201.fc23.x86_64
kernel-core-4.5.6-200.fc23.x86_64
kernel-core-4.5.7-200.fc23.x86_64
kernel-core-4.6.4-201.fc23.x86_64
kernel-devel-4.5.6-200.fc23.x86_64
kernel-devel-4.5.7-200.fc23.x86_64
kernel-devel-4.6.4-201.fc23.x86_64
kernel-headers-4.6.4-201.fc23.x86_64
kernel-modules-4.5.6-200.fc23.x86_64
kernel-modules-4.5.7-200.fc23.x86_64
kernel-modules-4.6.4-201.fc23.x86_64
kernel-modules-extra-4.5.6-200.fc23.x86_64
kernel-modules-extra-4.5.7-200.fc23.x86_64
kernel-modules-extra-4.6.4-201.fc23.x86_64
libreport-plugin-kerneloops-2.6.4-2.fc23.x86_64
Hi Eric
I tried displaylink 1.0.138 for Fedora and ended up with
Running transaction
Installing : displaylink-1.0.138-2.x86_64 1/1
warning: %post(displaylink-1.0.138-2.x86_64) scriptlet failed, exit status 10
Non-fatal POSTIN scriptlet failure in rpm package displaylink
Non-fatal POSTIN scriptlet failure in rpm package displaylink
Verifying : displaylink-1.0.138-2.x86_64
following the output from /var/log/displaylink/displaylink.log
Creating symlink /var/lib/dkms/evdi/1.0.138/source ->
/usr/src/evdi-1.0.138
DKMS: add completed.
Kernel preparation unnecessary for this kernel. Skipping…
Building module:
cleaning build area…(bad exit status: 2)
make -j4 KERNELRELEASE=4.6.3-300.fc24.x86_64 all INCLUDEDIR=/lib/modules/4.6.3-300.fc24.x86_64/build/include KVERSION=4.6.3-300.fc24.x86_64 DKMS_BUILD=1…(bad exit status: 2)
Error! Bad return status for module build on kernel: 4.6.3-300.fc24.x86_64 (x86_64)
Consult /var/lib/dkms/evdi/1.0.138/build/make.log for more information.
Any idea whats going wrong?
Reagrds
tobi
Hello Eric (& Santiago)
Just upgrade my xps to fedora 24 (4.6.3-300.fc24.x86_64)
dkms is compiling well. evdi.so is created, displaylink.service seems to run.
BUT when I do plug a screen through the D3100, screen does not light on. Any idea on what I should investigate ?
thx to you
Laurent
Hi –
I get the following errors, any ideas?
[root@varali ram]# rpm -ivh displaylink-1.0.68-2.x86_64.rpm
Preparing… ################################# [100%]
package displaylink-1.0.138-2.x86_64 (which is newer than displaylink-1.0.68-2.x86_64) is already installed
file /var/log/displaylink from install of displaylink-1.0.68-2.x86_64 conflicts with file from package displaylink-1.0.138-2.x86_64
file /usr/lib/displaylink/DisplayLinkManager from install of displaylink-1.0.68-2.x86_64 conflicts with file from package displaylink-1.0.138-2.x86_64
[root@varali ram]# uname -r
4.6.3-300.fc24.x86_64
I tried installing your RPM first which didnt work (the logs gave me a kernel headers mismatch error). So I did a dnf clean/update which installed a new kernel. Then I get this error.
Any help is much appreciated!
Ram.
Installed Santiago’s package on Fedora 23 to fix issues after upgrade to kernel 4.5.5, and everything worked great. However, I’ve noticed each time Fedora updates the kernel, I have to remove and reinstall the RPM (or running “dkms install evdi/1.1.65” would probably also fix it, will try next time it breaks).
Still, it seems like there should be some sort of automated system to rebuild the module each time the kernel is upgraded…what am I missing?
Looks like this was something that got corrupted in dkms between evdi/1.0.138 and evdi/1.1.65–probably just me. With a bit of fiddling I was able to remove the 1.0.138 pieces and reinstall 1.1.65 correctly. It was automatically rebuilding until kernel update 4.7.2-101fc23.x86_64 broke the compilation again.
From this bug report: [https://github.com/DisplayLink/evdi/issues/32] user Rainerklier suggests these manual edits:
in evdi_main.c change “drm_connector_unplug_all()” to “drm_connector_unregister_all()”
in evdi_fb.c, evdi_cursor.c and evdi_gem.c change all calls of “drm_gem_object_lookup(dev, file, cmd->handles[0])”
to “drm_gem_object_lookup(file, cmd->handles[0])”
On my system the syntax varied slightly in the latter three files, but the key is to remove the first argument from the function call (dev, or crtc->dev in one case).
Updated those four files, “sudo dkms install evdi/1.1.65”, and we’re back in business for now.
Well, the above changes got my USB 3 monitor working flawlessly on 4.7.2, but when I went back to my USB 2 DVI adapter, I get all kinds of refresh/redraw issues (as in the screen doesn’t update until I change focus between windows), but maybe that’s something with Xmonad.
Eric, I would firstly like to say thank you for your work.
I’m having trouble with this on Fedora 24, Lenovo X1 Carbon. Any help you can offer would be greatly appreciated!
The service is running and the module exists. Here is the logfile:
Creating symlink /var/lib/dkms/evdi/1.0.335/source ->
/usr/src/evdi-1.0.335
DKMS: add completed.
Error! echo
Your kernel headers for kernel 4.5.5-300.fc24.x86_64 cannot be found at
/lib/modules/4.5.5-300.fc24.x86_64/build or /lib/modules/4.5.5-300.fc24.x86_64/source.
Error! echo
Your kernel headers for kernel 4.6.3-300.fc24.x86_64 cannot be found at
/lib/modules/4.6.3-300.fc24.x86_64/build or /lib/modules/4.6.3-300.fc24.x86_64/source.
Kernel preparation unnecessary for this kernel. Skipping…
Building module:
cleaning build area…(bad exit status: 2)
make -j4 KERNELRELEASE=4.6.4-301.fc24.x86_64 all INCLUDEDIR=/lib/modules/4.6.4-301.fc24.x86_64/build/include KVERSION=4.6.4-301.fc24.x86_64 DKMS_BUILD=1…(bad exit status: 2)
Error! Bad return status for module build on kernel: 4.6.4-301.fc24.x86_64 (x86_64)
Consult /var/lib/dkms/evdi/1.0.335/build/make.log for more information.
I tried Santiago’s release. The log changed:
Creating symlink /var/lib/dkms/evdi/1.1.65/source ->
/usr/src/evdi-1.1.65
DKMS: add completed.
Error! echo
Your kernel headers for kernel 4.5.5-300.fc24.x86_64 cannot be found at
/lib/modules/4.5.5-300.fc24.x86_64/build or /lib/modules/4.5.5-300.fc24.x86_64/source.
Error! echo
Your kernel headers for kernel 4.6.3-300.fc24.x86_64 cannot be found at
/lib/modules/4.6.3-300.fc24.x86_64/build or /lib/modules/4.6.3-300.fc24.x86_64/source.
Kernel preparation unnecessary for this kernel. Skipping…
Building module:
cleaning build area…(bad exit status: 2)
make -j4 KERNELRELEASE=4.6.4-301.fc24.x86_64 all INCLUDEDIR=/lib/modules/4.6.4-301.fc24.x86_64/build/include KVERSION=4.6.4-301.fc24.x86_64 DKMS_BUILD=1…
cleaning build area…(bad exit status: 2)
DKMS: build completed.
evdi.ko:
Running module version sanity check.
– Original module
– This kernel never originally had a module by this name
– Installation
– Installing to /lib/modules/4.6.4-301.fc24.x86_64/extra/
Adding any weak-modules
depmod….
DKMS: install completed.
Sorry, forgot an important detail. Device that I’m trying to install for is ASUS MB169 portable USB monitor. Santiago’s release did not work.
NVM, the issue was that I was using Wayland. Thanks so much for your help!
Hi,
I have installed Santiago’s rpm on fedora 24, kernel 4.6.4-301. Every time I plug in my displaylink dock I get logged out of my system and get stuck at the login screen. /var/log/displaylink/displaylink.log has the following output:
cat /var/log/displaylink/displaylink.log
Creating symlink /var/lib/dkms/evdi/1.1.65/source ->
/usr/src/evdi-1.1.65
DKMS: add completed.
Kernel preparation unnecessary for this kernel. Skipping…
Building module:
cleaning build area…(bad exit status: 2)
make -j8 KERNELRELEASE=4.6.4-301.fc24.x86_64 all INCLUDEDIR=/lib/modules/4.6.4-301.fc24.x86_64/build/include KVERSION=4.6.4-301.fc24.x86_64 DKMS_BUILD=1…
cleaning build area…(bad exit status: 2)
DKMS: build completed.
evdi.ko:
Running module version sanity check.
– Original module
– No original module exists within this kernel
– Installation
– Installing to /lib/modules/4.6.4-301.fc24.x86_64/extra/
Adding any weak-modules
depmod…
DKMS: install completed.
If I run systemctl status displaylink.service, i get:
● displaylink.service – DisplayLink Manager Service
Loaded: loaded (/usr/lib/systemd/system/displaylink.service; static; vendor p
Active: inactive (dead)
My problem is that when I actually plug in my displaylink device, the system goes back to the login screen and then i can’t log back in. Any idea what could be causing this?
socall@potato ~]$ rpm -qa | grep kernel | sort
abrt-addon-kerneloops-2.8.1-1.fc24.x86_64
kernel-4.6.4-301.fc24.x86_64
kernel-core-4.5.5-300.fc24.x86_64
kernel-core-4.6.4-301.fc24.x86_64
kernel-devel-4.6.4-301.fc24.x86_64
kernel-headers-4.6.4-301.fc24.x86_64
kernel-modules-4.5.5-300.fc24.x86_64
kernel-modules-4.6.4-301.fc24.x86_64
kernel-modules-extra-4.5.5-300.fc24.x86_64
libreport-plugin-kerneloops-2.7.1-1.fc24.x86_64
In case it’s useful:
Thanks in advance for any help!
Sean
Your driver hasn’t been working very well on my system. It crashes X, and after logging back in, the DE is very sluggish.
How would I remove the driver from my system completely?
Turns out that it was never installed correctly using the rpm
I’ll try the manual installation method.
This is a great post. I am using CentOS 7 and the current release is still not the latest and greatest. I was able to find a display adapter that was compatible with Linux, that worked right out the box. The product is made by SABRENT, model number USB-DH88 . It only cost around $39.00
I had a great success today with Santiago’s build, using the latest kernel (4.6.7) and xorg server 1.18.4.
I was postponing updates since kernel 4.4.9 and using the older build (1.0.335), and everything was working fine, until I updated some, seemingly, unrelated packages (I suspect NetworkManager and nautilus), and while the service was ok, the monitor wouldn’t turn on anymore.
As a final resort I decided to try Santiago’s build. Immediately saw a little prospect when monitor showed up as ‘Unknown monitor’ in monitor list first. Rebooted. Monitor showed as a correct Dell model. Still no go – while the screen turned on, it was displaying jibberish.
Then decided to basically go all-in and see if an update to the whole system would make something happen. And it did! And hopefully it will now work with updates from now on. Have a great day everyone!
It looks like the module fails to build on kernel 4.7.2-201.fc24 from Fedora updates.
I’ve pasted the relevant part of make.log to http://pastebin.ca/3712617
Hi,
It seems I got the same error trying to run a D3100 dock using my XPS15 and FC24 with Linux Kernel 4.7. Is there anything we can do to get this running?
It appears that there’s a 1.2.55 version of the displaylink driver out.
also failed with kernel 4.7.3-200 🙁
I just got an updated version to work (1.2) on the 4.7 kernel, give it a try
https://www.dropbox.com/s/7qifxdibgpbjt3f/displaylink-1.2.55-1.x86_64.rpm
Managed to get the latest version working with 4.7.3-200.fc24.x86_64, in a rather adhoc manner. I’ll try package it later on, or someone may beat me to it.
Here’s the rough steps:
1) Install displaylink-1.0.68-2.x86_64
3) Git clone https://github.com/DisplayLink/evdi.git, to at least 03e9760062a
4) Copy the github kernel module code over the RPM kernel code: cp evdi/module/* /usr/src/evdi-1.0.68/
5) Apply the source code changes by hand that rainerklier mentions in https://github.com/DisplayLink/evdi/issues/32
5) Use dkms to build the module: dkms install evdi/1.0.68, it should compile now
6) Download “DisplayLink USB Graphics Software for Ubuntu 1.1.68.zip” from http://www.displaylink.com/downloads/ubuntu
7) Unpack the ZIP, and unpack the install contents: sh ./displaylink-driver-1.1.62.run –target /tmp/evdi
8) Copy the latest binary files over the RPM files: cp /tmp/evdi/x64/* /usr/lib/displaylink/
9) Start DisplayLinkManager by hand (doesn’t work when running from systemd, haven’t figured out why yet)
I’ve now got my Dell 3100 dock working again.
… and an SELinux policy that appears to be needed for 4.7.5-200.fc24.x86_64:
module displaylink 1.4;
require {
type init_t;
type usb_device_t;
type dri_device_t;
type var_log_t;
class chr_file { read write };
class chr_file ioctl;
class chr_file open;
class file create;
class file rename;
}
#============= init_t ==============
allow init_t dri_device_t:chr_file { read write ioctl open };
allow init_t usb_device_t:chr_file { read write ioctl open };
allow init_t var_log_t:file { create rename };
Was anybody able to use the http://nothen.com.ar/resources/displaylink-1.1.65-2.x86_64.rpm or http://nothen.com.ar/resources/displaylink-1.1.65-2.x86_64.rpm with F24?
Whatever the version I installed I keep having the following error message:
—
Installing : displaylink-1.0.335-1.x86_64 1/1
warning: %post(displaylink-1.0.335-1.x86_64) scriptlet failed, exit status 10
Non-fatal POSTIN scriptlet failure in rpm package displaylink
Non-fatal POSTIN scriptlet failure in rpm package displaylink
Verifying : displaylink-1.0.335-1.x86_64 1/1
Installed:
displaylink.x86_64 1.0.335-1
—
cat /var/log/displaylink/displaylink.log
make -j4 KERNELRELEASE=4.7.7-200.fc24.x86_64 all INCLUDEDIR=/lib/modules/4.7.7-200.fc24.x86_64/build/include KVERSION=4.7.7-200.fc24.x86_64 DKMS_BUILD=1…(bad exit status: 2)
Error! Bad return status for module build on kernel: 4.7.7-200.fc24.x86_64 (x86_64)
—
cat /var/lib/dkms/evdi/1.0.335/build/make.log
ake[1]: Entering directory ‘/usr/src/kernels/4.7.7-200.fc24.x86_64’
test -e include/generated/autoconf.h -a -e include/config/auto.conf || ( \
echo >&2; \
echo >&2 ” ERROR: Kernel configuration is invalid.”; \
echo >&2 ” include/generated/autoconf.h or include/config/auto.conf are missing.”;\
echo >&2 ” Run ‘make oldconfig && make prepare’ on kernel src to fix it.”; \
echo >&2 ; \
Is this a Fedora 24 issue?
I’m having the same problem! Any solutions?
Thanks for an awesome post and good initial work on an RPM package! I’m a bit late to this party, however I’m currently trying to get a USB3 displaylink dock to work with my 2016 model XPS 13. I tagged you on my blog here: http://chronicgeekage.blogspot.com/2016/11/fedora-25-another-shot-at-linux.html
I got a usb type C to DP adapter, and the video works. I fiddled around with all the Fedora driver for displaylink stuff for a long time, and never got it going. Fedora 25
Just wanted to say I was having several problems that others complained about. I’m using Fedora 24 running on a XPS 13 9343, with a DA100 adapter. At first it failed by not finding evdi with “result: exit-code” on systemctl status (modprobe: FATAL: Module evdi not found) which I believe was fixed by installed kernel-devel (for the latest kernel release). Then it failed on activating (Active: failed (Result: resources)), I’m not sure.
Anyway, what fixed it for me was installing the latest (1.2.64 at the time of writing) release for the driver from Santiago’s repository here:
https://github.com/displaylink-rpm/displaylink-rpm/releases
I just tried it and so far HDMI works, not sure about the rest, but good so far!
Hi Eric,
I was trying to follow your support web to install displayLink vga->usb in Centos 7, but when i send the rpm commands:
rpm -ivh displaylink-1.0.68-2.x86_64.rpm
error: Failed dependencies:
kernel-devel > 3.14 is needed by displaylink-1.0.68-2.x86_64
After some reseach, i have found that Centos 7 only have up to 3.10 as kernel-devel
Do you have any idea to solve it ?
Thank you,
Biterix
Can you help me on this… I cannot install this because my kernel is under 3.14 and I cannot update it yet, I have the 3.10 so if you can help me, I really appreciated it.
Thanks anyway.
First of all: Thanks for this great work!
After a bit of fiddling I got the displaylink service running just fine:
$ service displaylink status
Redirecting to /bin/systemctl status displaylink.service
● displaylink.service – DisplayLink Manager Service
Loaded: loaded (/usr/lib/systemd/system/displaylink.service; static; vendor preset: disabled)
Active: active (running) since ti. 2017-01-31 10:16:01 CET; 28s ago
Process: 1076 ExecStartPre=/sbin/modprobe evdi (code=exited, status=0/SUCCESS)
Main PID: 1083 (DisplayLinkMana)
Tasks: 25 (limit: 4915)
CGroup: /system.slice/displaylink.service
└─1083 /usr/libexec/displaylink/DisplayLinkManager
jan. 31 10:16:01 localhost.localdomain systemd[1]: Starting DisplayLink Manager Service…
jan. 31 10:16:01 localhost.localdomain systemd[1]: Started DisplayLink Manager Service.
The connected display is found but I can’t choose any resolution, hence no output to the display. journalctl says:
jan. 31 10:16:57 localhost.localdomain kernel: evdi: [D] evdi_detect:75 (dev=1) Painter is connected
jan. 31 10:16:57 localhost.localdomain kernel: evdi: [D] evdi_painter_get_edid_copy:192 (dev=1) 00 ff ff
jan. 31 10:16:57 localhost.localdomain kernel: evdi: [W] evdi_mode_valid:61 Mode 1920×1200@60 rejected
jan. 31 10:16:57 localhost.localdomain kernel: evdi: [W] evdi_mode_valid:61 Mode 1280×960@60 rejected
jan. 31 10:16:57 localhost.localdomain kernel: evdi: [W] evdi_mode_valid:61 Mode 1280×1024@60 rejected
jan. 31 10:16:57 localhost.localdomain kernel: evdi: [W] evdi_mode_valid:61 Mode 1600×1200@60 rejected
jan. 31 10:16:57 localhost.localdomain kernel: evdi: [W] evdi_mode_valid:61 Mode 1680×1050@60 rejected
jan. 31 10:16:57 localhost.localdomain kernel: evdi: [W] evdi_mode_valid:61 Mode 1920×1080@60 rejected
jan. 31 10:16:57 localhost.localdomain kernel: evdi: [W] evdi_mode_valid:61 Mode 800×600@60 rejected
jan. 31 10:16:57 localhost.localdomain kernel: evdi: [W] evdi_mode_valid:61 Mode 640×480@60 rejected
jan. 31 10:16:57 localhost.localdomain kernel: evdi: [W] evdi_mode_valid:61 Mode 720×400@70 rejected
jan. 31 10:16:57 localhost.localdomain kernel: evdi: [W] evdi_mode_valid:61 Mode 1024×768@60 rejected
jan. 31 10:16:57 localhost.localdomain kernel: evdi: [W] evdi_mode_valid:61 Mode 800×600@56 rejected
jan. 31 10:16:57 localhost.localdomain kernel: evdi: [W] evdi_mode_valid:61 Mode 848×480@60 rejected
Running on Fedora 25 with kernel 4.9.6-200.fc25.x86_64 and this driver version:
https://github.com/displaylink-rpm/displaylink-rpm/releases/download/v1.2.65/fedora-25-displaylink-1.3.43-1.x86_64.rpm
Any ideas what’s wrong and how to fix it?
All relases: https://github.com/displaylink-rpm/displaylink-rpm/releases.
I got a usb type C to DP adapter, and the video works. I fiddled around with all the Fedora driver for displaylink stuff for a long time, and never got it going. Fedora 25
did not worked for me. I don’t know if there is something that I have to install before. dmks fails to compile. I have Fedora 25, d3100 device and dell latitude 5580.
Hello Eric, thanks for making this. I was hoping to install this, but sadly it fails. I also have a Dell XPS 13 (9360) with a QHD screen and currently on Fedora 25. I get the following output. Any idea what the problem is?
“rpm -ivh displaylink-1.0.335-1.x86_64.rpm
Preparing… ################################# [100%]
Updating / installing…
1:displaylink-1.0.335-1 ################################# [100%]
fout: unpacking of archive failed on file /usr/libexec/displaylink/DisplayLinkManager;59425672: cpio: read
fout: displaylink-1.0.335-1.x86_64: install failed”
Current Linux kernel is 4.10.17-200.fc25.x86_64.
Thanks Eric for the effort but I have problem making the module work on my machine (x1 carbon 1 gen.)
My kernel:
4.11.6-201.fc25.x86_64
When I follow the first instruction I get this log file:
Creating symlink /var/lib/dkms/evdi/1.0.68/source ->
/usr/src/evdi-1.0.68
DKMS: add completed.
Error! echo
Your kernel headers for kernel 4.11.5-200.fc25.x86_64 cannot be found at
/lib/modules/4.11.5-200.fc25.x86_64/build or /lib/modules/4.11.5-200.fc25.x86_64/source.
Error! echo
Your kernel headers for kernel 4.8.6-300.fc25.x86_64 cannot be found at
/lib/modules/4.8.6-300.fc25.x86_64/build or /lib/modules/4.8.6-300.fc25.x86_64/source.
——————————
Deleting module version: 1.0.68
completely from the DKMS tree.
——————————
Done.
When I follow the second instruction everything work until ….
[user@localhost ~]$ sudo dkms install evdi/1.0.68
Kernel preparation unnecessary for this kernel. Skipping…
Building module:
cleaning build area…(bad exit status: 2)
make -j4 KERNELRELEASE=4.11.6-201.fc25.x86_64 all INCLUDEDIR=/lib/modules/4.11.6-201.fc25.x86_64/build/include KVERSION=4.11.6-201.fc25.x86_64 DKMS_BUILD=1…(bad exit status: 2)
Error! Bad return status for module build on kernel: 4.11.6-201.fc25.x86_64 (x86_64)
Consult /var/lib/dkms/evdi/1.0.68/build/make.log for more information.
make.log looks like:
[user@localhost ~]$ sudo cat /var/lib/dkms/evdi/1.0.68/build/make.log
DKMS make.log for evdi-1.0.68 for kernel 4.11.6-201.fc25.x86_64 (x86_64)
Do 29. Jun 17:56:05 CEST 2017
make KBUILD_VERBOSE=1 SUBDIRS=/var/lib/dkms/evdi/1.0.68/build SRCROOT=/var/lib/dkms/evdi/1.0.68/build CONFIG_MODULE_SIG= -C /lib/modules/4.11.6-201.fc25.x86_64/build modules
make[1]: Verzeichnis „/usr/src/kernels/4.11.6-201.fc25.x86_64“ wird betreten
test -e include/generated/autoconf.h -a -e include/config/auto.conf || ( \
echo >&2; \
echo >&2 ” ERROR: Kernel configuration is invalid.”; \
echo >&2 ” include/generated/autoconf.h or include/config/auto.conf are missing.”;\
echo >&2 ” Run ‘make oldconfig && make prepare’ on kernel src to fix it.”; \
echo >&2 ; \
/bin/false)
…
Thanks in advance
DisplayLink device plugged in, but udev does not allow for piped commands on RUN, so I would have to go with an external script, which is not what I like the most, but I understand it helps on a broader set of configurations.
i could install this on Opensuse 42.2 (cannot remember the kernel) and it worked OK but after update to 42.3 and kernel 4.4.92.31 it is a no go.
I have put /var/lib/dkms/evdi/1.0.68/build/make.log here:
https://mega.nz/#!5RsXFLoK!sSXvnVR_1mochfJklU7Is37zXgG5ARLvjVp7gq6ugCM
Both include/generated/autoconf.h and include/config/auto.conf are present so understand what the problem is.
Thanks.
Hello neighbor! (from Brazil)
Could you point me a good HDMI to USB 3.0 adapter at Amazon that support this driver from displaylink ?
Tks in advance!