Author Topic: How to Install DisplayLink Drivers on NuTyX  (Read 6459 times)

ndawka

  • Newbie
  • *
  • Posts: 20
  • Karma: +2/-0
How to Install DisplayLink Drivers on NuTyX
« on: Mon Sep 19 13:03:15 2022 »
Introduction:
DisplayLink technology makes it simple to connect any display to any computer that supports USB or Wi-Fi and provides universal solutions for a range of corporate, home and embedded applications where easy connectivity of displays enhances productivity. With DisplayLink, expanding your visual workspace has never been easier or more affordable. This technology makes it really easy to connect any display to any computer. We call this Plug and Display. Look for the DisplayLink certified Plug and Display logo on your favorite docking station.

Limitations:
  • The release notes state, that the official Kernel Range supported, is 4.15 to 5.17, however 5.18 and 5.19 also work.  This has not been tested with kernel 4.14 LTS and might not work, or might work partially.
  • Minimum version of Xorg supported is 1.16 and minimum version of Mutter (Wayland) supported, is 3.32.
  • This driver supports up to 2 monitors and up to 4K resolutions. Performance with more monitors and higher resolutions have not been tested.
  • The official distribution is for Ubuntu distributions only, so stability is not guaranteed and support would not be provided.
  • Setting a primary display did not work in my case (it did work on other distributions, such as Ubuntu and Fedora. This issue might specifically occur because kernel 5.19 is not officially supported).
Prerequisites:
  • Please upgrade your NuTyX installation to get the latest dependencies.
Code: [Select]
sudo cards upgrade
Dependencies:
libdrm
Code: [Select]
sudo cards install xorg-libdrm xorg-libdrm.develDKMS
Code: [Select]
cd /tmp
git clone https://github.com/dell/dkms
cd dkms
make install
Linux Kernel Headers
Code: [Select]
sudo cards install cards.devel kernel.develHeaders will automatically be updated with the kernel. For more info relate to:
Install the kernel headers via the kernel.devel package. You will probably need cards.devel as well. Some more might be needed. Repeat the command with the package required:

Code: [Select]
sudo cards install cards.devel kernel.devel
Quote
Since NuTyX is rolling release, it would be very difficult to install headers for the kernel upon each update
Don't worry about it, ones they are installed, they will be updated together with your kernel.

Best regards
Thierry

Installation
In the following, replace the "version" part with the version number, e.g. 5.6.1-59.184.
Navigate to the directory with the displaylink-driver-version.run file (/tmp in this case).
Code: [Select]
cd /tmp
chmod +x displaylink-driver-version.run
./displaylink-driver-version.run --noexec --keep
cd displaylink-driver-version
chmod +x displaylink-installer.sh
./displaylink-installer.sh
It should now be installed. If you are using XORG, reboot may be necessary.

Issues:
If you run into any issues, solutions may be:

Uninstall/Upgrade
To uninstall the DisplayLink driver, please fetch the installed Ubuntu driver from https://www.synaptics.com/products/displaylink-graphics/downloads/ubuntu (find the installed version in the "Legacy Drivers" dropdown), extract the .zip archive into /tmp.
In the following, replace the "version" part with the version number, e.g. 5.6.1-59.184.
Navigate to the directory with the displaylink-driver-version.run file (/tmp in this case).
Code: [Select]
cd /tmp
chmod +x displaylink-driver-version.run
./displaylink-driver-version.run --noexec --keep
cd displaylink-driver-version
chmod +x displaylink-installer.sh
./displaylink-installer.sh uninstall
Reboot is necessary.

To upgrade the driver follow the Uninstallation steps, then, after the reboot, download the latest version and complete the "Prerequisites" and "Installation" sectionss. Dependencies should not have changed. If you run into any issues refer to the "Issues" section.
Since the upgrade process requires uninstallation of the driver, the reboot and reinstallation will have to be performed without the DisplayLink driver.

Enjoy!

ndawka

  • Newbie
  • *
  • Posts: 20
  • Karma: +2/-0
Re: How to Install DisplayLink Drivers on NuTyX
« Reply #1 on: Mon Sep 19 15:26:17 2022 »
A few more additions, that did not fit in, because of a word count limit:

Dependencies:
Code: [Select]
sudo cards install git make
Prerequisites:
Reboot the computer, after installing Linux Kernel Headers. Even though in my case NuTyX implemented them without a reboot, in some cases it is necessary to do so.

Clarification:
Code: [Select]
make install needs to be run as a superuser, so it should be
Code: [Select]
sudo make install
« Last Edit: Mon Sep 19 21:24:48 2022 by ndawka »

Thierry

  • Administrator
  • Hero Member
  • *****
  • Posts: 706
  • Karma: +13/-0
  • Gender: Male
    • NuTyX distribution
Re: How to Install DisplayLink Drivers on NuTyX
« Reply #2 on: Wed Sep 21 08:04:46 2022 »
Hello @ndawka

Welcome to the NuTyX forums.

I Thank you very much for this excellent Trick to install DisplayLink driver.
I was always wondering if a solution was already existing on Linux (as it exist since long time now on windows).

I got my answer.

BR,
Thierry

ndawka

  • Newbie
  • *
  • Posts: 20
  • Karma: +2/-0
Re: How to Install DisplayLink Drivers on NuTyX
« Reply #3 on: Tue Oct 11 21:50:34 2022 »
As of now, the DisplayLink driver does not work on Linux 6. So for the moment being, a temporary fix is to modify the "modules/evdi_drm_drv.h" file in the "evdi.tar.gz" archive.
Linux 6 is in the NuTyX "Testing" branch at the moment, but this fix will be useful, in case EVDI (and DisplayLink) do not resolve this issue, before Linux 6 is pushed to the "Rolling" branch.

Steps to do so:

First, get to the Installation step in the instructions. Then:
Code: [Select]
cd /tmp
chmod +x displaylink-driver-version.run
./displaylink-driver-version.run --noexec --keep
cd displaylink-driver-version
then
  • Extract contents of evdi.tar.gz into the directory, called "evdi"
  • Open the file "evdi/modules/evdi_drm_drv.h"
  • Add a new line below line 32 (before the line, that is "#include <drm/drm_crtc.h>")
  • Paste "#include <drm/drm_framebuffer.h>" into the newly created line 33
  • Save the modified file
  • Compress files inside the "evdi" directory back to "evdi.tar.gz"
then continue with
Code: [Select]
chmod +x displaylink-installer.sh
./displaylink-installer.sh
and keep following the instructions.

You can find more information about this issue here: https://github.com/DisplayLink/evdi/issues/376.
« Last Edit: Wed Oct 12 12:33:26 2022 by Thierry »