On Thu, Apr 30, 2026 at 01:02:59AM +0400, Marc-André Lureau wrote: > Add a standalone VNC server binary that connects to a running QEMU > instance via the D-Bus display interface (org.qemu.Display1, via the bus > or directly p2p). This allows serving a VNC display without compiling > VNC support directly into the QEMU system emulator, and enables running > the VNC server as a separate process with independent lifecycle and > privilege domain. > > Built only when both VNC and D-Bus display support are enabled. > If we wanted to have qemu -vnc disabled, and qemu-vnc built, we would > need to split CONFIG_VNC. This is left as a future exercise. > > Current omissions include some QEMU VNC runtime features (better handled via > restart), legacy options, and Windows support. > > Signed-off-by: Marc-André Lureau <[email protected]> > --- > MAINTAINERS | 5 + > docs/conf.py | 3 + > docs/interop/dbus-display.rst | 2 + > docs/interop/dbus-vnc.rst | 26 + > docs/interop/index.rst | 1 + > docs/meson.build | 1 + > docs/tools/index.rst | 1 + > docs/tools/qemu-vnc.rst | 226 +++++++ > meson.build | 17 + > tools/qemu-vnc/qemu-vnc.h | 49 ++ > tools/qemu-vnc/trace.h | 4 + > tests/qtest/dbus-vnc-test.c | 1346 > +++++++++++++++++++++++++++++++++++++++++ > tools/qemu-vnc/audio.c | 308 ++++++++++ > tools/qemu-vnc/chardev.c | 148 +++++ > tools/qemu-vnc/clipboard.c | 378 ++++++++++++ > tools/qemu-vnc/console.c | 170 ++++++ > tools/qemu-vnc/dbus.c | 474 +++++++++++++++ > tools/qemu-vnc/display.c | 456 ++++++++++++++ > tools/qemu-vnc/input.c | 239 ++++++++ > tools/qemu-vnc/qemu-vnc.c | 581 ++++++++++++++++++ > tools/qemu-vnc/stubs.c | 62 ++ > tools/qemu-vnc/utils.c | 59 ++ > meson_options.txt | 2 + > scripts/meson-buildoptions.sh | 3 + > tests/dbus-daemon.sh | 14 +- > tests/qtest/meson.build | 13 + > tools/qemu-vnc/meson.build | 26 + > tools/qemu-vnc/qemu-vnc1.xml | 201 ++++++ > tools/qemu-vnc/trace-events | 21 + > 29 files changed, 4833 insertions(+), 3 deletions(-)
Reviewed-by: Daniel P. Berrangé <[email protected]> With regards, Daniel -- |: https://berrange.com ~~ https://hachyderm.io/@berrange :| |: https://libvirt.org ~~ https://entangle-photo.org :| |: https://pixelfed.art/berrange ~~ https://fstop138.berrange.com :|
