[Spice-devel] Advice on some configuration parameters
Fabio Fantoni
fantonifabio at tiscali.it
Tue Mar 5 06:20:11 PST 2013
Il 05/03/2013 11:19, Hans de Goede ha scritto:
> Hi,
>
> On 03/01/2013 11:02 AM, Fabio Fantoni wrote:
>> Il 12/02/2013 14:05, Fabio Fantoni ha scritto:
>>> I'm making patches to enable some qemu upstream features in xen that
>>> are missing in libxl.
>>> I'm trying to do it just by giving arguments to qemu, and I want
>>> them to be dynamic (e.g. without physical addresses if possible) and
>>> concise.
>>>
>>> I'm confused about usb configuration.
>>>
>>> Looking at what virt-manager does, it seems that you set the
>>> usbredirection in channels like this:
>>> -chardev spicevmc,id=charredir0,name=usbredir -device
>>> usb-redir,chardev=charredir0,id=redir0
>>>
>>> At the moment I'm defining the physical usb devices like this:
>>> -readconfig /etc/qemu/ich9-ehci-uhci.cfg
>>>
>>> If I try to set up virt-manager so that it doesn't point to a file,
>>> it uses this configuration:
>>>
>>> -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x5.0x7
>>> -device
>>> ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x5
>>> -device
>>> ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x5.0x1
>>> -device
>>> ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x5.0x2
>>>
>>> This seems to differ from the configuration file, e.g. you have
>>> multifunzion=on only on the first uhci
>
> That does not matter the multifunction bit needs to set only on 0x5.0x0.
>
>> besides I can't understand how many physical ports are defined.
>
> 6, the same as with the "-readconfig /etc/qemu/ich9-ehci-uhci.cf"
> directive.
>
>> I tried setting 9 usbredirection channels in virt-manager but that
>> configuration doesn't change and no errors are reported, but I doubt
>> that physical ports are being define dynamically.
>
> Hmm, that would be a libvirt bug you should be able to add only 6
> usb-redir channels, unless you add a second usb controller ...
>
> Possibly libvirt is also adding a hub? That would work sort-of, it
> would make channels 6-9 be usb-1 only, since we don't emulate
> usb-2 hubs.
>
>>>
>>> Can you omit physical addresses?
>
> In most cases yes, then qemu will pick one itself.
>
>>> I searched the web but I can't find detailed informations about it.
>>> Can someone explain in detail how you are supposed to configure usb
>>> physical ports? I want to enable both usb redirection and usb
>>> passthrough in a dynamic and concise manner.
>
> The easiest way to do is probably to create the setup you want using
> virt-manager and then run the vm once, after that the xml file
> should contain fixed addresses for all devices.
>
>>>
>>> About spice vdagent at the moment I'm using this configuration that
>>> seems to work:
>>> -device virtio-serial -chardev spicevmc,id=vdagent,name=vdagent
>>> -device virtserialport,chardev=vdagent,name=com.redhat.spice.0
>>>
>>> But I noticed that virt-manager use this slightly different one:
>>> -chardev pty,id=charserial0 -device
>>> isa-serial,chardev=charserial0,id=serial0 -chardev
>>> spicevmc,id=charchannel0,name=vdagent -device
>>> virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0
>>>
>>> Are there any problem with the more concise one I'm using?
>
> No.
>
> Regards,
>
> Hans
>
Thanks for reply, my goal is doing complete and good full feature
implementation of spice in xen (now exactly on libxl).
The basic implementation was already present and working but without
vdagent, qxl and usb redirection.
I did patch for qxl support, for now is working only as standard vga,
with qxl driver not working in both windows and linux vm.
I already did many posts on xen-devel,qemu-devel and spice-devel but
without solution by now.
I tried to found a solution myself for about 1 year without success. It
seems (almost certain) there are changes/fixes to do on hvmloader (xen
side) and it should be also necessary changes on qemu and/or spice side.
Unfortunately I don't have much knowledge on this parts and I not found
nobody that can help me about for now.
I'm trying to have a complete feature list of qemu options (about spice)
by doing a try and learn tests between kvm and xen.
I have some question:
Is -nodefaults necessary/useful for spice? xen do not use/want that for now
Is -no-shutdown necessary/useful for spice?
What is exactly seamless migration on spice? is necessary to be on?
Is -device usb-tablet necessary/useful for spice?
I tried to do usb redirection without cfg files but is not working.
These are all qemu option of W7 domU of my test:
libxl: debug: libxl_device.c:920:device_hotplug: calling hotplug script:
/etc/xen/scripts/block add
libxl: debug: libxl_dm.c:1156:libxl__spawn_local_dm: Spawning
device-model /usr/lib/xen/bin/qemu-system-i386 with arguments:
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:
/usr/lib/xen/bin/qemu-system-i386
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -xen-domid
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: 9
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -chardev
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:
socket,id=libxl-cmd,path=/var/run/xen/qmp-libxl-9,server,nowait
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -mon
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:
chardev=libxl-cmd,mode=control
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -name
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: W7
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -global
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: isa-fdc.driveA=
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -spice
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:
port=6002,tls-port=0,addr=0.0.0.0,disable-ticketing,agent-mouse=on
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -vga
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: std
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -boot
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: order=dc
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -soundhw
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: hda
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -smp
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: 2,maxcpus=2
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:
e1000,id=nic0,netdev=net0,mac=00:16:3e:38:af:5f
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -netdev
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:
type=tap,id=net0,ifname=vif9.0-emu,script=no,downscript=no
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:
ich9-usb-ehci1,id=ehci,bus=pci.0,addr=1d.7
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:
ich9-usb-uhci1,masterbus=ehci.0,firstport=0,bus=pci.0,multifunction=on,addr=1d.5
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:
ich9-usb-uhci2,masterbus=ehci.0,firstport=2,bus=pci.0,addr=1d.1
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:
ich9-usb-uhci3,masterbus=ehci.0,firstport=4,bus=pci.0,addr=1d.2
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -chardev
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:
spicevmc,name=usbredir,id=usbredirchardev1
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:
usb-redir,chardev=usbredirchardev1,id=usbredirdev1,bus=ehci.0
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -chardev
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:
spicevmc,name=usbredir,id=usbredirchardev2
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:
usb-redir,chardev=usbredirchardev2,id=usbredirdev2,bus=ehci.0
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -chardev
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:
spicevmc,name=usbredir,id=usbredirchardev3
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:
usb-redir,chardev=usbredirchardev3,id=usbredirdev3,bus=ehci.0
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -chardev
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:
spicevmc,name=usbredir,id=usbredirchardev4
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:
usb-redir,chardev=usbredirchardev4,id=usbredirdev4,bus=ehci.0
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -chardev
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:
spicevmc,name=usbredir,id=usbredirchardev5
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:
usb-redir,chardev=usbredirchardev5,id=usbredirdev5,bus=ehci.0
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -chardev
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:
spicevmc,name=usbredir,id=usbredirchardev6
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:
usb-redir,chardev=usbredirchardev6,id=usbredirdev6,bus=ehci.0
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: virtio-serial
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -chardev
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:
spicevmc,id=vdagent,name=vdagent
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -device
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:
virtserialport,chardev=vdagent,name=com.redhat.spice.0
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -M
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: xenfv
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -m
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: 2032
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm: -drive
libxl: debug: libxl_dm.c:1158:libxl__spawn_local_dm:
file=/mnt/vm/disks/W7.disk1.xm,if=ide,index=0,media=disk,format=raw,cache=writeback
Vdagent is working, I'll do a patch for insert it in libxl,
usbredirection with cfg file is working without (with config above) not,
what I do wrong?
Based on this qemu options is there something other that can be a
problem with spice and need to be improved?
Thanks for any reply.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4510 bytes
Desc: Firma crittografica S/MIME
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20130305/1539bdbc/attachment.bin>
More information about the Spice-devel
mailing list