docs: update virt/vm/display

This commit is contained in:
2025-11-08 11:17:17 +00:00
parent 88201c65a5
commit 11bc73d821

View File

@@ -2,15 +2,15 @@
title: Display
description:
published: true
date: 2025-11-08T10:28:07.779Z
date: 2025-11-08T11:17:15.891Z
tags:
editor: markdown
dateCreated: 2022-01-25T14:50:10.751Z
dateCreated: 2025-11-08T10:42:41.620Z
---
# Virtual displays
There are mutliple displays devices available, or screens where one can access the virtual machine graphical contents.
There are multiple displays devices available, or screens where one can access the virtual machine graphical contents.
## Dbus display
@@ -24,19 +24,20 @@ This project is a GTK library called "libmks" (short for Mouse, Keyboard, Screen
It allows GTK applications to display and control VM screens, keyboards, and mice.
Key komponents:
Key components:
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.
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:
- 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.
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.