Setup DisplayLink on Manjaro Linux
I explain the process I use to get displaylink drivers working on Manjaro linux.
So you have a fresh install of Manjaro Linux, a displaylink dock, and several displays that are not showing an image. This is pretty much the common experience everytime I install an arch linux distribution on a new retired fleet dell or lenovo laptop. It always tends to take me some time of messing around before I get my displaylink dock working again. Because of this, I decided to write some notes so I can just look back and and spend less time re-learning how to ride the bike again.
Dont want An Explanation? Here is the TL;DR;
// This part installs yay and builds it
sudo pacman- Syu
sudo pacman -S --needed base-devel git
cd ~/Downloads
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
// install necessary dependencies
# we need to figure out what kernel version we have so we can download the correct linux headers
uname -a // Linux computer-82wk 6.9.3-3-MANJARO
sudo pacman -S linux69-headers
yay -S evdi-git
yay -S displaylink
sudo systemctl enable displaylink.service
sudo systemctl start displayalink.service
Manjaro Housekeeping Tasks
As of this writing, I do not believe that display link is in the official Manjaro linux repositories. Conveniently, it is in the Arch User Repository. For those who are newcomers to Arch-flavored Linux, the AUR is a community-driven collection of software packages for Arch Linux Users. It allows users to create and share their own packages and there is a voting component to help users vet the quality of the packages.
To use the AUR we need to do some housekeeping to get everything setup correctly.
Install YAY On Manjaro Linux
Yay is an AUR helper which is designed to simplify the process of managing packages on Arch Linux. It has features such as automating the process of compiling and installing packages from the AUR, and helping to keep them updated locally on your machine.
sudo pacman -Syu
. This will update the standard repositories and make sure all repos are up to date and download the latest installed packages. It will also sync the mirrors so that we can get fresh packages from the repositores.Next, we need to install some basic essential tools for everything else.
sudo pacman -S --needed base-devel git
. The--needed
flag will help us only get and build the packages we don’t already have. All this does is make the process more efficient since we are reusing packages that we might already have downloaded.base-devel
are just essential tools to build packages on Arch-flavored Linux distrubtions. We installgit
so we can installyay
. If you are not familiar withgit
, it is version control software that helps us get packages from git repositories and maintain their versioning.cd ~/Downloads && git clone https://aur.archlinux.org/yay.git && cd yay
. I personally just move into Downloads so I can delete the folder after I finish installingyay
. All we are doing in this step is making sure that we are in the Downloads directory, downloading theyay
package from the AUR and moving into the newly created directory from thegit clone
operation. If you are unfamiliar withgit clone
it is just agit
command to initialize a new project, and create a copy of a target repository. It initializes the project, sets up any remote urls for syncing data, fetches the data, creates the local branches, and checks out the default branch.Once we are inside the
yay
directory, we can runmakepkg -si
. This will simply build the package for our system. There will be a few steps involved that you need to take action on, but once you are done you should be able to typeyay -V
and it should cat out the version information of Yay.
Installing The Linux Headers
My most recent attempt, I kept running into an error with evdi not being in the correct lib/modules
directory and it was referencing my linux kernel version. To this this issue, I needed to install the correct linux-headers
for my kernel version.
uname -a
. This will give us basic information about the system, and most importantly, we can see what kernel version we are using. This can even be further refined to justuname -r
which will print out something like this:6.9.3-3-MANJARO
.Now that we know we are running kernel version 6.9, we can install the linux-headers using pacman:
sudo pacman -Syu linux69-headers
. This should be all we need for this step.
Installing EVDI-GIT Which Is A Dependency Of Displaylink
The Extensible Virtual Display Interface (EVDI) is a software project developed by DisplayLink, primarily aimed at enabling user-space Linux programs to manage additional displays and receive updates for them. Initially created as a foundation for DisplayLink’s Display driver for Ubuntu Linux, EVDI facilitates the operation of current-generation USB 3.0 Universal Docking Stations and USB Display Adapters. However, its utility expanded beyond DisplayLink’s original intent, becoming a generic interface that other applications could leverage, leading to its open-sourcing on GitHub
- Source Displaylink - Github
yay -S evdi-git
. There are a few different versions ofevdi
in the AUR. The thing to note, is that kernel development is particularly quick, and often times, it breaks displaylink. Using the git package, although might not be as stable, will often implement fixes in a more timely manner that fix these breaking changes. That being said, if you happen to be on a more stable linux kernel, usingevdi
might be preferrable since it will more likely be stable.yay -S displaylink
. This will install the display link package. Not much to be said here.sudo systemctl enable displaylink.service
. This will enable the display link service on start up.sudo systemctl start displaylink.service
. This will start the displaylink service.Note you may need to restart to get everything working.
sudo reboot
.
Troubleshooting displaylink issues on Manjaro Linux
If for whatever reason, you are are still having issues, I highly recommend reviewing the packages in the AUR. In addition to comments, there is also detailed information about dependencies which can help troubleshoot displaylink issues. Furthermore, the Arch and Manjaro community boards are a great place to search for help as well.
If you still need help, feel free to reach out directly to me and I am happy to help.
Love yourself now, then, and tomorrow.