- C 65.8%
- Go 33.3%
- Nix 0.6%
- Makefile 0.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| example | ||
| libevdi | ||
| .gitignore | ||
| README.md | ||
| shell.nix | ||
| TODOs.md | ||
goevdi: EVDI bindings for Go
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.
This package provides a Go wrapper for the libevdi library, allowing you to easily manage Linux virtual displays.
Warning
This package is still in early development and may contain bugs. Use at your own risk. Additionally, due to nature of this being in early development, the API is unstable and may change between versions.
This package can work in production environments, but it is not recommended for production use until the API is stable.
How to Use
See the Go documentation for documentation on how to use this package. EVDI can be a bit confusing at first, so I'd recommend looking at the example here.
Installation
To install the package, run the following command:
go get git.terah.dev/imterah/goevdi/libevdi@latest
After that, you'd want to install the Linux kernel headers, and libdrm. Packages for Debian are:
sudo apt install linux-headers-$(uname -r) libdrm-dev
To install the EVDI kernel module, install this on Debian:
sudo apt install evdi-dkms