add reference and description to dbus display and libkms
This commit is contained in:
7
home.md
7
home.md
@@ -66,10 +66,11 @@ In this wiki, you will find guides about [how to install](#install) and [use](#g
|
||||
### Guest hardware
|
||||
|
||||
- [Virtual hardware definition](/virt/vm)
|
||||
- [Chipsets](/virt/vm/chipset)
|
||||
- [Chipset](/virt/vm/chipset)
|
||||
- [Firmware](/virt/vm/firmware)
|
||||
- [Graphic cards](/virt/vm/graphic-card)
|
||||
- [Virtual I/O (virtio) devices](/virt/vm/virtio)
|
||||
- [Graphic card](/virt/vm/graphic-card)
|
||||
- [Virtual I/O device](/virt/vm/virtio)
|
||||
- [Display](/virt/vm/display)
|
||||
|
||||
### Guest software
|
||||
|
||||
|
||||
42
virt/vm/display.md
Normal file
42
virt/vm/display.md
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
title: Display
|
||||
description:
|
||||
published: true
|
||||
date: 2025-11-08T10:28:07.779Z
|
||||
tags:
|
||||
editor: markdown
|
||||
dateCreated: 2022-01-25T14:50:10.751Z
|
||||
---
|
||||
|
||||
# Virtual displays
|
||||
|
||||
There are mutliple displays devices available, or screens where one can access the virtual machine graphical contents.
|
||||
|
||||
## Dbus display
|
||||
|
||||
The Dbus display is the newest of the bunch.
|
||||
|
||||
### libkms
|
||||
|
||||
A project called [**libmks**](https://gitlab.gnome.org/GNOME/libmks) is offering an implementation with `libvirt` and `QEMU`.
|
||||
|
||||
This project is a GTK library called "libmks" (short for Mouse, Keyboard, Screen) that provides a way to interact with QEMU virtual machines through D-Bus.
|
||||
|
||||
It allows GTK applications to display and control VM screens, keyboards, and mice.
|
||||
|
||||
Key komponents:
|
||||
|
||||
1. **MksDisplay** - A GTK widget that displays the VM screen content, handling the visual representation and user interaction (mouse, keyboard, touch).
|
||||
2. **MksScreen** - Represents a VM screen that can be connected to a display widget. It provides access to screen properties and allows configuration of screen dimensions.
|
||||
3. **MksKeyboard/MksMouse/MksTouchable** - Abstractions for virtualized QEMU devices that allow sending input events (key presses, mouse clicks/moves, touch events) to the VM.
|
||||
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
|
||||
|
||||
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.
|
||||
Reference in New Issue
Block a user