Fedora support for DisplayLink adapters 165


Dell 4 in 1 AdapterA 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:

  1. Import the GPG I used to sign the rpm:
    [root@xps13 ~]# rpm --import http://bit.ly/1J3EjlG
  2. Download the rpm:
    [root@xps13 ~]# wget -q http://nothen.com.ar/resources/displaylink-1.0.68-2.x86_64.rpm
  3. 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 ~]#
  4. 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 ~]#
  5. 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
  6. That’s all! When you plug-in the adapter, the displaylink service should be started automatically:

screen

 

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.

  1. Download the tarball with the module files:
    [root@xps13 ~]# wget -q http://nothen.com.ar/resources/displaylink-1.0.68.txz
  2. 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 ~]#
  3. 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.


Leave a comment

Your email address will not be published. Required fields are marked *

165 thoughts on “Fedora support for DisplayLink adapters

    • Eric Nothen
      Eric Nothen Post author

      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

      • Dracco

        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

        • Eric Nothen
          Eric Nothen Post author

          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

    • Eric Nothen
      Eric Nothen Post author

      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

      • Iliya

        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)

      • rob@telnyx

        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*+

  • Esben

    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

    • Eric Nothen
      Eric Nothen Post author

      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

      • Matthew

        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

        • Matthew

          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 🙁

  • Diogo Henrique

    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

    • Eric Nothen
      Eric Nothen Post author

      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

      • Diogo Henrique

        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

      • Celestino

        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 !!

  • Rick Straubel

    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

  • Bjarke

    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?

    • Bjarke

      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)

  • Victor R

    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…

    • Victor R

      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.

    • Eric Nothen
      Eric Nothen Post author

      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.

  • Linus Norrlöv

    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

    • Eric Nothen
      Eric Nothen Post author

      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.

    • Undefinully

      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!

  • snwo

    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?

    • Eric Nothen
      Eric Nothen Post author

      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.

      • snwo

        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 !

        • Eric Nothen
          Eric Nothen Post author

          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

  • Daniel

    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!

  • Nico

    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

  • Uwe Köcher

    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

    • antonmry

      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 🙂

  • gabx

    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

    • snwo

      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 !

  • Andy Campbell

    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.

  • Pandzinho

    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?

    • Eric Nothen
      Eric Nothen Post author

      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.

  • Adriaan Nel

    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.

  • Ian Powell

    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?

  • Gerard Braad

    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…

  • Richard S.

    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?

  • Alson

    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!

  • Reinout van Schouwen

    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.

  • Pável

    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

  • fabis

    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

    • fabis

      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

      ….

  • bo

    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?

  • Gitan

    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

    • Gitan

      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.

  • Thomas Haitzer

    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

    • ReinoutS

      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.

  • focks

    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?

    • Undefinully

      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.

      • Eric Nothen
        Eric Nothen Post author

        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.

        • DP

          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)

          • Undefinully

            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

  • Dylan

    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

    • Dylan

      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?

    • Undefinully

      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!

  • Theo

    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

    • Eric Nothen
      Eric Nothen Post author

      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

  • Matt D. Nelson

    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’.

    • Eric Nothen
      Eric Nothen Post author

      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

      • rob

        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.

      • Matt D. Nelson

        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?

        • Eric Nothen
          Eric Nothen Post author

          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.

          • Charlie

            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.

  • Santiago

    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 😉

    • Santiago

      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 🙂

      • Laurent

        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

      • Petre

        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.

        • DP

          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.

      • sobdora

        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.

      • Ben

        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.

  • laurent

    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

  • Neil Brodzik

    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

      • Mario

        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?

  • Bartek Sternal

    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!

  • Jim L

    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!

  • Jesse G

    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.

  • Tony Wood

    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.

  • Berre

    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!

    • Berre

      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.

      • Berre

        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

  • Tobi

    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

  • Laurent Sarrat

    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

  • Ram

    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.

  • Jesse G

    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?

    • Jesse G

      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.

      • Jesse G

        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.

  • Vijay

    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.

    • Vijay

      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.

  • Sean

    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

  • archa1c

    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?

  • Mike Mc

    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

  • Undefinully

    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!

  • Luke Bigum

    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.

  • Luke Bigum

    … 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 };

  • Awes A.

    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?

    • Jimidak

      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

  • Francisco

    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!

  • Biterix

    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

  • Rafael Soto

    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.

  • Sabine

    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?

  • Jimidak

    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