All Projects → DisplayLink → Evdi

DisplayLink / Evdi

Extensible Virtual Display Interface

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Evdi

Nocturnal
A Dimness and Night Shift menu bar app for macOS 🌙
Stars: ✭ 199 (-48.18%)
Mutual labels:  display, screen
Mons
POSIX Shell script to quickly manage monitors on X
Stars: ✭ 457 (+19.01%)
Mutual labels:  display, screen
lantern
[Android Library] Handling device flash as torch for Android.
Stars: ✭ 81 (-78.91%)
Mutual labels:  display, screen
Caffeine Ng
☕ Tray bar application able to temporarily inhibits the screensaver and sleep mode.
Stars: ✭ 72 (-81.25%)
Mutual labels:  display, screen
virtblkiosim
Virtual Linux block device driver for simulating and performing I/O.
Stars: ✭ 30 (-92.19%)
Mutual labels:  linux-kernel, virtual
BetterDummy
Unlock your displays on your Mac! Smooth scaling, HiDPI unlock, XDR/HDR extra brightness upscale, DDC, brightness and dimming, dummy displays, PIP and lots more!
Stars: ✭ 9,601 (+2400.26%)
Mutual labels:  display, screen
choco-screen-resolution
Sets the screen resolution on Windows virtual machines (VMs)
Stars: ✭ 24 (-93.75%)
Mutual labels:  display, screen
Refractor
Lightweight, robust, elegant virtual syntax highlighting using Prism
Stars: ✭ 291 (-24.22%)
Mutual labels:  virtual
Linux Kernel Exploitation
A collection of links related to Linux kernel security and exploitation
Stars: ✭ 3,859 (+904.95%)
Mutual labels:  linux-kernel
Linux Command
Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux
Stars: ✭ 17,481 (+4452.34%)
Mutual labels:  screen
Vfile
Virtual file format for text processing used in @unifiedjs
Stars: ✭ 278 (-27.6%)
Mutual labels:  virtual
Arkit
ARKit Base Project. Place virtual objects based on WWDC example project
Stars: ✭ 297 (-22.66%)
Mutual labels:  virtual
Vue Babylonjs
A ready-to-go 3d environment for Vue.js using Babylon.js
Stars: ✭ 356 (-7.29%)
Mutual labels:  virtual
Webpack Virtual Modules
Webpack Virtual Modules is a webpack plugin that lets you create, modify, and delete in-memory files in a way that webpack treats them as if they were physically presented in the file system.
Stars: ✭ 286 (-25.52%)
Mutual labels:  virtual
Calces Gradle Plugin
Android构建工具集:包含快速实现组件化构建脚本,快速实现屏幕最小宽度适配脚本
Stars: ✭ 366 (-4.69%)
Mutual labels:  screen
Program Y
Python 3.x based AIML 2.0 Chatbot interpreter, framework, related programs and knowledge files
Stars: ✭ 281 (-26.82%)
Mutual labels:  virtual
Control Surface
Arduino library for creating MIDI controllers and other MIDI devices.
Stars: ✭ 377 (-1.82%)
Mutual labels:  display
Ldt
Linux Driver Template
Stars: ✭ 363 (-5.47%)
Mutual labels:  linux-kernel
Vmlinux To Elf
A tool to recover a fully analyzable .ELF from a raw kernel, through extracting the kernel symbol table (kallsyms)
Stars: ✭ 317 (-17.45%)
Mutual labels:  linux-kernel
Linux
XanMod: Linux kernel source code tree
Stars: ✭ 310 (-19.27%)
Mutual labels:  linux-kernel

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.

  • Compatibility with distributions other than Ubuntu 18.04/20.04 LTS is not verified. Please let us know if you make it work on other distros - pull requests are welcome!
  • The communication between the EVDI kernel module and the wrapper libevdi library is not access-controlled or authenticated. This could be improved in future releases, making it harder to compromise the data EVDI is sending and receiving.
  • EVDI kernel module driver is currently a platform_driver, for multiple reasons; most importantly because virtual displays are not discoverable, i.e. cannot be enumerated at the hardware level. EVDI is also a generic device, not tied to any particular kind of device, transport layer or a bus.

Licensing

Please refer to the LICENSE information in module and library subfolders of this project.

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].