summary refs log tree commit diff stats
path: root/gitlab/issues/target_missing/host_missing/accel_missing/1107.toml
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-05-21 21:21:26 +0200
committerChristian Krinitsin <mail@krinitsin.com>2025-05-21 21:21:26 +0200
commit4b927bc37359dec23f67d3427fc982945f24f404 (patch)
tree245449ef9146942dc7fffd0235b48b7e70a00bf2 /gitlab/issues/target_missing/host_missing/accel_missing/1107.toml
parentaa8bd79cec7bf6790ddb01d156c2ef2201abbaab (diff)
downloademulator-bug-study-4b927bc37359dec23f67d3427fc982945f24f404.tar.gz
emulator-bug-study-4b927bc37359dec23f67d3427fc982945f24f404.zip
add gitlab issues in toml format
Diffstat (limited to 'gitlab/issues/target_missing/host_missing/accel_missing/1107.toml')
-rw-r--r--gitlab/issues/target_missing/host_missing/accel_missing/1107.toml34
1 files changed, 34 insertions, 0 deletions
diff --git a/gitlab/issues/target_missing/host_missing/accel_missing/1107.toml b/gitlab/issues/target_missing/host_missing/accel_missing/1107.toml
new file mode 100644
index 00000000..b89a67b9
--- /dev/null
+++ b/gitlab/issues/target_missing/host_missing/accel_missing/1107.toml
@@ -0,0 +1,34 @@
+id = 1107
+title = "Virtual monitor heads are not \"connected\" until viewed in a front end"
+state = "opened"
+created_at = "2022-07-14T08:21:50.853Z"
+closed_at = "n/a"
+labels = ["device:graphics", "device:virtio"]
+url = "https://gitlab.com/qemu-project/qemu/-/issues/1107"
+host-os = "Debian 11"
+host-arch = "AMD64"
+qemu-version = "QEMU emulator version 7.0.50 (v7.0.0-2471-g8e3d85d36b)"
+guest-os = "Linux"
+guest-arch = "Arm Aarch64"
+description = """When you attach a virtual GPU to a guest, qemu appears to only "attach" a virtual monitor to an output port when that virtual display is
+viewed using the GUI.  For example, when you boot using the above command line, there will be four displays in ```/sys/class/drm/``` on the guest,
+```card0-Virtual-1``` through to ```card0-Virtual-4```.  In each of these directories, there is an "enabled" file, which contains either
+"enabled" or "disabled".  These contain "disabled" until you switch tab/view to look at it using the GUI, at which point they change to "enabled".
+
+This causes a problem for us because Weston will not initialise displays that do not have a monitor attached, meaning the system we are trying
+to boot fails because not all the Weston display surfaces are available.
+
+There does not appear to be a command line option to force virtual monitors to be attached to virtual displays immediately.  Looking through the
+Gtk user interface code (and the other front ends) there does not appear to be a call into the qemu core that requests the connection of a virtual
+monitor to the virtual displays - my guess is that qemu only connects a monitor when a render request first happens (or similar), but I have not followed the code paths deeper than the source files in ```QEMU/ui/```.
+
+I also tried using the ```screengrab``` command to screenshot each head, but this does not need sufficient to cause the display to be marked
+enabled in the guest.
+
+While we could possibly automate the GUI using some external tool, we ultimately need to run this in a CI environment using
+```egl-headless``` or similar."""
+reproduce = """1. Launch qemu with virtio-gpu-gl setting max_outputs > 1
+2. On guest, ```cat /sys/drm/class/card0-Virtual-2``` - it reads "disabled"
+3. On host, switch the view to look at the second display ("virtio-gpu-gl-pci.1")
+4. On guest, ```cat /sys/drm/class/card0-Virtual-2``` - it now reads "enabled""""
+additional = "n/a"