DisplayLink / evdi

Extensible Virtual Display Interface
MIT License
715 stars 186 forks source link
display displaylink drm linux-kernel screen video virtual

Extensible Virtual Display Interface

Build Status

The Extensible Virtual Display Interface (EVDI) is a Linux® kernel module that enables management of multiple screens, allowing user-space programs to take control over what happens with the image. It is essentially a virtual display you can add, remove and receive screen updates for, in an application that uses the libevdi library.

The project is part of the DisplayLink Ubuntu development which enables support for DisplayLink USB 3.0 devices on Ubuntu. Please note that this is NOT a complete driver for DisplayLink devices. For more information and the full driver package, see DisplayLink Ubuntu driver.

This open-source project includes source code for both the evdi kernel module and a wrapper libevdi library that can be used by applications like DisplayLink's user mode driver to send and receive information from and to the kernel module.

How to use

See libevdi API documentation for details.

EVDI is a driver compatible with a standard Linux DRM subsystem. Due to this, displays can be controlled by standard tools, eg. xrandr or display settings applets in graphical environments eg. Unity, Gnome or KDE.

Minimum supported kernel version required is 4.15. DisplayLink have checked the module compiles and works with Ubuntu variants of kernels up to 5.5. Although other vanilla Linux kernel sources are used for Travis CI job, newer kernels, or kernel variants used by other distributions may require extra development. Please see below to see how you can help.

Future Development

This is a first release. DisplayLink are open to suggestions and feedback on improving the proposed architecture and will gladly review patches or proposals from the developer community. Please find a current list of areas we identify as requiring attention below.

Packages for other distributions

There is an unoffical github project at DisplayLink RPM which is generating RPM package for Fedora, CentOS Stream, Rocky Linux and AlmaLinux OS. It is not in our control but it uses our code as the basis to create the RPM packages.

Licensing

Elements of this project are licensed under various licenses. In particular, the module and library are licensed under GPL v2 and LGPL v2.1 respectively - consult separate LICENSE files in subfolders. Remaining files and subfolders (unless a separate LICENSE file states otherwise) are licensed under MIT license.

More information

For more information, see our support page. Visit displaylink.com to learn more about DisplayLink technology.

© Copyright 2015-2020 DisplayLink (UK) Ltd.

Linux is a registered trademark of Linus Torvalds in the U.S. and other countries.