Cloning to qemu to ensure that qemu exposes something that libvirt can use to tell whether multi-head support is reliable. IRC conversation said that we should backport qemu's commit ddd8fdc7 to use qxl-vga.surfaces as the witness, instead of a hard-coded version check.
+++ This bug was initially created as a clone of Bug #896604 +++
Add support for a ram_size parameter similar to the current support for vram_size.
Rationale: To allow a compatible performance of a single pci device using the new multiple monitor support to the old multiple pci card solution, we need to be able to set the memory of the ram bar to larger then the default size. We can already do the same to the vram bar (second bar) because the support was added by:
2011-03-06 Osier Yang <email@example.com>
qemu: Support vram for video of qxl type
related: #894350 PRD32 - [RFE] qxl device should support multiple monitors
--- Additional comment from Eric Blake on 2013-01-22 16:35:10 MST ---
It turns out that backporting just this patch in isolation doesn't make sense; I'm instead working on backporting all the patches related to multi-monitor qxl support:
632c60e qemu: Detect VGA_QXL capability correctly
ed6fc41 tests: add one -device video device testcase
aa51202 qemu: use newer -device video device in qemu commandline
09938bb conf: add optional attribte primary to video <model> element
4c993d8 qemu: add qemu vga devices caps and one cap to mark them usable
--- Additional comment from Eric Blake on 2013-01-23 07:06:06 MST ---
Hmm, the upstream patches set a capability based solely on a version check:
+ if (version >= 1002000)
+ qemuCapsSet(caps, QEMU_CAPS_DEVICE_VIDEO_PRIMARY);
This series may need to include a RHEL-specific patch that scrapes some additional string out of -help output in order to set that capability even when targeting RHEL's 0.12.x version number.
--- Additional comment from Eric Blake on 2013-03-06 15:09:34 MST ---
Although the bulk of this patch is picked up by rebasing, we need a RHEL-only patch to round it out:
--- Additional comment from Eric Blake on 2013-03-13 08:08:46 MDT ---
Moving back to assigned - based on discussion on 915352, upstream libvirt should be probing for qxl-vga.surfaces instead of a hard-coded version check for 1.2; we should backport that patch instead of a RHEL-specific patch. Meanwhile, I will clone this back to qemu, to make sure RHEL qemu exposes qxl-vga.surfaces.
updating to 6.5, removing ZStream flag.
and putting the ZStream flag back in. Sorry for the noise.
Just try reproduce this bug on qemu-kvm-rhev-0.12.1.2-2.356.el6_4.2.x86_64 by:
/usr/libexec/qemu-kvm -vga qxl -monitor stdio -global qxl-vga.vram_size=134217728 -global qxl-vga.ram_size=134217728
and got the memory values large the default size
dev: qxl-vga, id ""
dev-prop: ram_size = 134217728
dev-prop: vram_size = 134217728
Is this a correct way to validate this bug? if not, please correct me, thanks!
Is this patch will get qxl-vga.surfaces by execute "info qtree"? if so we'll change the flags qa-ack+, if not, could you please tell me how to verify it, thanks.
This bug is liable to be CLOSED WONTFIX. Discussions about whether libvirt needs a distinguishing feature have pointed out that libvirt is already able to set ram_size. The only thing libvirt was unable to do was to distinguish between '-vga qxl' and '-device qxl-vga'; where I had mistakenly thought that distinguishing the presence of qxl-vga.surfaces would be a reliable witness for that fact. But it turns out that '-device qxl-vga' is unusable in RHEL 6, and that this is NOT a good witness for that fact, so there is probably no justifiable reason for doing this backport, after all.
The original goal of supporting libvirt is no longer relevant, and no one else has spoken up with a reason why this is needed in RHEL 6. Closing as WONTFIX.