Bug 1075798

Summary: [RFE] Configure for Spice number of "heads" in Linux guests
Product: Red Hat Enterprise Virtualization Manager Reporter: Marc-Andre Lureau <marcandre.lureau>
Component: ovirt-engineAssignee: Nobody <nobody>
Status: CLOSED WONTFIX QA Contact: meital avital <mavital>
Severity: low Docs Contact:
Priority: high    
Version: unspecifiedCC: bsanford, cfergeau, dblechte, fjin, lpeer, lsurette, marcandre.lureau, mgoldboi, michal.skrivanek, mtessun, Rhev-m-bugs, spower, srevivo, vipatel, xiaodwan
Target Milestone: ---Keywords: FutureFeature
Target Release: ---Flags: sherold: Triaged+
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-01-03 12:49:56 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Virt RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1283198, 1283202, 1283207    
Bug Blocks:    

Description Marc-Andre Lureau 2014-03-12 20:22:06 UTC
Description of problem:
By default, a Linux guest with QXL driver will have up to 4 monitors per device.
It would eventually useful to be able to configure this value from libvirt.

libvirt domain already has a "heads" setting for video device, which isn't used by qemu.

kernel drm/kvm driver has a qxl.num_heads property

On RHEL6 / xf86-qxl driver, you can configure:
    #Option "NumHeads" "4"
 

What is needed is to connect the dots,
- (new num_heads field in spice-protocol QXLRom)
- qemu num_heads option for qxl device (bump revision etc)
- libvirt to pass the num_heads config to qemu
- kernel/drm to read rom value
- eventually, xf86-qxl to read it too
- eventually, ovirt to use num_heads for Linux guests?

Comment 1 Marc-Andre Lureau 2014-03-12 20:23:00 UTC
*** Bug 1038822 has been marked as a duplicate of this bug. ***

Comment 2 Michal Skrivanek 2014-03-25 09:12:11 UTC
hm, can you open respective bugs on other missing components? oVirt does send the num_heads for single QXL device to libvirt...

Comment 3 Marc-Andre Lureau 2014-03-25 10:00:21 UTC
(In reply to Michal Skrivanek from comment #2)
> hm, can you open respective bugs on other missing components? oVirt does
> send the num_heads for single QXL device to libvirt...

oh nice, I haven't checked the status of all the components, but mostly libvirt/qxl.

I'd prefer to wait until we get a parent ack here in the RFE before opening more bugs (that could just become noise, if we decide to solve this differently).

Comment 4 Michal Skrivanek 2014-04-03 08:11:01 UTC
need follow-up bugs on QEMU, libvirt, spice-server, possibly spice-client

Comment 6 Bill Sanford 2014-10-30 15:50:31 UTC
*** Bug 1158634 has been marked as a duplicate of this bug. ***

Comment 7 Bill Sanford 2014-11-10 13:40:17 UTC
*** Bug 1158619 has been marked as a duplicate of this bug. ***

Comment 8 Michal Skrivanek 2015-06-05 13:19:49 UTC
still want to consider this "soon"

Comment 9 Anand Nande 2015-06-11 10:12:29 UTC
(In reply to Michal Skrivanek from comment #4)
> need follow-up bugs on QEMU, libvirt, spice-server, possibly spice-client

Michal, are the bugs already filled OR Do we want to keep this BZ still open ? OR let me know - I can file them.

Comment 10 Frediano Ziglio 2015-06-12 14:38:54 UTC
Mostly done. Actually there are 3 component changed:
- spice-server to allow to limit heads from guest to client. This will make client consider no more than the limit;
- qemu. Accept a new "max_outputs" (to be consistent with virtio-gpu) parameter and pass to spice-server. Also limit the head count passed from client to guest;
- libvirt. To consider XML heads attribute and pass to qemu. Also have to detect if Qemu support the new option.

spice-server thread: http://lists.freedesktop.org/archives/spice-devel/2015-June/020293.html
qemu thread: http://lists.nongnu.org/archive/html/qemu-devel/2015-06/msg03355.html
libvirt thread: https://www.redhat.com/archives/libvir-list/2015-June/msg00565.html

Comment 11 Frediano Ziglio 2015-07-13 12:27:33 UTC
Waiting patches to be accepted then I'll start opening bugs for integration in RH products.

Comment 12 Frediano Ziglio 2015-07-17 06:07:06 UTC
Qemu patch was merged yesterday in 2.4.0-rc1.

Comment 13 Frediano Ziglio 2015-07-20 15:29:02 UTC
All patches applied. Only a small problem (function name was wrong) with Qemu.

Comment 14 Frediano Ziglio 2015-07-23 13:17:31 UTC
Qemu applied patch to fix the issue in 2.4.0-rc2.
libvirt patch was backed off as it cause a regression due to a bug in libvirt which added heads=1 option in XML file automatically not taking into account that this option was ignored by qemu backend.

Comment 15 Moran Goldboim 2016-03-24 10:44:11 UTC
postponing to 4.1 due to dependency in platform bugs targeted for 7.3

Comment 16 Yaniv Kaul 2016-10-23 07:17:10 UTC
(In reply to Moran Goldboim from comment #15)
> postponing to 4.1 due to dependency in platform bugs targeted for 7.3

Dep bugs were moved to 7.4, moving out of 4.1 scope to future.

Comment 19 spower 2018-07-03 10:51:55 UTC
We agreed to remove RFEs component from Bugzilla, if you feel the component has been renamed incorrectly please reach out.

Comment 21 Ryan Barry 2019-01-03 12:49:56 UTC
This will not be addressed in a reasonable timeframe. Please re-open if it's still important.