video: cleanup usage of vram attribute and update documentation

The vram attribute was introduced to set the video memory but it is
usable only for few hypervisors excluding QEMU/KVM and the old XEN
driver. Only in case of QEMU the vram was used for QXL.

This patch updates the documentation to reflect current code in libvirt
and also changes the cases when we will set the default vram attribute.
It also fixes existing strange default value for VGA devices 9MB to 16MB
because the video ram should be rounded to power of two.

The change of default value could affect migrations but I found out that
QEMU always round the video ram to power of two internally so it's safe
to change the default value to the next closest power of two and also
silently correct every domain XML definition. And it's also safe because
we don't pass the value to QEMU.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1076098

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
Pavel Hrdina 2014-11-24 11:58:53 +01:00
parent ff28ebf136
commit 81ba2298b2
43 changed files with 103 additions and 75 deletions

View File

@ -4679,7 +4679,7 @@ qemu-kvm -net nic,model=? /dev/null
... ...
&lt;devices&gt; &lt;devices&gt;
&lt;video&gt; &lt;video&gt;
&lt;model type='vga' vram='8192' heads='1'&gt; &lt;model type='vga' vram='16384' heads='1'&gt;
&lt;acceleration accel3d='yes' accel2d='yes'/&gt; &lt;acceleration accel3d='yes' accel2d='yes'/&gt;
&lt;/model&gt; &lt;/model&gt;
&lt;/video&gt; &lt;/video&gt;
@ -4689,33 +4689,51 @@ qemu-kvm -net nic,model=? /dev/null
<dl> <dl>
<dt><code>video</code></dt> <dt><code>video</code></dt>
<dd> <dd>
The <code>video</code> element is the container for describing <p>
video devices. For backwards compatibility, if no <code>video</code> The <code>video</code> element is the container for describing
is set but there is a <code>graphics</code> in domain xml, then libvirt video devices. For backwards compatibility, if no <code>video</code>
will add a default <code>video</code> according to the guest type. is set but there is a <code>graphics</code> in domain xml, then
For a guest of type "kvm", the default <code>video</code> for it is: libvirt will add a default <code>video</code> according to the guest
<code>type</code> with value "cirrus", <code>vram</code> with value type.
"9216", and <code>heads</code> with value "1". By default, the first </p>
video device in domain xml is the primary one, but the optional <p>
attribute <code>primary</code> (<span class="since">since 1.0.2</span>) For a guest of type "kvm", the default <code>video</code> is:
with value 'yes' can be used to mark the primary in cases of multiple <code>type</code> with value "cirrus", <code>vram</code> with value
video device. The non-primary must be type of "qxl". The optional "16384" and <code>heads</code> with value "1". By default, the first
attribute <code>ram</code> (<span class="since">since video device in domain xml is the primary one, but the optional
1.0.2</span>) is allowed for "qxl" type only and specifies attribute <code>primary</code> (<span class="since">since 1.0.2</span>)
the size of the primary bar, while <code>vram</code> specifies the with value 'yes' can be used to mark the primary in cases of multiple
secondary bar size. If "ram" or "vram" are not supplied a default video device. The non-primary must be type of "qxl".
value is used. </p>
</dd> </dd>
<dt><code>model</code></dt> <dt><code>model</code></dt>
<dd> <dd>
The <code>model</code> element has a mandatory <code>type</code> <p>
attribute which takes the value "vga", "cirrus", "vmvga", "xen", The <code>model</code> element has a mandatory <code>type</code>
"vbox", or "qxl" (<span class="since">since 0.8.6</span>) attribute which takes the value "vga", "cirrus", "vmvga", "xen",
depending on the hypervisor features available. "vbox", or "qxl" (<span class="since">since 0.8.6</span>) depending
You can also provide the amount of video memory in kibibytes on the hypervisor features available.
(blocks of 1024 bytes) using </p>
<code>vram</code> and the number of screen with <code>heads</code>. <p>
You can provide the amount of video memory in kibibytes (blocks of
1024 bytes) using <code>vram</code>. This is supported only for guest
type of "libxl", "parallels", "qemu", "vbox", "vmx" and "xen". If no
value is provided the default is used. If the size is not a power of
two it will be rounded to closest one.
</p>
<p>
The number of screen can be set using <code>heads</code>. This is
supported only for guests type of "parallels", "kvm", "vbox" and "vmx".
</p>
<p>
For guest type of kvm the optional attribute <code>ram</code>
(<span class="since">since 1.0.2</span>) is allowed for "qxl" type
only and specifies the size of the primary bar, while the optional
attribute <code>vram</code> specifies the secondary bar size.
If "ram" or "vram" are not supplied a default value is used. The ram
should also be rounded to power of two as vram.
</p>
</dd> </dd>
<dt><code>acceleration</code></dt> <dt><code>acceleration</code></dt>

