Merge branch 'main' of ssh://git.phyllo.me:29418/roots/wiki

This commit is contained in:
Lukas Greve
2025-11-09 12:03:58 +01:00

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.
## D-Bus display
@@ -24,13 +24,13 @@ 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:
@@ -39,10 +39,5 @@ The library uses D-Bus communication with QEMU's display interface to:
- 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
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.