I have been fumbling my way through building a Windows XP guest to run in qemu-kvm that I want to be able to access using a spice client.
I am now at a stage that I can access the guest using 'spicec -h localhost -p 5930' on the host machine or by using spicec.exe on a remote Windows machine. It is really impressive!
However, when I disconnect by closing the spice client, the virtual machine also shuts down and I see this.
Quote:
listen_to_new_client_channel: NEW ID = 0
reds_show_new_channel: channel 3:0, connected successfully, over Non Secure link
inputs_connect: inputs channel client create
display_channel_client_wait_for_init: creating encoder with id == 0
display_channel_release_item: not pushed (101)
red_channel_client_disconnect: 0x7fbb7e387a40 (channel 0x7fbb79a564a0 type 1 id 0)
main_channel_client_on_disconnect: rcc=0x7fbb7e387a40
reds_client_disconnect:
red_client_destroy: destroy client with #channels 4
red_channel_client_disconnect: 0x7fbb7e1ec1b0 (channel 0x7fbb79a624a0 type 3 id 0)
red_dispatcher_disconnect_display_peer:
handle_dev_display_disconnect: disconnect display client
red_channel_client_disconnect: 0x7fbb7e1ac810 (channel 0x7fbb79b9ac00 type 2 id 0)
display_channel_client_on_disconnect:
red_dispatcher_disconnect_cursor_peer:
handle_dev_cursor_disconnect: disconnect cursor client
red_channel_client_disconnect: 0x7fbb7e3aafa0 (channel 0x7fbb79b9b1a0 type 4 id 0)
red_channel_client_disconnect: 0x7fbb7e387a40 (channel 0x7fbb79a564a0 type 1 id 0)
red_channel_remove_client: ASSERT pthread_equal(pthread_self(), rcc->channel->thread_id) failed
/usr/lib64/libspice-server.so.1(+0xbe1c4)[0x7fbb75b4c1c4]
/usr/lib64/libspice-server.so.1(+0x1a053)[0x7fbb75aa8053]
/usr/lib64/libspice-server.so.1(+0x1c439)[0x7fbb75aaa439]
/usr/lib64/libspice-server.so.1(+0x456b0)[0x7fbb75ad36b0]
/usr/lib64/libspice-server.so.1(+0x45cb9)[0x7fbb75ad3cb9]
/usr/lib64/libspice-server.so.1(+0x45e00)[0x7fbb75ad3e00]
qemu-kvm(+0xc31f7)[0x7fbb78cb21f7]
qemu-kvm(+0x1223b2)[0x7fbb78d113b2]
qemu-kvm(main+0x113f)[0x7fbb78c5f02f]
/lib64/libc.so.6(__libc_start_main+0xed)[0x7fbb752744cd]
qemu-kvm(+0x73ce9)[0x7fbb78c62ce9]
Aborted
|
I have used these two commands to invoke the running guest:
Code:
qemu-kvm -enable-kvm -m 256M -rtc base=localtime -vga qxl -net tap,ifname=tap0,script=no,downscript=no -net nic,model=virtio -usb -usbdevice tablet -soundhw es1370 -spice port=5930,disable-ticketing /home/david/Desktop/qemu/WinXP_SP3/Windows_XP_Professional_SP_3.img
and
Code:
qemu-kvm -enable-kvm -m 256M -rtc base=localtime -vga qxl -net tap,ifname=tap0,script=no,downscript=no -net nic,model=virtio -usb -usbdevice tablet -soundhw es1370 -spice port=5930,disable-ticketing -device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5 -chardev spicevmc,name=vdagent,id=vdagent -device virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,name=com.redhat.spice.0 /home/david/Desktop/qemu/WinXP_SP3/Windows_XP_Professional_SP_3.img
The second command includes options from
http://spice-space.org/page/Whiteboard/AgentProtocol which I had hoped might activate proper communication with the vdagent in the guest.
However, I do see this at startup.
Quote:
qemu-kvm: virtio-serial-bus: Unexpected port id 3780502472 for device virtio-serial0.0
|
I built my qemu-kvm with support for spice using the 13.37 packages from Slackbuilds.org on my Slackware64-current box.
I am wondering whether I may have missed some compile option or have overlooked some qemu-kvm invocation voodoo or have missed some vital information in the somewhat fragmented documentation for spice.
Can anybody offer any thoughts?