Resizing A QEMU Guest Display

Home » CentOS » Resizing A QEMU Guest Display
CentOS 5 Comments

Hello everyone –

I think I know the answer, but just in case … I want to run it by the experts.

I have a machines running CentOS 7. “uname -a” returns this:

Linux practice7.billgee.local 3.10.0-1160.15.2.el7.x86_64 #1 SMP Wed Feb 3 15:06:38 UTC 2021 x86_64 x86
_64 x86_64 GNU/Linux

This machine has an nVidia GS8400 and uses the nouveau driver. Its main job is to be a host for QEMU/KVM virtual machines. The QEMU packages on the host are:

[bgee@practice7 ~]$ rpm -qa | grep qemu qemu-kvm-1.5.3-175.el7_9.3.x86_64
qemu-guest-agent-2.12.0-3.el7.x86_64
qemu-kvm-common-1.5.3-175.el7_9.3.x86_64
qemu-img-1.5.3-175.el7_9.3.x86_64
libvirt-daemon-driver-qemu-4.5.0-36.el7_9.3.x86_64
ipxe-roms-qemu-20180825-3.git133f4c.el7.noarch

One of the guest VMs is Fedora 33. The guest comes up with a display resolution of 1024×768. I have not found a way to change it to something higher. If I go to the Settings – Display item in Fedora, there is a long list of resolutions. No matter what I choose, the system will switch to that resolution for about 1/2 second and then go back to 1024×768.

This happens when using VNC to connect remotely and also when running on the host computer. Resizing the guest display window does nothing except make big black borders around the guest display.

The guest video configuration in the virtual machine manager is set for “QXL”. In my searching I found several suggestions to use “virtio” instead. When I make that change and start the guest, it immediately throws an error:

“This QEMU does not support ‘virtio’ video device”

I also tried “vmvga” and “cirrus”. The cirrus setting does not resize and also loses coordination of the mouse pointer. The vmvga setting gives the same message about not being supported in this QEMU.

I verified that the spice-vdagent package is installed on the guest VM.

The virtual machine manager has “Resize guest with window” set to ON.

Just to make life really interesting… Another guest VM on the same host is running CentOS7. That machine happily resizes! It is set for QXL in the virtual machine manager.

I think I am just out of luck. I found some references which say that CentOS 7 does not have support for virtio displays. Is that right? Is there some way to resize the Fedora guest? I don’t care about dynamic sizing by dragging a window border. If I can choose something and have it stick, I would be happy.

Thanks!

5 thoughts on - Resizing A QEMU Guest Display

  • Have you tried to reach the VM via spice ?Also check if qemu’s guest agent is runningin the VM.

    Best Regards,Strahil Nikolov

  • Hi Strahil –

    How does one reach a guest via spice? I am not familiar with any remote access application called “spice”. I have tried two methods of accessing the host. First is to open it from the Virtual Machine Manager on the host. Second is to use TigerVNC to access it across the local network.

    I see a package installed on the guest which looks like the guest agent. Is there more that needs to be added? This is the only qemu package installed on both the Fedora machine that does not resize and the CentOS7 machine that will resize. The versions are way different between the two guests.

    [root@practice21a ~]# rpm -qa | grep qemu qemu-guest-agent-5.1.0-9.fc33.x86_64

    The Fedora guest has, as you see, version 5.1.0-9. The CentOS7 guest has version 2.12.0-3. Perhaps the Fedora guest version is too new to run on a CentOS7 host??

    I see other QEMU packages available.

  • I think the following is a good start:
    11.3. SPICE Agent Red Hat Enterprise Linux 7 | Red Hat Customer Portal
    |
    |
    |
    | | |

    |

    |
    |
    | |
    11.3. SPICE Agent Red Hat Enterprise Linux 7 | Red Hat Customer Portal

    The Red Hat Customer Portal delivers the knowledge, expertise, and guidance available through your Red Hat subscription.
    | |

    |

    |

    Best Regards,Strahil Nikolov

  • Hi Strahil –

    Thanks for the link. Unfortunately it is not helpful. The spice agent is already installed on the guest, and the spice channel is already configured.

    [bgee@practice21a ~]$ rpm -qa | grep spice spice-vdagent-0.20.0-3.fc33.x86_64

    A question occurs to me … The working guest also has both the spice-vdagent package and the spice channel. Why does it work and the other guest does not?

  • Have you restarted the service ?Yesterday I built a CentOS 7 system and spice didn’t resize untill I restarted the service. Best Regards,Strahil Nikolov