
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