[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-users] XEN windows xp guest as multimedia frontend for linux?

  • To: "ivowel" <ivowel@xxxxxxxxx>, xen-users@xxxxxxxxxxxxxxxxxxx
  • From: "Petersson, Mats" <Mats.Petersson@xxxxxxx>
  • Date: Tue, 10 Apr 2007 12:23:25 +0200
  • Delivery-date: Tue, 10 Apr 2007 03:23:20 -0700
  • List-id: Xen user discussion <xen-users.lists.xensource.com>
  • Thread-index: Acd6jUeGT4KBLdCsQCOglmBF7kgF4AAx+N9w
  • Thread-topic: [Xen-users] XEN windows xp guest as multimedia frontend for linux?


> -----Original Message-----
> From: xen-users-bounces@xxxxxxxxxxxxxxxxxxx 
> [mailto:xen-users-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of ivowel
> Sent: 09 April 2007 04:29
> To: xen-users@xxxxxxxxxxxxxxxxxxx
> Subject: [Xen-users] XEN windows xp guest as multimedia 
> frontend for linux?
> My main OS is gentoo linux on an amd64, recent vintage.  It 
> does my the real
> work.   I have occasionally used rdesktop and vmware 
> workstation 5.0 in the
> past to access boring old windows apps, such as MS office, 
> when open office
> failed.
> Alas, sometimes, it would be nice if linux could do media 
> processing better 
> No, I do not want to reboot, but my vmware 5.0 was clearly 
> not up to running
> a logitech quickcam fusion for video phone calls, or a USB HDTV
> adapter---these are mostly hardware devices without linux 
> drivers or, shall
> we say, well-working or userfriendly linux drivers.  Plus, 
> there are some
> unique windows apps, e.g. windows media player, itunes, 
> powerDVD (>mplayer
> or xine), or other media apps, windows/xp likes to eat memory 
> and CPU real
> fast.  My skype usb phone also has good windows drivers, but 
> even though it
> has linux kernel support, it has no user-friendly workable 
> apps under linux. 
> So, windoze it would have to be

For now, I think you'll find that Windows on top of Xen is not
particularly good if you need direct access to hardware to make it
perform well, so that includes:
- Games/3DGraphics
- Video
- Probably sound too (although the data transfer rates are much lower,
so you may be able to get away with it). 

It is for the same reason that VMWare and other virtualization struggles
with this task:
1. The Virtualization environment adds latency to hardware accesses by
the way that hardware is virtualized. 
2. Real-time behaviour of the OS is modified by the hypervisor (or
virtual machine monitor/VMM if you want to call it a different name than
Xen uses) - particularly, scheduling between VM's cause events happening
in the guest to be delayed because the guest doesn't get to run
"immediately" (which is [almost] the case in the native OS]. 
3. There is no good way to give a speciific piece of hardware to a HVM
guest (this is because the hypervisor is virtualizing the memory for the
guest, and the guest doesn't understand that what it THINKS is the
physical address in memory isn't a good address to give to some hardware
that uses that address for some memory operation - so we don't let the
guest anywhere near any hardware for that very reason. Until there's
IOMMU hardware available, we'll be stuck with this problem). 

> I have not yet played with Xen to see if it can give me what 
> linux cannot:
> give me fast access to video/audio devices, often USB based.  
> Is this likely
> to work well, or is this likely to be a colossal waste of time?

There's support for USB devices to be handed to windows guests [although
I've seen some reports that this doesn't work right - if anyone has any
good info on the subject, please let us know], but from what I can see,
they wouldn't be directly accessibly by the guest (that requires correct
physical memory addresses from the guest, which isn't possible from a
fully virtualized guest like Windows[1]), but rather go through the
QEMU-interface. This in turn means that there is noticable additional
latency for the access of the device - not a problem if you're copying
your digital pictures from a memory card, but definitely a problem if
you're doing Live-Video access. 

[1]Technically, there is a possibility to modify the driver for the
device (in this case the base USB driver) to ask the hypervisor to
translate it's guest-physical address into a machine-physical address.
However, no one has ever produced such a driver, and it's not-so-trivial
to figure out if you've covered all the cases where this is needed or
not (especialy as USB drivers are "layered", e.g. there's several
drivers working on the same data, in different layers [for example
USB-on-motherboard-specific driver, USB-generic-low-level-driver,
Video/sound-type driver, specific driver for this model of video/sound
USB device] ((Note: I don't know EXACTLY how the USB driver-stack works,
but I do know it's a layered/stacked driver with a bunch of different
drivers working together to form the ultimate upper layer interface to
Windows - USB drivers as a whole are definitely not trivial, although
adding a new device-type is apparently not so difficult [this is
"relatively speaking", writing drivers is NEVER easy in total
programming terms])). 


Xen-users mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.