[Spice-devel] Multiple monitors at 4K, in virt-manager?

Uri Lublin uril at redhat.com
Mon Mar 22 17:35:27 UTC 2021


On 3/22/21 5:27 PM, Dr. Jennifer Nussbaum wrote:
> On Monday, March 22, 2021, 10:51:48 AM EDT, Victor Toso 
> <victortoso at redhat.com> wrote:
> 
> Hi,
> 
> On Mon, Mar 22, 2021 at 01:46:08PM +0000, Dr. Jennifer Nussbaum wrote:
> 
> 
>  > > I'm using virt-manger, and its related suite of stuff, to run
>  > > KVM/QEMU VM's on a Debian Bullseye host, which has two 4K
>  > > monitors. I am unable to get dual-head working at all, and I
>  > > can't get 4K resolution working in the way I'm apparently
>  > > supposed to.
>  >
>  > Can you share the vm's domain? virsh dumpxml $vm
> 
> I've posted this at the bottom of this message, with only small changes 
> to obscure the UUID and paths.
> 
>  > > I have a Debian Bullseye guest, with spice-vdagent and the QXL
>>  > video drivers installed in it. The Spice user manual suggests
>>  > that multiple-monitor support is easy; you're supposed to use a
>>  > Video QXL device and then everything should just work. But it
>>  > doesn't. Even when I increase the video memory in the XML file
>>  > (vgamem, I assume) to 64MB I am unable to get 4K on even a
>>  > single monitor using Settings -> Display on the guest; it maxes
>>  > out at some arbitrary-seeming thing a bit over 1980 x 1200. And
>>  > regardless of resolution, I also do not have a second monitor
>>  > available in the guest.

Hi,

It seems 64MB is not enough.

4096 * 2160 * 4 * 2 > 64MB

Can you try replacing all those 64MB below with 128MB ?
Please try with 1 head first. Possibly 2 heads need
more (but not for all params).

Regards,
     Uri.