View File

@ -3189,6 +3189,12 @@ virDomainDeviceDefPostParseInternal(virDomainDeviceDefPtr dev,
} }
} }
if (dev->type == VIR_DOMAIN_DEVICE_VIDEO) {
virDomainVideoDefPtr video = dev->data.video;
video->ram = VIR_ROUND_UP_POWER_OF_TWO(video->ram);
video->vram = VIR_ROUND_UP_POWER_OF_TWO(video->vram);
}
return 0; return 0;
} }
@ -10147,16 +10153,15 @@ virSysinfoParseXML(xmlNodePtr node,
goto cleanup; goto cleanup;
} }
int unsigned int
virDomainVideoDefaultRAM(const virDomainDef *def, virDomainVideoDefaultRAM(const virDomainDef *def,
int type) const virDomainVideoType type)
{ {
/* Defer setting default vram to the Xen drivers */ /* Defer setting default vram to the Xen drivers */
if (def->virtType == VIR_DOMAIN_VIRT_XEN) if (def->virtType == VIR_DOMAIN_VIRT_XEN)
return 0; return 0;
switch (type) { switch (type) {
/* Weird, QEMU defaults to 9 MB ??! */
case VIR_DOMAIN_VIDEO_TYPE_VGA: case VIR_DOMAIN_VIDEO_TYPE_VGA:
case VIR_DOMAIN_VIDEO_TYPE_CIRRUS: case VIR_DOMAIN_VIDEO_TYPE_CIRRUS:
case VIR_DOMAIN_VIDEO_TYPE_VMVGA: case VIR_DOMAIN_VIDEO_TYPE_VMVGA:
@ -10165,7 +10170,7 @@ virDomainVideoDefaultRAM(const virDomainDef *def,
else if (def->virtType == VIR_DOMAIN_VIRT_VMWARE) else if (def->virtType == VIR_DOMAIN_VIRT_VMWARE)
return 4 * 1024; return 4 * 1024;
else else
return 9 * 1024; return 16 * 1024;
break; break;
case VIR_DOMAIN_VIDEO_TYPE_XEN: case VIR_DOMAIN_VIDEO_TYPE_XEN:
@ -10326,7 +10331,7 @@ virDomainVideoDefParseXML(xmlNodePtr node,
if (vram) { if (vram) {
if (virStrToLong_ui(vram, NULL, 10, &def->vram) < 0) { if (virStrToLong_ui(vram, NULL, 10, &def->vram) < 0) {
virReportError(VIR_ERR_XML_ERROR, virReportError(VIR_ERR_XML_ERROR,
_("cannot parse video ram '%s'"), vram); _("cannot parse video vram '%s'"), vram);
goto error; goto error;
} }
} else { } else {

View File

@ -2628,7 +2628,8 @@ int virDomainFSIndexByName(virDomainDefPtr def, const char *name);
virDomainFSDefPtr virDomainFSRemove(virDomainDefPtr def, size_t i); virDomainFSDefPtr virDomainFSRemove(virDomainDefPtr def, size_t i);
int virDomainVideoDefaultType(const virDomainDef *def); int virDomainVideoDefaultType(const virDomainDef *def);
int virDomainVideoDefaultRAM(const virDomainDef *def, int type); unsigned int virDomainVideoDefaultRAM(const virDomainDef *def,
const virDomainVideoType type);
int virDomainObjListNumOfDomains(virDomainObjListPtr doms, int virDomainObjListNumOfDomains(virDomainObjListPtr doms,
bool active, bool active,

View File

@ -4902,11 +4902,15 @@ qemuBuildDeviceVideoStr(virDomainDefPtr def,
goto error; goto error;
} }
/* QEMU accepts bytes for ram_size. */ if (video->ram) {
virBufferAsprintf(&buf, ",ram_size=%u", video->ram * 1024); /* QEMU accepts bytes for ram_size. */
virBufferAsprintf(&buf, ",ram_size=%u", video->ram * 1024);
}
/* QEMU accepts bytes for vram_size. */ if (video->vram) {
virBufferAsprintf(&buf, ",vram_size=%u", video->vram * 1024); /* QEMU accepts bytes for vram_size. */
virBufferAsprintf(&buf, ",vram_size=%u", video->vram * 1024);
}
} }
if (qemuBuildDeviceAddressStr(&buf, def, &video->info, qemuCaps) < 0) if (qemuBuildDeviceAddressStr(&buf, def, &video->info, qemuCaps) < 0)
@ -9213,8 +9217,8 @@ qemuBuildCommandLine(virConnectPtr conn,
virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) { virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) {
const char *dev = (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_QXL_VGA) const char *dev = (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_QXL_VGA)
? "qxl-vga" : "qxl"); ? "qxl-vga" : "qxl");
int ram = def->videos[0]->ram; unsigned int ram = def->videos[0]->ram;
int vram = def->videos[0]->vram; unsigned int vram = def->videos[0]->vram;
if (vram > (UINT_MAX / 1024)) { if (vram > (UINT_MAX / 1024)) {
virReportError(VIR_ERR_OVERFLOW, virReportError(VIR_ERR_OVERFLOW,

View File

@ -358,7 +358,7 @@ xenDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
case VIR_DOMAIN_VIDEO_TYPE_VGA: case VIR_DOMAIN_VIDEO_TYPE_VGA:
case VIR_DOMAIN_VIDEO_TYPE_CIRRUS: case VIR_DOMAIN_VIDEO_TYPE_CIRRUS:
case VIR_DOMAIN_VIDEO_TYPE_VMVGA: case VIR_DOMAIN_VIDEO_TYPE_VMVGA:
dev->data.video->vram = 9 * 1024; dev->data.video->vram = 16 * 1024;
break; break;
case VIR_DOMAIN_VIDEO_TYPE_XEN: case VIR_DOMAIN_VIDEO_TYPE_XEN:

View File

@ -91,7 +91,7 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</sound> </sound>
<video> <video>
<model type='cirrus' vram='9216' heads='1'/> <model type='cirrus' vram='16384' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video> </video>
<memballoon model='virtio'> <memballoon model='virtio'>

View File

@ -88,7 +88,7 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</sound> </sound>
<video> <video>
<model type='cirrus' vram='9216' heads='1'/> <model type='cirrus' vram='16384' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video> </video>
<memballoon model='virtio'> <memballoon model='virtio'>

View File

@ -73,7 +73,7 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</sound> </sound>
<video> <video>
<model type='cirrus' vram='9216' heads='1'/> <model type='cirrus' vram='16384' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video> </video>
<hostdev mode='subsystem' type='usb' managed='yes'> <hostdev mode='subsystem' type='usb' managed='yes'>

View File

@ -28,7 +28,7 @@
<listen type='network' network='Bobsnetwork'/> <listen type='network' network='Bobsnetwork'/>
</graphics> </graphics>
<video> <video>
<model type='cirrus' vram='9216' heads='1'/> <model type='cirrus' vram='16384' heads='1'/>
</video> </video>
<memballoon model='virtio'/> <memballoon model='virtio'/>
</devices> </devices>

View File

@ -28,7 +28,7 @@
<listen type='network' network='Bobsnetwork'/> <listen type='network' network='Bobsnetwork'/>
</graphics> </graphics>
<video> <video>
<model type='cirrus' vram='9216' heads='1'/> <model type='cirrus' vram='16384' heads='1'/>
</video> </video>
<memballoon model='virtio'/> <memballoon model='virtio'/>
</devices> </devices>

View File

@ -27,7 +27,7 @@
<input type='keyboard' bus='ps2'/> <input type='keyboard' bus='ps2'/>
<graphics type='sdl' display=':0.1' xauth='/root/.Xauthority' fullscreen='yes'/> <graphics type='sdl' display=':0.1' xauth='/root/.Xauthority' fullscreen='yes'/>
<video> <video>
<model type='cirrus' vram='9216' heads='1'/> <model type='cirrus' vram='16384' heads='1'/>
</video> </video>
<memballoon model='none'/> <memballoon model='none'/>
</devices> </devices>

View File

@ -27,7 +27,7 @@
<input type='keyboard' bus='ps2'/> <input type='keyboard' bus='ps2'/>
<graphics type='sdl' display=':0.1' xauth='/root/.Xauthority'/> <graphics type='sdl' display=':0.1' xauth='/root/.Xauthority'/>
<video> <video>
<model type='vga' vram='9216' heads='1'/> <model type='vga' vram='16384' heads='1'/>
</video> </video>
<memballoon model='none'/> <memballoon model='none'/>
</devices> </devices>

View File

@ -32,7 +32,7 @@
<address type='virtio-serial' controller='1' bus='0' port='3'/> <address type='virtio-serial' controller='1' bus='0' port='3'/>
</channel> </channel>
<video> <video>
<model type='cirrus' vram='9216' heads='1'/> <model type='cirrus' vram='16384' heads='1'/>
</video> </video>
<memballoon model='virtio'/> <memballoon model='virtio'/>
</devices> </devices>

View File

@ -6,6 +6,6 @@ x509-dir=/etc/pki/libvirt-spice,\
image-compression=auto_glz,jpeg-wan-compression=auto,\ image-compression=auto_glz,jpeg-wan-compression=auto,\
zlib-glz-wan-compression=auto,\ zlib-glz-wan-compression=auto,\
playback-compression=on,streaming-video=filter -vga \ playback-compression=on,streaming-video=filter -vga \
qxl -global qxl.ram_size=67108864 -global qxl.vram_size=18874368 \ qxl -global qxl.ram_size=67108864 -global qxl.vram_size=33554432 \
-device qxl,id=video1,ram_size=67108864,vram_size=33554432,bus=pci.0,addr=0x4 \ -device qxl,id=video1,ram_size=67108864,vram_size=33554432,bus=pci.0,addr=0x4 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3

View File

@ -33,7 +33,7 @@
<streaming mode='filter'/> <streaming mode='filter'/>
</graphics> </graphics>
<video> <video>
<model type='qxl' ram='65536' vram='18432' heads='1'/> <model type='qxl' ram='65536' vram='32768' heads='1'/>
</video> </video>
<video> <video>
<model type='qxl' ram='65536' vram='32768' heads='1'/> <model type='qxl' ram='65536' vram='32768' heads='1'/>

View File

@ -6,4 +6,4 @@ SASL_CONF_PATH=/root/.sasl2 QEMU_AUDIO_DRV=spice \
-spice port=5903,tls-port=5904,sasl,addr=127.0.0.1,\ -spice port=5903,tls-port=5904,sasl,addr=127.0.0.1,\
x509-dir=/etc/pki/libvirt-spice,tls-channel=default \ x509-dir=/etc/pki/libvirt-spice,tls-channel=default \
-vga qxl -global qxl.ram_size=67108864 -global \ -vga qxl -global qxl.ram_size=67108864 -global \
qxl.vram_size=18874368 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 qxl.vram_size=33554432 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3

View File

@ -28,7 +28,7 @@
<listen type='address' address='127.0.0.1'/> <listen type='address' address='127.0.0.1'/>
</graphics> </graphics>
<video> <video>
<model type='qxl' ram='65536' vram='18432' heads='1'/> <model type='qxl' ram='65536' vram='32768' heads='1'/>
</video> </video>
<memballoon model='virtio'/> <memballoon model='virtio'/>
</devices> </devices>

View File

@ -77,7 +77,7 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</sound> </sound>
<video> <video>
<model type='vga' vram='9216' heads='1'/> <model type='vga' vram='16384' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video> </video>
<memballoon model='virtio'> <memballoon model='virtio'>

View File

@ -8,6 +8,6 @@ image-compression=auto_glz,jpeg-wan-compression=auto,\
zlib-glz-wan-compression=auto,\ zlib-glz-wan-compression=auto,\
playback-compression=on,streaming-video=filter,disable-copy-paste,\ playback-compression=on,streaming-video=filter,disable-copy-paste,\
disable-agent-file-xfer -vga qxl -global qxl.ram_size=67108864 \ disable-agent-file-xfer -vga qxl -global qxl.ram_size=67108864 \
-global qxl.vram_size=18874368 \ -global qxl.vram_size=33554432 \
-device qxl,id=video1,ram_size=67108864,vram_size=33554432,bus=pci.0,addr=0x4 \ -device qxl,id=video1,ram_size=67108864,vram_size=33554432,bus=pci.0,addr=0x4 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3

View File

@ -37,7 +37,7 @@
<filetransfer enable='no'/> <filetransfer enable='no'/>
</graphics> </graphics>
<video> <video>
<model type='qxl' ram='65536' vram='18432' heads='1'/> <model type='qxl' ram='65536' vram='32768' heads='1'/>
</video> </video>
<video> <video>
<model type='qxl' ram='65536' vram='32768' heads='1'/> <model type='qxl' ram='65536' vram='32768' heads='1'/>

View File

@ -29,7 +29,7 @@
<listen type='address' address='127.0.0.1'/> <listen type='address' address='127.0.0.1'/>
</graphics> </graphics>
<video> <video>
<model type='cirrus' vram='9216' heads='1'/> <model type='cirrus' vram='16384' heads='1'/>
</video> </video>
<memballoon model='none'/> <memballoon model='none'/>
</devices> </devices>

View File

@ -29,7 +29,7 @@
<listen type='address' address='127.0.0.1'/> <listen type='address' address='127.0.0.1'/>
</graphics> </graphics>
<video> <video>
<model type='cirrus' vram='9216' heads='1'/> <model type='cirrus' vram='16384' heads='1'/>
</video> </video>
<memballoon model='none'/> <memballoon model='none'/>
</devices> </devices>

View File

@ -27,7 +27,7 @@
<input type='keyboard' bus='ps2'/> <input type='keyboard' bus='ps2'/>
<graphics type='vnc' socket='/tmp/foo.socket'/> <graphics type='vnc' socket='/tmp/foo.socket'/>
<video> <video>
<model type='cirrus' vram='9216' heads='1'/> <model type='cirrus' vram='16384' heads='1'/>
</video> </video>
<memballoon model='none'/> <memballoon model='none'/>
</devices> </devices>

View File

@ -29,7 +29,7 @@
<listen type='address' address='127.0.0.1'/> <listen type='address' address='127.0.0.1'/>
</graphics> </graphics>
<video> <video>
<model type='cirrus' vram='9216' heads='1'/> <model type='cirrus' vram='16384' heads='1'/>
</video> </video>
<memballoon model='none'/> <memballoon model='none'/>
</devices> </devices>

View File

@ -22,7 +22,7 @@
<listen type='address' address='127.0.0.1'/> <listen type='address' address='127.0.0.1'/>
</graphics> </graphics>
<video> <video>
<model type='cirrus' vram='9216' heads='1'/> <model type='cirrus' vram='16384' heads='1'/>
</video> </video>
<memballoon model='none'/> <memballoon model='none'/>
</devices> </devices>

View File

@ -29,7 +29,7 @@
<listen type='address' address='2001:1:2:3:4:5:1234:1234'/> <listen type='address' address='2001:1:2:3:4:5:1234:1234'/>
</graphics> </graphics>
<video> <video>
<model type='cirrus' vram='9216' heads='1'/> <model type='cirrus' vram='16384' heads='1'/>
</video> </video>
<memballoon model='none'/> <memballoon model='none'/>
</devices> </devices>

View File

@ -66,7 +66,7 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</sound> </sound>
<video> <video>
<model type='vga' vram='9216' heads='1'/> <model type='vga' vram='16384' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video> </video>
<memballoon model='virtio'> <memballoon model='virtio'>

View File

@ -34,7 +34,7 @@
</controller> </controller>
<input type='mouse' bus='ps2'/> <input type='mouse' bus='ps2'/>
<video> <video>
<model type='cirrus' vram='9216' heads='1'/> <model type='cirrus' vram='16384' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video> </video>
<memballoon model='virtio'> <memballoon model='virtio'>

View File

@ -35,7 +35,7 @@
<controller type='pci' index='8' model='pci-bridge'/> <controller type='pci' index='8' model='pci-bridge'/>
<input type='mouse' bus='ps2'/> <input type='mouse' bus='ps2'/>
<video> <video>
<model type='cirrus' vram='9216' heads='1'/> <model type='cirrus' vram='16384' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video> </video>
<memballoon model='virtio'> <memballoon model='virtio'>

View File

@ -201,7 +201,7 @@
<listen type='address' address='127.0.0.1'/> <listen type='address' address='127.0.0.1'/>
</graphics> </graphics>
<video> <video>
<model type='cirrus' vram='9216' heads='1'/> <model type='cirrus' vram='16384' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video> </video>
<memballoon model='virtio'> <memballoon model='virtio'>

View File

@ -6,4 +6,4 @@ LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
-device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x1 \ -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x1 \
-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-sata0-0-0 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-sata0-0-0 \
-device ide-drive,bus=ide.0,drive=drive-sata0-0-0,id=sata0-0-0 \ -device ide-drive,bus=ide.0,drive=drive-sata0-0-0,id=sata0-0-0 \
-vga qxl -global qxl.ram_size=67108864 -global qxl.vram_size=18874368 -vga qxl -global qxl.ram_size=67108864 -global qxl.vram_size=33554432

View File

@ -26,7 +26,7 @@
<controller type='pci' index='2' model='pci-bridge'/> <controller type='pci' index='2' model='pci-bridge'/>
<controller type='sata' index='0'/> <controller type='sata' index='0'/>
<video> <video>
<model type='qxl' ram='65536' vram='18432' heads='1'/> <model type='qxl' ram='65536' vram='32768' heads='1'/>
</video> </video>
<memballoon model='none'/> <memballoon model='none'/>
</devices> </devices>

View File

@ -34,7 +34,7 @@
<input type='mouse' bus='usb'/> <input type='mouse' bus='usb'/>
<graphics type='sdl'/> <graphics type='sdl'/>
<video> <video>
<model type='cirrus' vram='9216' heads='1'/> <model type='cirrus' vram='16384' heads='1'/>
</video> </video>
<memballoon model='none'/> <memballoon model='none'/>
</devices> </devices>

View File

@ -5,4 +5,4 @@ LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
-device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x1 \ -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x1 \
-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-sata0-0-0 \ -drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-sata0-0-0 \
-device ide-drive,bus=ide.0,drive=drive-sata0-0-0,id=sata0-0-0 \ -device ide-drive,bus=ide.0,drive=drive-sata0-0-0,id=sata0-0-0 \
-vga qxl -global qxl.ram_size=67108864 -global qxl.vram_size=18874368 -vga qxl -global qxl.ram_size=67108864 -global qxl.vram_size=33554432

View File

@ -23,7 +23,7 @@
<controller type='pci' index='1' model='dmi-to-pci-bridge'/> <controller type='pci' index='1' model='dmi-to-pci-bridge'/>
<controller type='pci' index='2' model='pci-bridge'/> <controller type='pci' index='2' model='pci-bridge'/>
<video> <video>
<model type='qxl' ram='65536' vram='18432' heads='1'/> <model type='qxl' ram='65536' vram='32768' heads='1'/>
</video> </video>
<memballoon model='none'/> <memballoon model='none'/>
</devices> </devices>

View File

@ -9,5 +9,5 @@ LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=spice \
-device usb-tablet,id=input0 \ -device usb-tablet,id=input0 \
-spice port=5903,tls-port=5904,addr=127.0.0.1,x509-dir=/etc/pki/libvirt-spice \ -spice port=5903,tls-port=5904,addr=127.0.0.1,x509-dir=/etc/pki/libvirt-spice \
-device \ -device \
qxl-vga,id=video0,ram_size=67107840,vram_size=67107840,bus=pci.0,addr=0x2 \ qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,bus=pci.0,addr=0x2 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3

View File

@ -37,7 +37,7 @@
<listen type='address' address='127.0.0.1'/> <listen type='address' address='127.0.0.1'/>
</graphics> </graphics>
<video> <video>
<model type='qxl' ram='65535' vram='65535' heads='1'/> <model type='qxl' ram='65536' vram='65536' heads='1'/>
</video> </video>
<memballoon model='virtio'/> <memballoon model='virtio'/>
</devices> </devices>

View File

@ -29,7 +29,7 @@
<listen type='network' network='Bobsnetwork'/> <listen type='network' network='Bobsnetwork'/>
</graphics> </graphics>
<video> <video>
<model type='cirrus' vram='9216' heads='1'/> <model type='cirrus' vram='16384' heads='1'/>
</video> </video>
<memballoon model='virtio'/> <memballoon model='virtio'/>
</devices> </devices>

View File

@ -80,7 +80,7 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</sound> </sound>
<video> <video>
<model type='vga' vram='9216' heads='1'/> <model type='vga' vram='16384' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video> </video>
<memballoon model='virtio'> <memballoon model='virtio'>

View File

@ -34,7 +34,7 @@
</controller> </controller>
<controller type='pci' index='0' model='pci-root'/> <controller type='pci' index='0' model='pci-root'/>
<video> <video>
<model type='cirrus' vram='9216' heads='1'/> <model type='cirrus' vram='16384' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video> </video>
<memballoon model='virtio'> <memballoon model='virtio'>

View File

@ -35,7 +35,7 @@
<controller type='pci' index='8' model='pci-bridge'/> <controller type='pci' index='8' model='pci-bridge'/>
<controller type='pci' index='0' model='pci-root'/> <controller type='pci' index='0' model='pci-root'/>
<video> <video>
<model type='cirrus' vram='9216' heads='1'/> <model type='cirrus' vram='16384' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video> </video>
<memballoon model='virtio'> <memballoon model='virtio'>

View File

@ -24,7 +24,7 @@
<controller type='pci' index='2' model='pci-bridge'/> <controller type='pci' index='2' model='pci-bridge'/>
<controller type='sata' index='0'/> <controller type='sata' index='0'/>
<video> <video>
<model type='qxl' ram='65536' vram='18432' heads='1'/> <model type='qxl' ram='65536' vram='32768' heads='1'/>
</video> </video>
<memballoon model='none'/> <memballoon model='none'/>
</devices> </devices>

View File

@ -95,7 +95,7 @@ cat > "$template_xml" <<EOM
<input type='mouse' bus='ps2'/> <input type='mouse' bus='ps2'/>
<graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'/> <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'/>
<video> <video>
<model type='cirrus' vram='9216' heads='1'/> <model type='cirrus' vram='16384' heads='1'/>
</video> </video>
</devices> </devices>
</domain> </domain>