add information related to libkms

This commit is contained in:
Lukas Greve
2025-11-09 12:00:54 +01:00
parent b10a509aff
commit e3feb907f4

View File

@@ -12,11 +12,11 @@ dateCreated: 2022-01-25T14:50:10.751Z
There are mutliple displays devices available, or screens where one can access the virtual machine graphical contents.
## Dbus display
## D-Bus display
The Dbus display is the newest of the bunch.
The D-Bus display is the newest of the bunch. It exports the VM display through D-Bus and "*allow out-of-process UIs, remote protocol servers or other interactive display usages*."
### libkms
### libkms library
A project called [**libmks**](https://gitlab.gnome.org/GNOME/libmks) is offering an implementation with `libvirt` and `QEMU`.
@@ -32,11 +32,17 @@ Key komponents:
4. **MksSession** - Manages the connection to a QEMU instance via D-Bus, discovering available devices and providing access to them.
5 **MksPaintable** - A GDK paintable object that receives rendering updates from QEMU, supporting both traditional framebuffer updates and DMA-BUF based updates for better performance.
The library uses D-Bus communication with QEMU's display interface to:
- Attach to VM screens and receive visual updates
- Send keyboard/mouse/touch events to the VM
- Configure screen properties
- Handle clipboard sharing
The library uses D-Bus communication with QEMU's display interface to:
It's designed to work with QEMU's D-Bus display interface and provides a GTK-friendly API for integrating VM displays into GTK applications. The library supports both synchronous and asynchronous operations for all its functions.
The project uses GTK 4, GIO, and various GTK components for the UI integration, with D-Bus for communication with QEMU.
- Attach to VM screens and receive visual updates
- Send keyboard/mouse/touch events to the VM
- Configure screen properties
- Handle clipboard sharing
It's designed to work with QEMU's D-Bus display interface and provides a GTK-friendly API for integrating VM displays into GTK applications. The library supports both synchronous and asynchronous operations for all its functions.
The project uses GTK 4, GIO, and various GTK components for the UI integration, with D-Bus for communication with QEMU.
## Resource:
- [D-Bus display page](https://www.qemu.org/docs/master/interop/dbus-display.html#) on QEMU documentation website