On 11/10/2014 08:44 AM, Martin Kletzander wrote:
On Mon, Nov 03, 2014 at 02:01:46PM +0100, Pavel Hrdina wrote:
> This patch series fixes few issues with vram and ram attributes for video
> devices and introduces new vgamem attribute to allow setting up video
> memory
> size for QEMU video devices.
>
Well, we have 'vram' (old, always meant the size of the VGA memory),
then 'ram', that can be used only for 'qxl' (I don't quite
understand
why we didn't just use the same value as 'vram', I doubt anyone is
using the parameter for what it was designed (secondary PCI BAR size,
was it?). Adding yet another attribute that tries to control the same
parameter seems cumbersome. Going over the documentation and patches,
this does not really cope with what libvirt tries to do. Using
different attribute names depending on video model, and even
hypervisor, does remove the abstraction we're trying to preserve in
libvirt.
Does "ram" attribute do anything for qxl device? Can't we just use
the attributes we have in XML and apply them properly to the devices
whilst preserving the abstraction?
Martin
I've finally found some information how the ram_size_mb, vram_size_mb
and vgamem_mb works together. The ram_size_mb depends on vgamem_mb
because it has to be at leas twice more than vgamem_mb and the vgamem_mb
sets the VGA framebuffer size. The ram_size_mb sets the size of vga ram
memory. The vram_size_mb sets the memory size to be used for an
offscreen surfaces.
This means that only for QXL we've been able to set the video memory
size properly. The vram attribute in our XML is correctly used to set
the vram_size parameter and this sets secondary RAM size which is used
for non-VGA mode if the guest has correct drivers. The VGA part of QXL
is only as fallback before the guest loads the QXL video drivers or if
the guest doesn't have one.
I'll send v2.
Pavel