Hi,
I've had continuous issues with this and wanted to reach out
if that is a common issue everyone has or just me lacking a little
detail on my setup.
Setup:
- tried qemu up to 4.2
- tried libvirt up to 6.0
- virt-viewer up to 7.0-2build1
- virt-manager up to 2.2.1
- I plan to retry with qemu 5.0, libvirt 6.6 and virt-viewer 9.0 but I
don't have all pieces ready yet.
- get a Desktop Guest (I've seen it with Ubuntu and Windows, therefore
I'm rather sure it will affect all desktops)
- configure your guest-xml to use multiple graphic adapters and start it
- connect with virt-viewer to your guest which will open both screens
The exact issue depends on the kind of graphic device I configure.
The following list is ordered in terms of increasing confusion :-):
- QXL with multiple heads
- works fine (so multi display in general seems fine for the
involved components)
- VGA + QXL, QXL + Virtio, Virtio + QXL:
- Guest only detects primary display
- Can't convince X in the guest to use the second device as well
- lspci lists both devices just fine
- dmesg shows the kernel is initializing them, e.g. drm for virtio
- 2*QXL
- X has issues to initialize on user login
- no error in the log, just hung
- QXL + Mdev
- mouse handling seems broken
- in gnome I see no mouse pointer at all
- in windows it is just strange
- has offsets relative to mouse pointer entering
- and can't move in one random direction (e.g. not up)
- keyboard works just fine
- I have played with adding/removing different input devices without
much success.
- I disabled the qxl display via xorg conf without the case getting any better
The last case is what I initially tried and totally confused me at first.
And to be clear, each of those graphics adapter types works fine if being
attached "alone" on the guest (Except mdev alone, as I'm unable to convince
libvirt to only attach the mdev without adding back a qxl graphics adapter).
The Guest XML is the default that virt-manager gives me plus adding the second
graphics adapter (example 2*QXL:
https://paste.ubuntu.com/p/cVw8GVZ9dD/).
If this is known in some way or even "yeah try version XY of component Foo"
I'm
happy about any hint/pointer you can give me. But if there is a chance that I'm
the only one seeing it I'd like to understand why.
Thanks in advance for thinking into this with me,
Christian
P.S. to avoid cross-posting I'll start with libvirt as it is in the
middle of all involved components.