displaylink

Edit Package displaylink

DisplayLink VGA/HDMI driver for DL-6xxx, DL-5xxx, DL-41xx and DL-3xxx adapters

This adds support for HDMI/VGA adapters built upon the DisplayLink DL-6xxx, DL-5xxx, DL-41xx and DL-3xxx series of chipsets. This includes numerous docking stations, USB monitors, and USB adapters.

Refresh
Refresh
Source Files
Filename Size Changed
evdi-1.14.4.tar.gz 0000088726 86.6 KB
global.patch 0000001083 1.06 KB
opensuse15.5.patch 0000002137 2.09 KB
selinux_config.sh 0000000273 273 Bytes
selinux_module_remove.sh 0000000170 170 Bytes
Latest Revision
Houssem Eddine Ben Hmida's avatar Houssem Eddine Ben Hmida (HEBH) committed (revision 115)
upgrade to evdi 1.14.4
Comments 26

Pete Thorsen Jr.'s avatar

HEBH,

I want to personally thank you for taking this project on and building this software for openSUSE, Tumbleweed. It works very well, and I am pleased to be able to use three external monitors with my laptop, making four screens total!

One thing I did notice initially was that the Ethernet port on the dock itself seemed to be slower than another Ethernet port with another adapter, while both are connecting at 1 gigabit. Is there anyway that I can try and help troubleshoot what might be going wrong?

Thank you,

Pete


Florian Pose's avatar

Hello HEBR,

there has been a change for kernel 6.2, that's why the Tumbleweed build fails. Maybe you want to add this patch?

https://github.com/DisplayLink/evdi/pull/401/files

Thanks for your work!

Florian


Richard Andersson's avatar

It is still failing but in meanwhile i created a simple script that adds this patch.

#!/bin/bash
sudo zypper remove -y displaylink
sudo zypper install -y displaylink
wget https://raw.githubusercontent.com/DisplayLink/evdi/a90ecd5f0f09e976e4b8784fa16b92804138b1bd/module/evdi_fb.c
sudo mv evdi_fb.c /usr/src/evdi-1.12.0/evdi_fb.c
sudo dkms build -m evdi -v 1.12.0
sudo dkms install -m evdi -v 1.12.0

Houssem Eddine Ben Hmida's avatar

