A VNC server for DRM/KMS capable GNU/Linux devices
Find a file
2023-04-29 16:29:44 +08:00
CMakeLists.txt vaapi: wip 2023-04-29 11:44:15 +08:00
drm.c vaapi fix 2023-04-29 16:29:44 +08:00
drm.h vaapi: wip 2023-04-29 11:44:15 +08:00
input.c vaapi: wip 2023-04-29 11:44:15 +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 vaapi fix 2023-04-29 16:29:44 +08:00
kmsvnc.h vaapi fix 2023-04-29 16:29:44 +08:00
README.md update readme 2023-04-29 12:16:13 +08:00
va.c vaapi fix 2023-04-29 16:29:44 +08:00
va.h vaapi fix 2023-04-29 16:29:44 +08:00

kmsvnc

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 kmscon.
Currently in very early 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.

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.