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