Driver builds successfully on Tumbleweed with evdi version 1.13.1(https://github.com/DisplayLink/evdi/tree/85a347a0a6c97df9fd602289229ca6f738ea9924) but not working on Tumbleweed and Fedora


Richard Andersson's avatar

Yep, service is now running but it doesn't detect screens.


Houssem Eddine Ben Hmida's avatar

The problem is now fixed on Fedora, working on the OpenSUSE build error.


Houssem Eddine Ben Hmida's avatar

Problem solved. Building successfully and working on OpenSUSE too.


Richard Andersson's avatar

New kernel version (6.4.6.1) in TW breaks the driver. Service will not start and the error messages are empty.


Houssem Eddine Ben Hmida's avatar

Service starting successfully and working fine for me on Tumbleweed with kernel version 6.4.6.1.


Richard Andersson's avatar

Little update about this issue. The issue was with secure-boot and the certs that the kernel module is using/not using. Apparently the newer kernel is more strict? about custom modules or then the issue is with my laptop itself.

Easiest is to disable secureboot completely but in my case i can't do that so i needed to sign the keys manually.

  1. First generated keys. openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out \ MOK.der -nodes -days 36500 -subj "/CN=Displaylink/"
  2. In my case mokutils doesn't work in my machine so i needed to manually add them with mokmanager. Copy generated keys to efi directory. sudo cp MOK.der /boot/efi/
  3. Reboot and press c in grub menu and type chainloader (hd0,gpt1)/EFI/opensuse/MokManager.efi and then boot
  4. Select Enroll key from disk and select MOK.der from the list
  5. Then sign the keys in the module.
    sudo unzstd $(sudo modinfo -n evdi)
    sudo /usr/src/(kernel version)/x86_64/default/scripts/sign-file sha256 ./MOK.priv \\n ./MOK.der /lib/modules/$(uname -r)/updates/evdi.ko
    sudo zstd -f /lib/modules/$(uname -r)/updates/evdi.ko

And yes problem with this is that i need to do this every time kernel updates :(.


A. Baer's avatar

First of all: Thanks for your efforts! Displaylink is getting more and more used in large corporations, as they are setting up workplaces with two screens as standard, connected to a "USB C docking station". And those docking stations often use DisplayPort for the connection to the monitor, USB C for the connection to a laptop and DisplayLink to manage the various setups that are possible with essentially three screens: Laptop plus two desktop monitors.

It works finally well for me on an HP Elitebook 840 G3, which is said to not to support DisplayLink, at all. Well, it does, obviously, just not via USB C, but only via USB A. This limits the capabilities realistically to two desktop monitors or the laptop plus one external monitor, but trying to use all three causes confusion: The screen chosen for the next window to appear by the system becomes utterly random. No big deal for me, as I am happy with two external monitors, and don't use the laptop screen anyway, most of the time.

So: BIG THANKS!

Now, I have to say, it didn't work right out-of-the-box for me. To get it working I had to make one little change: I replaced the 20-displaylink.conf file with the 20-evdi.conf file found in the Arch Wiki article regarding DisplayLink. See: https://wiki.archlinux.org/title/DisplayLink

With 20-displaylink.conf I had no luck, whatever I tried. With the 20-evdi.conf from the Arch colleagues it just works, for me on my old, but still very good corporate laptop.

Best regards! F9Race

BTW, I am on Tumbleweed with recent updates up to today (2023-08-14), but DisplayLink on 5.7.0 (but will try 5.8.0 in the next few days). Hardware is an HP Elitebook 840 G3 with Intel Core i7-6600U.


Marco Antonio Flores's avatar

Thanks, this evdi file fixed the non working issue for me too.


Nathan Wolf's avatar

I am running openSUSE Tumbleweed with kernel 6.5.4-1-default on a Framework 13, 13th Gen i7 and I get the error, after installation, "Failed to start DisplayLink Manager Service and I am left at the terminal. I am running Wayland as my display server and have used DisplayLink quite successfully about a year ago. It worked great with the whole fractional scaling per monitor thing. Hardware changed and I stopped using the DisplayLink dock but things have yet changed again and I could use that dock for more displays.

Has anyone else run into the issue of Manager Service not starting leaving you at a terminal prompt?


Marco Antonio Flores's avatar

Try this:

  • Backup the file /etc/X11/xorg.conf.d/20-displaylink.conf
  • Remove the previous file.
  • Create the file /etc/X11/xorg.conf.d/20-evdi.conf
  • This will be the content of the previous file:
Section "OutputClass"
    Identifier "DisplayLink"
    MatchDriver "evdi"
    Driver "modesetting"
    Option "AccelMethod" "none"
EndSection

Nathan Wolf's avatar

Here is the output from installing the DisplayLink from: home:HEBH ! | 5.8.0 | x86_64

warning: dkms service not enabled. (31/31) Installing: displaylink-5.8.0-5.1.x86_64 ................................................................................................................................................[done] Error! DKMS tree already contains: evdi-1.14.1 You cannot add the same module/version combo more than once. Job for displaylink.service failed because the control process exited with error code. See "systemctl status displaylink.service" and "journalctl -xeu displaylink.service" for details. warning: %posttrans(displaylink-5.8.0-5.1.x86_64.rpm) scriptlet failed, exit status 1

systemctl status displaylink.service ● displaylink.service - DisplayLink Manager Service Loaded: loaded (/usr/lib/systemd/system/displaylink.service; disabled; preset: disabled) Active: activating (auto-restart) (Result: exit-code) since Wed 2023-10-04 21:42:08 EDT; 3s ago Process: 15490 ExecStartPre=/sbin/modprobe evdi (code=exited, status=1/FAILURE) CPU: 5ms

sudo journalctl -xeu displaylink.service ░░ Subject: A start job for unit displaylink.service has begun execution ░░ Defined-By: systemd ░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel ░░ ░░ A start job for unit displaylink.service has begun execution. ░░ ░░ The job identifier is 23105. Oct 04 21:42:29 Ironhide modprobe[15534]: modprobe: ERROR: could not insert 'evdi': Key was rejected by service Oct 04 21:42:29 Ironhide systemd[1]: displaylink.service: Control process exited, code=exited, status=1/FAILURE ░░ Subject: Unit process exited ░░ Defined-By: systemd ░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel ░░ ░░ An ExecStartPre= process belonging to unit displaylink.service has exited. ░░ ░░ The process' exit code is 'exited' and its exit status is 1. Oct 04 21:42:29 Ironhide systemd[1]: displaylink.service: Failed with result 'exit-code'. ░░ Subject: Unit failed ░░ Defined-By: systemd ░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel ░░ ░░ The unit displaylink.service has entered the 'failed' state with result 'exit-code'. Oct 04 21:42:29 Ironhide systemd[1]: Failed to start DisplayLink Manager Service. ░░ Subject: A start job for unit displaylink.service has failed ░░ Defined-By: systemd ░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel ░░ ░░ A start job for unit displaylink.service has finished with a failure. ░░ ░░ The job identifier is 23105 and the job result is failed.


Houssem Eddine Ben Hmida's avatar

I see from the logs that dkms couldn't add (and maybe install evdi/1.14.1) what I suggest is to uninstall the displaylink package and then remove evdi from the dkms tree ( dkms remove --all evdi) then reinstall the package. Another problem could be the secure boot, so either you disable it from the bios config or you could follow the instructions the comment above: https://build.opensuse.org/package/show/home%3AHEBH/displaylink#comment-1821199


Nathan Wolf's avatar

Thank you, it is working. The steps I had to take were the following: Disable Secure boot Install DisplayLink Remove /etc/X11/xorg.conf.d/20-displaylink.conf (or backup)

Everything seemingly works. I am running this on Wayland which is also seems to work quite well. Thank you for your help and all the work you do on this.


Cédric Heintz's avatar

Hello HEBH,

First of all, thank you for all the hard work you are doing :-)

I recently got an ThinkPad USB-C Dock that has that displaylink chipset in it. (Ha, if only i knew....) The driver installs fine, but no way to get something displayed on the second screen. I'v tried so many things, such as removing 20-displaylink.conf and adding 20-evdi.conf from the archwiki, but no, nothing at all.

The evdi module (and the displaylink service) seems to load, but running dmesg only returns the following lines:

[ 16.006151] evdi: [I] Initialising logging on level 4

[ 16.006155] evdi: [I] Atomic driver: yes

I tried changing the loglevel, but i get nothing more. xrandr also cant see my other screen.

My laptop (with Secure Boot disabled !) where i'm using that dock is running openSUSE 15.5

What am i missing here ?


Houssem Eddine Ben Hmida's avatar

Are you using Wayland or x11?


Cédric Heintz's avatar

I'm using X11.


Houssem Eddine Ben Hmida's avatar

Could you test it with another OS version? (maybe the 15.4 or Tumbleweed)


Cédric Heintz's avatar

I tried under Tumbleweed, on another laptop, with no luck.


Houssem Eddine Ben Hmida's avatar
  • From the dmesg command output, I don't see anything wrong with the driver itself
  • I have committed some changes to the package related to building errors for Tumbleweed, and then I tested It on the latest version of Tumbleweed as well as Fedora 38, and it's working fine (For Tumbleweed it's Linux version 6.6, and for Fedora, it's 6.5.10 with an HP USB 3.0 3005pr port replicator). So try to install/update the latest version and test it.
  • Could you confirm that it's not a hardware issue? (a problem with the ThinkPad USB-C Dock )

I hope this could help you.


Cédric Heintz's avatar
  • Will try the latest version and see how that goes when i'm around the dock :D
  • About the possible hardware issue, i will check that with a Windows computer when i get my hands on one.

I will let you know. Thank you again for your help.


Cédric Heintz's avatar

So, the dock works perfectly on Windows. Also, for i dont know what reason exactly, it is now perfectly working on openSUSE Leap 15.5 ! (With SecureBoot disabled, that is)

I'm still curious to find out what was wrong.

Thank you again for your help HEBH.


Houssem Eddine Ben Hmida's avatar

Glad to hear that it's working for you now. With pleasure

openSUSE Build Service is sponsored by