A VNC server for DRM/KMS capable GNU/Linux devices
Find a file
2023-08-12 00:01:31 +08:00
.drone.yml ci config 2023-07-12 17:42:30 +08:00
CMakeLists.txt allow screen blank for privacy 2023-08-11 01:34:45 +08:00
drm.c drm: drop master if unnecessary 2023-08-12 00:01:31 +08:00
drm.h WIP: allow capture cursor 2023-07-16 10:12:26 +08:00
drm_master.c allow usage of --screen-blank --capture-raw-fb=/dev/null 2023-08-11 09:57:17 +08:00
drm_master.h allow screen blank for privacy 2023-08-11 01:34:45 +08:00
input.c initial multi display support 2023-07-15 10:38:48 +08:00
input.h vaapi: wip 2023-04-29 11:44:15 +08:00
keymap.c vaapi: wip 2023-04-29 11:44:15 +08:00
keymap.h vaapi: wip 2023-04-29 11:44:15 +08:00
kmsvnc.c allow usage of --screen-blank --capture-raw-fb=/dev/null 2023-08-11 09:57:17 +08:00
kmsvnc.h allow screen blank for privacy 2023-08-11 01:34:45 +08:00
LICENSE add wakeup option 2023-05-05 00:50:27 +08:00
README.md ci config 2023-07-12 17:42:30 +08:00
va.c WIP: allow capture cursor 2023-07-16 10:12:26 +08:00
va.h vaapi fix 2023-04-29 16:29:44 +08:00

kmsvnc

Build Status

Introduction

A VNC server for DRM/KMS capable GNU/Linux devices.
The goal is to simply have a universally working vncserver on X, wayland and even something like your linux VT.
Currently in very early development stage.

Notes

Intel made a great thing called CCS (Color Control Surface), however that won't work with kmsvnc. Please set INTEL_DEBUG=noccs globally, ideally in /etc/systemd/system.conf.d. Manpage is at man 5 systemd-system.conf. For example:

# /etc/systemd/system.conf.d/intel-no-ccs.conf 
[Manager]
DefaultEnvironment=INTEL_DEBUG=noccs

NixOS:

systemd.extraConfig = ''
  DefaultEnvironment=INTEL_DEBUG=noccs
''

If you plan to use the default vaapi driver for Intel and AMD GPUs, please make sure your vaapi configuration is working.
Nvidia support is highly experimental (nvidia-legacy with drm enabled or nvidia-open). Only one X-TILED modifier is supported as of now.

Dependencies

  • cmake
  • libvncserver
  • libxkbcommon
  • libdrm
  • libva

Building

mkdir build
cd build
cmake ..
make

Running

Helps are available via kmsvnc --help.
For example, kmsvnc -p 5901 -b 0.0.0.0 -4 -d /dev/dri/card2
Note that no security is currently supported.