Bug 728174 - [RFE] Win32 QXL driver will not activate if QEMU has set multifunction=on for device
Summary: [RFE] Win32 QXL driver will not activate if QEMU has set multifunction=on for...
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: spice-qxl-xddm
Version: ---
Hardware: Unspecified
OS: Unspecified
low
low
Target Milestone: rc
: ---
Assignee: David Blechter
QA Contact: SPICE QE bug list
URL:
Whiteboard: spice
Depends On: 738388
Blocks: 727530
TreeView+ depends on / blocked
 
Reported: 2011-08-04 09:48 UTC by Daniel Berrangé
Modified: 2019-10-10 13:41 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-08-21 17:50:30 UTC
Type: ---
Target Upstream Version:


Attachments (Terms of Use)

Description Daniel Berrangé 2011-08-04 09:48:52 UTC
Description of problem:
With current RHEL-6.2 builds, libvirt sets the multifunction=on parameter for all PCI devices. This causes QEMU to set

  QEMU_PCI_CAP_MULTIFUNCTION_BITNR

in the 'caps_present' field of the PCI device capabilities. When this is set for any QXL device, the Windows QXL driver will fail to activate the device returning a 'Code 10' error. Google suggests this error usually means the driver failed to find the device.

cf this thread

  http://post-office.corp.redhat.com/archives/spice-list/2011-July/msg00106.html

Best guess is that this is a bug in the Win32 QXL driver, but there's of course a possibility that its a bug in the QEMU host side QXL driver instead.

Version-Release number of selected component (if applicable):
QXL driver version 4.5.52942.0, date 5/16/2011

How reproducible:
Always

Steps to Reproduce:
1. Start a QEMU binary with a WinXP guest and QXL driver installed, adding 2 extra heads:

-device qxl,id=video1,vram_size=33554432,bus=pci.0,multifunction=on,addr=0x6.0x0'
-device qxl,id=video2,vram_size=33554432,bus=pci.0,multifunction=off,addr=0x7.0x0'


2. Attempt to activate the additional QXL devices in the Windows XP guest
3.
  
Actual results:
Only the device with 'multifunction=off' will be able to start

Expected results:
 Both extra displays start

Additional info:

Comment 3 Daniel Berrangé 2011-09-02 15:16:54 UTC
> With current RHEL-6.2 builds, libvirt sets the multifunction=on parameter for
> all PCI devices.

This is actually incorrect. While libvirt in 6.2 has support for multifunction, it won't actually enable it since the RHEL6.2 KVM binary is too old.

So while, there is clearly a bug in QXL somewhere, it should not impact guests on a RHEL6.2 host, only Fedora 15+ hosts and future RHEL6.3 if multifunction is backported.

Comment 4 Andrew Cathrow 2011-09-02 15:25:47 UTC
Moving to RHEVM-future (3.1) we need to fix this upstream and then -> rhel6.3

Comment 5 David Blechter 2011-09-02 16:43:12 UTC
set devel_ack? will review at the time the milestone will be set

Comment 7 FuXiangChun 2013-07-01 15:14:54 UTC
command line script name is cli-905851, I have attached to attachment.

Comment 8 FuXiangChun 2013-07-01 15:15:41 UTC
sorry,ignore comment 7

Comment 9 David Blechter 2014-02-11 23:20:04 UTC
no plans for whql qxl driver in 3.4, moving to the future releases

Comment 12 Sandy Stutsman 2015-08-21 17:50:30 UTC
The qxl driver is not a pci multifunction device and can't support the multifunction=on setting.


Note You need to log in before you can comment on or make changes to this bug.