[HOME] [DOWNLOAD] [DOCS] [NEWS] [SUPPORT] [TIPS] [ISSUES] [DONATE]

No auto-resize with QXL driver

#1

When the “Auto resize VM with window” option is checked, the VM window becomes unresponsive. My host’s DE is Cinnamon. I have all the necessary spice packages installed * services running on the host and the VMs. Interestingly, when I use the Cirrus video driver, all runs fine.

Apparently the Cirrus driver is quite dated and buggy, but I am yet to encounter any issues. Is it also outdated with regard to security as well or can I continue to use it instead of QXL?

#2

You must never use any other drivers except QXL/SPICE (or virGL if 3D is needed). The rest have crappy performance and long standing security issues.

Recently one of our users discovered that xfce resolution settings can survive reboots. Test them out and pick a resolution that works for your screen and take a snapshot after to preserve it. Unfortunately not all resolutions work for all screen dimensions so its something you must try and choose.

#3

Yes, I disliked KVM because of low-resolution problems, as I expected an auto-resize behavior as in VirtualBox, until I found out that you can adjust the setting in the VM, at least with XFCE, and it will survive reboot.
Very simple: Whisker Menu -> display -> change Resolution to 1920x1080
Then you can go full screen for a seamless desktop experience.
Works 100% on all my machines (desktop and laptop). Using it as I write.

The resolution is then hard-coded in this file (again, with XFCE, don’t know how it works with other DE):
.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml

  <?xml version="1.0" encoding="UTF-8"?>
    <channel name="displays" version="1.0">
      <property name="Default" type="empty">
        <property name="Virtual-0" type="string" value="Virtual-0">
          <property name="Active" type="bool" value="true"/>
          <property name="Resolution" type="string" value="1920x1080"/>
          <property name="RefreshRate" type="double" value="59.962844"/>
          <property name="Rotation" type="int" value="0"/>
          <property name="Reflection" type="string" value="0"/>
          <property name="Primary" type="bool" value="true"/>
          <property name="Position" type="empty">
            <property name="X" type="int" value="0"/>
            <property name="Y" type="int" value="0"/>
          </property>
        </property>
      </property>
    </channel>

See also:

1 Like
#4

Instructions updated:

Thanks for finding a workaround @onion_knight!