
On 04/25/2011 04:27 AM, Richard W.M. Jones wrote:
[Copying this to libvir-list]
On Mon, Apr 25, 2011 at 01:07:37AM +0400, Emre Erenoglu wrote:
Hi,
I'm the package maintainer for virt-manager and related packages for Pardus distribution. While testing the latest libvirt, virtinst & virt-manager packages, I've come across a strange issue and I would like to get your valuable opinion.
I add all spice related devices and everything works good, except the vdagent inside the windows xp guest. The virtio serial driver is loaded correctly. As I track down the issue, I found out that libvirt is starting qemu-kvm with parameters which do not match the ones adviced by the spice people. Please see below email discussion with them on this. The offending line seems to be the chardev parameter. qemu-kvm is started by virt-manager with the following parameter for chardev:
-chardev null,id=channel0
and the full spice related parameters are:
-device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x8 -chardev null,id=channel0 -device virtserialport,bus=virtio-serial0.0,nr=0,chardev=channel0,name=com.redhat.spice.0 -usb -device usb-tablet,id=input0 -spice port=5900,addr=127.0.0.1,disable-ticketing -vga qxl -device qxl,id=video1,bus=pci.0,addr=0x7
while spice people adviced:
-chardev spicevmc,id=channel0,name=vdagent
and the rest of the parameters to match it. See below mail on the details. I don't know if this is really the issue, but I also recognize the following inside the domain XML:
<channel type='null'> <target type='virtio' name='com.redhat.spice.0'/> <address type='virtio-serial' controller='0' bus='0' port='0'/> </channel>
the "channel type" is listed as "null", while I assume it should have been listed as "spicevmc". (not sure of this, I saw this in some other websites). When I edit the domain xml with virsh edit, it saves my changes but the "null" stays the same how many times I try to change it.
Please note that I've applied the following patches to virtinst 0.500.6:
constrain-spicevmc-usage-correct.patch virtinst-fix-channel-parse.patch virtinst-spicevmc-fixes.patch
which I obtained from the git. I also patched virt-manager 0.8.7 with the following I obtained from the git:
chardev-hide-unsupported-params-for-selected-type.patch only-show-relevant-char-device-fields.patch show-char-device-target-name.patch chardev-propose-to-add-remove-spice-agent.patch allow-setting-char-device-target-name.patch fix-adding-removing-channel-device.patch
Any idea what I might be missing to get the vdagent run inside the windows guest?
Many thanks,
Emre Erenoglu
What libvirt version are you using? spicevmc requires libvirt 0.8.8. However if libvirt is silently reverting to 'null' it's a bug either way. - Cole