--- title: Display description: How to access a virtual machine's display published: true date: 2023-05-20T21:29:47.985Z tags: editor: markdown dateCreated: 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. ``` ``` > You can identify your display using the following command: `echo $DISPLAY`. {.is-info} ### D-Bus display [D-Bus](https://www.freedesktop.org/wiki/Software/dbus/) 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: ``` ``` It will look like that when launched: ``` ``` * Export and enable an audio backend: ``` ``` ### 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](https://bootlin.com/pub/conferences/2016/meetup/dbus/josserand-dbus-meetup.pdf) on D-Bus * [Official resource](https://libvirt.org/formatdomain.html#graphical-framebuffers) for libvirt-compatible displays, including various XML examples * [Libmks](https://gitlab.gnome.org/chergert/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](https://gitlab.com/marcandre.lureau/qemu-display/) is a WIP Rust crates to interact with a -display dbus QEMU --- *[**Go to parent page**](https://wiki.phyllo.me/)*