>  >
>  > Are you accessing with virt-manager? I don't think there is
>  > support for multi-monitor there? You should use virt-viewer or
>  > remote-viewer instead.
> 
> virt-manager uses virt-viewer natively; it's what virt-manager fires up 
> when you use the "view graphical console" option.
> 
> Regardless, I did just launch virt-viewer separately, and it's 
> functioning in the same way.
> 
>>  > If I have a video device set to Virtio, then 4K works perfectly
>>  > on the guest machine; if I go to Settings -> Display there, I
>>  > can select 4096 x 2160, and I get lovely 4K video. However,
>>  > dual-head does not work. If I try to edit the XML for the video
>>  > device to 'heads="2"', there is no effect--at least, when I
>>  > restart the guest and go to Settings -> Display, there isn't an
>>  > option for selecting another monitor.  Could someone tell me
>>  > what I'm supposed to be doing?  Thank you.
>> 
>> Just confirming, for Spice multi-monitor [0] in recent linux
>> guests, one qxl device is enough and you should set the heads to
>> 2 (virsh edit $vm)
> 
> As you can see from the XML below, I do (think I) have one qxl device, 
> with 2 heads and 64MB memory.
> 
> When I go into the guest, the maximum resolution I am offered is 2952 x 
> 1781. And there is only one display,
> called "Virtual-0".
> 
> Thank you for looking this over.
> 
> Jen
> 
> ----
> 
> <domain type="kvm">
>    <name>debian-bullseye-test</name>
>    <uuid>36d7d0e7-4801-4396-9f61-2b5022xxxxxxx</uuid>
>    <memory unit="KiB">4194304</memory>
>    <currentMemory unit="KiB">4194304</currentMemory>
>    <vcpu placement="static">2</vcpu>
>    <os>
>      <type arch="x86_64" machine="pc-i440fx-2.8">hvm</type>
>      <boot dev="hd"/>
>    </os>
>    <features>
>      <acpi/>
>      <apic/>
>      <vmport state="off"/>
>    </features>
>    <cpu mode="host-model" check="partial"/>
>    <clock offset="utc">
>      <timer name="rtc" tickpolicy="catchup"/>
>      <timer name="pit" tickpolicy="delay"/>
>      <timer name="hpet" present="no"/>
>    </clock>
>    <on_poweroff>destroy</on_poweroff>
>    <on_reboot>restart</on_reboot>
>    <on_crash>restart</on_crash>
>    <pm>
>      <suspend-to-mem enabled="no"/>
>      <suspend-to-disk enabled="no"/>
>    </pm>
>    <devices>
>      <emulator>/usr/bin/kvm</emulator>
>      <disk type="file" device="disk">
>        <driver name="qemu" type="qcow2"/>
>        <source file="/home/user/VMs/debian-bullseye-clone.qcow2"/>
>        <target dev="vda" bus="virtio"/>
>        <address type="pci" domain="0x0000" bus="0x00" slot="0x07" 
> function="0x0"/>
>      </disk>
>      <disk type="file" device="cdrom">
>        <driver name="qemu" type="raw"/>
>        <target dev="hda" bus="ide"/>
>        <readonly/>
>        <address type="drive" controller="0" bus="0" target="0" unit="0"/>
>      </disk>
>      <controller type="usb" index="0" model="ich9-ehci1">
>        <address type="pci" domain="0x0000" bus="0x00" slot="0x05" 
> function="0x7"/>
>      </controller>
>      <controller type="usb" index="0" model="ich9-uhci1">
>        <master startport="0"/>
>        <address type="pci" domain="0x0000" bus="0x00" slot="0x05" 
> function="0x0" multifunction="on"/>
>      </controller>
>      <controller type="usb" index="0" model="ich9-uhci2">
>        <master startport="2"/>
>        <address type="pci" domain="0x0000" bus="0x00" slot="0x05" 
> function="0x1"/>
>      </controller>
>      <controller type="usb" index="0" model="ich9-uhci3">
>        <master startport="4"/>
>        <address type="pci" domain="0x0000" bus="0x00" slot="0x05" 
> function="0x2"/>
>      </controller>
>      <controller type="pci" index="0" model="pci-root"/>
>      <controller type="ide" index="0">
>        <address type="pci" domain="0x0000" bus="0x00" slot="0x01" 
> function="0x1"/>
>      </controller>
>      <controller type="virtio-serial" index="0">
>        <address type="pci" domain="0x0000" bus="0x00" slot="0x06" 
> function="0x0"/>
>      </controller>
>      <interface type="network">
>        <mac address="52:54:00:30:01:2b"/>
>        <source network="default"/>
>        <model type="rtl8139"/>
>        <address type="pci" domain="0x0000" bus="0x00" slot="0x03" 
> function="0x0"/>
>      </interface>
>      <serial type="pty">
>        <target type="isa-serial" port="0">
>          <model name="isa-serial"/>
>        </target>
>      </serial>
>      <console type="pty">
>        <target type="serial" port="0"/>
>      </console>
>      <channel type="unix">
>        <target type="virtio" name="org.qemu.guest_agent.0"/>
>        <address type="virtio-serial" controller="0" bus="0" port="1"/>
>      </channel>
>      <channel type="spicevmc">
>        <target type="virtio" name="com.redhat.spice.0"/>
>        <address type="virtio-serial" controller="0" bus="0" port="2"/>
>      </channel>
>      <input type="tablet" bus="usb">
>        <address type="usb" bus="0" port="1"/>
>      </input>
>      <input type="mouse" bus="ps2"/>
>      <input type="keyboard" bus="ps2"/>
>      <graphics type="spice" autoport="yes">
>        <listen type="address"/>
>        <image compression="off"/>
>      </graphics>
>      <sound model="ich6">
>        <address type="pci" domain="0x0000" bus="0x00" slot="0x04" 
> function="0x0"/>
>      </sound>
>      <video>
>        <model type="qxl" ram="65536" vram="65536" vgamem="65536" 
> heads="2" primary="yes"/>
>        <address type="pci" domain="0x0000" bus="0x00" slot="0x09" 
> function="0x0"/>
>      </video>
>      <redirdev bus="usb" type="spicevmc">
>        <address type="usb" bus="0" port="2"/>
>      </redirdev>
>      <redirdev bus="usb" type="spicevmc">
>        <address type="usb" bus="0" port="3"/>
>      </redirdev>
>      <memballoon model="virtio">
>        <address type="pci" domain="0x0000" bus="0x00" slot="0x08" 
> function="0x0"/>
>      </memballoon>
>    </devices>
> </domain>
> 
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel
> 



More information about the Spice-devel mailing list