Page 2 of 2 FirstFirst 12
Results 11 to 13 of 13

Thread: A Virtual Gallium3D Driver Coming For VMware

  1. #11
    Join Date
    Dec 2008
    Location
    Halifax, NS, Canada
    Posts
    63

    Default

    Quote Originally Posted by drag View Post
    The ultimate future will just being able to hand off complete control of the video card to the guest OS. That is you let native drivers access the hardware in the native way, but be it controlled in a guest.

    We already have that for most PCI devices on very new hardware. KVM and friends have the ability to hand off control of hardware to guests, but with video cards (of course) they are to complicated to be handled in such a ham-fisted manner.
    What makes them "too complicated" is DMA. Vid cards directly access host memory, e.g. to fetch textures, using physical memory addresses programmed by the driver. The problem is that a graphics driver running in a guest will put vm guest "physical" addresses on the card, not real hardware physical.

    Either you code a VM-aware version of the driver to work around this, and run an insecure VM that trusts the guest not to use the vid card to read memory outside the VM, or you need a hardware IOMMU. Some current hardware has IOMMUs, but I can't remember which. Except for server stuff, probably only AMD and maybe Nehalem, since it's a lot easier to implement when the PCIe <-> RAM path goes through the CPU anyway.

    I've been wanting to do this for years, to run a multi-seat box (multiple users on one machine, each with their own kbd+mouse+vga). I was disappointed a couple years ago when I got a core2 to find out that even with HW virt support, giving the guest direct VGA access wasn't possible.

    What current and future x86-64 hardware has an IOMMU suitable for guest video drivers? Anyone more up to date on this than I am?

  2. #12
    Join Date
    Sep 2006
    Posts
    714

    Default

    I've been wanting to do this for years, to run a multi-seat box (multiple users on one machine, each with their own kbd+mouse+vga). I was disappointed a couple years ago when I got a core2 to find out that even with HW virt support, giving the guest direct VGA access wasn't possible.

    What current and future x86-64 hardware has an IOMMU suitable for guest video drivers? Anyone more up to date on this than I am?

    Nobody.

    Like I said it's more complicated then normal hardware. DMA isn't the issue. Video cards are special cases and you have to have support in the vbios themselves for this sort of thing.

  3. #13
    Join Date
    Sep 2006
    Posts
    714

    Default

    Quote Originally Posted by DeepDayze View Post
    That could be what Sun's doing with Vbox...adding paravirtualization support to allow hardware to be controlled by drivers on the guest in a virtualized manner without impacting the host or the guest negatively.

    This should be quite interesting to see how all this evolves. Someday I'd be able to dump the physical Windows install and just keep "Bill in a box" for those times I want to run a Windows program without all the hassles and bugs of Wine. This would be definitely good for those games and graphics apps that makers can't or won't port to Linux.
    KVM already supports this, as does Xen I believe. Probably Vmware also. I suppose Vbox and any other virtualization can support it.


    It's very important for server applications since emulating the network cards and using virtual ethernet is a big bottleneck. If you have a 10Gbs ethernet connection there is no chance in hell that even the best virtualization support can keep up with it using emulation or even paravirtualized drivers.


    http://www.mjmwired.net/kernel/Docum...ntel-IOMMU.txt

    And it has AMD IOMMU support also, of course.

    The trouble with all of this stuff is finding the right motherboard and all that.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •