virtio-win / virtio-win-pkg-scripts

Scripts for packaging virtio-win drivers
GNU General Public License v2.0
2.03k stars 159 forks source link

virtio-win 0.1.185-1 broke spice/qxl automatic screen resizing #31

Closed rgl closed 4 years ago

rgl commented 4 years ago

The upgrade to virtio-win 0.1.185-1 (from virtio-win 0.1.173-9) broke the spice/QXL automatic screen resizing (e.g. when I resize the virt-viewer window the Windows VM guest screen no longer resizes with it).

I'm testing this on a Ubuntu 20.04 host (virt-viewer 7.0; virtual machine manager 2.2.1; libvirt 6.0.0; qemu 4.2) while running a Windows 2019 server (with this month cumulative updates).

The package/vagrant environment that I use to test this is at https://github.com/rgl/windows-vagrant. In concrete, in these lines:

crobinso commented 4 years ago

Thanks for the report. This repo is mostly just about stuffing the builds into ISO/RPM, not the actual code content. I think the qxl dod driver comes from here but that looks out of date https://github.com/vrozenfe/qxl-dod

@vrozenfe where should this bug be tracked?

vrozenfe commented 4 years ago

QXL is under Spice team control. I will ask Yuri to look into this issue.

ybendito commented 4 years ago

@rgl Screen resize is functionality of qxl-wddm-dod and spice agent (usually vdservice). What returns "sc query vdservice"? If you uninstall virtio-win 0.1.185-1 and install back virtio-win 0.1.173-9 does this fix the problem? @crobinso What is virtio-win 0.1.185-1 and what it contains, how it is related to qxl-wddm-dod? qxl-wddm-dod driver comes from gitlab spice project (this is upstream)

vrozenfe commented 4 years ago

@ybendito spice-qxl-wddm-dod-0.20-0

ybendito commented 4 years ago

@vrozenfe Where can I download these virtio-win packages?

rgl commented 4 years ago

@ybendito you can download at:

rgl commented 4 years ago

I might not being installing spice agent at all... the iso contains several files, from what I understood:

  1. virtio-win-gt-x64.msi: guest tools drivers
  2. qemu-ga-x86_64.msi: qemu agent
  3. virtio-win-guest-tools.exe: all-in-one-installer for virtio-win-gt-x64/x86.msi, qemu-ga-x86_64.msi, ovirt-guest-agent-x64/x86.msi, spice drivers, spice agent.

But I'm only installing 1 and 2... because 3 is broken with:

image

And fails to install with:

image

Is there any documentation on how to correctly install everything with virtio-win-guest-tools.exe without human intervention/silent mode?

Why aren't all the .msi files inside the .iso? some of them (e.g. spice) seem to only inside virtio-win-guest-tools.exe.

ybendito commented 4 years ago

Screen resize will never work without running vdservice regardless of the version of qxl-wddm-dod. When vdservice starts it tries to find the qxl-wddm-dod and waits some time for it, if does not succeed to communicate with it, it gets stopped. I've never saw it crashed, but it this happens due to some reason - this should be reported in Event Viewer - System. Also: vdservice requires virtio-serial driver and defined virtio-serial port "com.redhat.spice.0"

rgl commented 4 years ago

@ybendito, the problem was that the vdagent service was not being install at all. all the other stuff was in place :-)

the virtio-win-guest-tools.exe installer is supposed to install vdagent, but its currently broken with the error that I've displayed in the screenshot.

rgl commented 4 years ago

I've retried this with virtio-win 0.1.189-1 at https://github.com/rgl/windows-vagrant/blob/master/provision-guest-tools-qemu-kvm.ps1#L26-L36 and its now working as expected.

Thank You!