Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

qxldod device removed by virtio-win-gt-x64.msi #31

Open
kevinoid opened this issue Jan 13, 2022 · 6 comments
Open

qxldod device removed by virtio-win-gt-x64.msi #31

kevinoid opened this issue Jan 13, 2022 · 6 comments

Comments

@kevinoid
Copy link

On a VM with a QXL video device (and without a virtio-gpu device) running Windows 10.0.19043.1466 with qxldod.sys 10.0.0.21000 from QxlWddmDod_0.21.0.0_x64.msi, if viogpudo is selected when running virtio-win-gt-x64.msi from virtio-win-0.1.215-1, as it is by default, the "Red Hat QXL controller" display adapter with qxldod.sys is replaced by "Microsoft Basic Display Adapter" with BasicDisplay.sys. Is this the expected behavior?

In retrospect it makes some sense, given viogpudo is likely incompatible with qxldod. If this is the case, perhaps a warning would be appropriate?

Thanks,
Kevin

@vrozenfe
Copy link
Contributor

virtio-gpu device can be running in vga mode. This is the default mode unless virtio-gpu device is explicitly switched to virtio-gpu mode. When virtio-qpu device in VGA mode it is fully compatible with VGA spec and capable to work under contol of the in-box BDD driver provided by Microsoft.

Best,
Vadim.

@kevinoid
Copy link
Author

Neat! That's a great feature to have.

To clarify, the virtual machine is configured with a QXL device rather than a virtio-gpu device:

<video>
  <model type="qxl" ram="65536" vram="65536" vgamem="16384" heads="1" primary="yes"/>
  <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x0"/>
</video>

Should the installer remove the qxldod.sys driver for this device? (Or is it indistinguishable from a virtio-gpu device?)

@vrozenfe
Copy link
Contributor

Both qxl and virtio-qpu devices have different hardware ids. So, the installer cannot install viogpudo.sys driver on top of qxl device.
But installer can install virtio-gpu driver for the future usage (so-called software-first installation) even if the virtio-gpu device is not present in the system at the moment. In this case, if you decided to switch from qxl to virtio-gpu later, there is need in running the installer again, because the relevant driver is already pre-installed in the system.

@kevinoid
Copy link
Author

Thanks for the detailed explanation @vrozenfe! That makes a lot of sense and sounds like a great feature.

So we are agreed that the installer removing the qxldod.sys driver from the QXL device is a bug? Is there anything else I can do to help debug?

@vrozenfe
Copy link
Contributor

Just to confirm with you.

  • you have a system equipped with qxl device and qxldod driver installed.
  • you run the latest virtio-win installer with viogpu dod driver selected to be installed on the system.
  • as the result the qxldod driver was removed or disabled and in-box BDD driver was activated instead.

If this is the case, please post the qemu command line. We need to ask QE to reproduce this issue.

Best,
Vadim.

@kevinoid
Copy link
Author

That's correct. Unfortunately, after several attempts, I'm not able to reproduce the issue in a fresh VM. It may require installing a version of the virtio-drivers Chocolatey package, which I had previously used, or a particular installation order, or something else.

I do have a snapshot of the affected machine on which I can reliably reproduce the issue. If there's anything I can do to investigate further, let me know. Otherwise, feel free to close.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants