EVDI: Extensible Virtual Display Interface for Linux Kernel Modules
Overview
EVDI (Extensible Virtual Display Interface) is an open-source project that essentially acts as a virtual display, allowing any user-space Linux program to manage additional displays and receive updates from these displays, providing multi-screen management and virtual display control capabilities for user-space programs. EVDI is compatible with the standard Linux DRM subsystem and can be operated using tools like <span>xrandr</span>. This project supports DisplayLink USB 3.0 devices and requires a minimum Linux kernel version of 4.15, primarily tested on Ubuntu systems.
This open-source project includes the source code for the <span>evdi</span> kernel module and the <span>libevdi</span> library:
- •
<span>evdi</span>kernel module can manage multiple screens, allowing user-space programs to control image processing. - •
<span>libevdi</span>library can be used by applications like DisplayLink to send and receive information with the kernel module, supporting the addition and removal of virtual displays and receiving screen updates.
<span>pyevdi</span> library is a Python wrapper for <span>libevdi</span>.
Related Official Resources:
- • Source Code: https://github.com/DisplayLink/evdi
- • Documentation: https://displaylink.github.io/evdi/
Project Origin
EVDI is a project that was started by DisplayLink as a base for the development of DisplayLink’s Display driver for Ubuntu Linux, driving all current generation, USB 3.0 Universal Docking Stations and USB Display Adapters. However, it soon became apparent that we were making a generic interface that any other application could use – and that’s when DisplayLink decided to open-source the code and push it to GitHub.
EVDI is a project initiated by DisplayLink as a foundation for developing the DisplayLink display driver for Ubuntu Linux, applicable to all current USB 3.0 universal docking stations and USB display adapters. However, it soon became clear that we were creating a generic interface that could be used by any other application – at which point DisplayLink decided to open-source the code and push it to GitHub.
Usage
EVDI is a driver compatible with the standard Linux DRM subsystem. Because of this, displays can be controlled using standard tools such as xrandr or display settings applets in graphical environments like Unity, Gnome, or KDE. Virtual displays can also be created using <span>pyevdi</span>.
The minimum kernel version supported by the EVDI module is <span>4.15</span>. DisplayLink has verified that this module can compile and function correctly on Ubuntu kernel versions up to 6.15.
EVDI is typically used in conjunction with the DisplayLink driver, which has been released as a deb package or as a standalone installer paired with the driver. Visit the DisplayLink page (https://www.synaptics.com/products/displaylink-graphics/downloads/ubuntu) for the latest version. EVDI is not a complete DisplayLink device driver; a full driver is required to achieve all functionalities.
Welcome to Follow:
Feel free to add WeChat to join the group for discussions:

For more, please click the bottom left corner Read the original text!