DisplayLink technology enables USB-connected displays and docking stations, allowing you to extend your desktop workspace beyond your laptop’s built-in ports. However, getting DisplayLink to work on Fedora 43 requires some manual setup, as the drivers aren’t included in the default repositories.
This guide walks you through installing the necessary EVDI (Extensible Virtual Display Interface) kernel module and DisplayLink drivers to get your USB displays working seamlessly.
If you’re upgrading from a previous version of Fedora, remove any older copies of the DisplayLink and EVDI drivers to avoid conflicts:
sudo dnf remove displaylink evdi
Before compiling the EVDI kernel module, you’ll need some development tools and Python bindings:
sudo dnf install python3-pybind11 python3-config
The EVDI module needs specific compiler flags to build successfully on Fedora 43. These flags prevent build warnings from being treated as errors and ensure the compiler can find Python header files:
export CFLAGS=-w
export CPLUS_INCLUDE_PATH="/usr/include/python3.14:$CPLUS_INCLUDE_PATH"
Now you’re ready to compile the EVDI kernel module from source:
git clone https://github.com/DisplayLink/evdi
cd evdi
make
sudo make install
This process clones the official DisplayLink EVDI repository, compiles the kernel module, and installs it into your system.
The community-maintained displaylink-rpm project provides pre-built packages that set up the necessary services and configurations. Since Fedora 43 packages may not be available yet, the Fedora 42 package should work fine after manually installing EVDI:
Download the appropriate RPM from the displaylink-rpm GitHub releases page. At the time of writing, fedora-42-displaylink-1.14.10-1.github_evdi.x86_64.rpm works well.
Install the RPM package:
sudo dnf install fedora-42-displaylink-1.14.10-1.github_evdi.x86_64.rpm
After installation, you can either reboot your system or restart the DisplayLink service:
sudo systemctl restart displaylink-driver
Once the service is running, your USB-connected displays should be automatically detected and ready to use!
If your displays don’t appear after following these steps:
lsmod | grep evdisudo systemctl status displaylink-driverjournalctl -xeu displaylink-driver