reorganize the wiki using only two-levels of directories
3.0 KiB
title | description | published | date | tags | editor | dateCreated |
---|---|---|---|---|---|---|
Display | How to access a virtual machine's display | true | 2023-05-20T21:29:47.985Z | markdown | 2022-07-31T09:22:05.854Z |
Display
A virtual display can be attached to a virtual machine. It is a must-have for non-headless scenarios.
Summary
- to-be done. Add table here.
Display types
VNC
- to-be done
Spice
- to-be done
SDL display
The Simple DirectMedia Layer (SDL)-powered display is a local-only low-latency display.
The SDL display is only avalable with virtual machines created using the QEMU/KVM user Session mode and Xorg. {.is-info}
SELinux configuration
By default, SELinux will block access to X Windows Server for the virtualization stack. An exception has to be set.
- Set new rule
sudo setsebool -P virt_use_xserver 1
- Do some magic trick
sudo ausearch -c 'qemu-system-x86' --raw | audit2allow -M my-qemusystemx86
k
- And another one
sudo semodule -X 300 -i my-qemusystemx86.pp
XML SDL example
Mouse grab does not currently work with the SDL display {.is-warning}
The display resolution of your guest display should not exceed that of your physical screen. {.is-info}
- Example of an XML SDL configuration, with OpenGL enabled. This example requires a 3D-capable graphic card to be attached to the guest computer, such as virtio-gpu.
<graphics type="sdl" display=":0" xauth="/root/.Xauthority" fullscreen="yes">
<gl enable="yes"/>
</graphics>
You can identify your display using the following command:
echo $DISPLAY
. {.is-info}
D-Bus display
D-Bus is a desktop-oriented middleware that can be used to create a display for a virtual machine.
- Export and enable a video backend, add support for OpenGL and peer-to-peer connection:
<graphics type="dbus">
<gl enable="yes"/>
</graphics>
It will look like that when launched:
<graphics type="dbus" address="unix:path=/run/user/1000/libvirt/qemu/run/dbus/8-user-d-bus-dbus.sock">
<gl enable="yes" rendernode="/dev/dri/renderD128"/>
</graphics>
- Export and enable an audio backend:
<graphics type="dbus">
<audio id="1">
</graphics>
Xephyr
- to-be done
WebRTC
- to-be done
Looking Glass
- to-be done
virtio-wayland
- to-be done
egl-headless
- to-be done
Resources
- Detailed presentation on D-Bus
- Official resource for libvirt-compatible displays, including various XML examples
- Libmks provides a "Mouse, Keyboard, and Screen" to QEMU using the D-Bus device support in QEMU and GTK 4.
- QEMU D-Bus display experiment is a WIP Rust crates to interact with a -display dbus QEMU