Page 1 of 2 12 LastLast
Results 1 to 10 of 15

Thread: VirtualBox 4.1 OpenGL 3D Guest Performance

  1. #1
    Join Date
    Jan 2007
    Posts
    15,649

    Default VirtualBox 4.1 OpenGL 3D Guest Performance

    Phoronix: VirtualBox 4.1 OpenGL 3D Guest Performance

    While KVM may be very fast for Linux virtualization, one of the areas where VMware and VirtualBox are superior is when it comes to the ability to provide hardware-accelerated 2D/3D support to guest virtual machines that ultimately is passed onto the host and its graphics card / driver. In this benchmark is a look at the gaming performance of Oracle's VM VirtualBox 4.1 when using their "Chromium" driver to enable guest Linux OpenGL acceleration.

    http://www.phoronix.com/vr.php?view=16674

  2. #2
    Join Date
    Oct 2011
    Posts
    3

    Default

    Looks like some kind of vsync deal is going on.

  3. #3
    Join Date
    Jul 2009
    Posts
    221

    Default

    Quote Originally Posted by Derpinator View Post
    Looks like some kind of vsync deal is going on.
    Not sure, because not all the framerates are equal. This is linux host, linux guest right? Maybe some combinations do better than others?

  4. #4
    Join Date
    Oct 2007
    Location
    Under the bridge
    Posts
    2,153

    Default

    These charts imply that the bottleneck is in the communication tunnel between the guest and the host. The communication overhead is large enough that it trumps any impact increased resolution may have.

    For instance, LiveArena ranges between 2.2 ms/frame and 11.5 ms/frame on bare metal, and between 46.7 ms/frame and 48.5 ms/frame through the tunnel. This implies some 40+-5 ms of overhead when run through the tunnel - or some other bug in VirtualBox (4.1.2 a few months out of date, the latest version is 4.1.6).

    Edit: Ah Linux guest? That's quite a bit slower than a Windows guest, because Linux guests don't get 2d acceleration and don't play well with OpenGL compositors (there are two different OpenGL compositors running, one in the guest and one on the host, which does lead to sync issues). This is what happens with two compositors: 3d in guest -> send 3d commands to host -> 3d compositor in guest -> send 3d commands to host -> 3d compositor in host -> display on screen. Disable the guest compositor and you get other problems: 3d in guest -> send 3d commands to host -> read result from host (non-accelerated!) -> display in guest -> 3d compositor in host -> display on screen.

    It's going to be slow no matter what you do. For best results, you'd need to disable the host and guest compositors and implement 2d acceleration in the guest.
    Last edited by BlackStar; 11-08-2011 at 09:10 AM.

  5. #5
    Join Date
    Nov 2009
    Posts
    379

    Default

    I once tried some of the Introversion games in a Windows 7 VBox and they actual run with the Direct3D driver, but not at a playable speed. What works is watching fullscreen flash videos on the guest...

  6. #6
    Join Date
    Dec 2010
    Location
    MA, USA
    Posts
    1,485

    Default

    I feel that the virtual GPU needs to be overall ignored and GPU passthrough should be focused on. However, I don't think the virtual GPU should be removed. As I see it, the only easy way for GPU passthrough to work is to have a separate monitor and a GPU that is not in use by the host OS. I think if Oracle can accomplish that then that's a huge achievement. As for needing a separate monitor, an easy hack to avoid that would be to use a VNC.

  7. #7
    Join Date
    Apr 2011
    Posts
    31

    Default

    Maybe I'm saying something stupid but :

    As the framerate seems not to change when the resolution grows, isn't it that the bottleneck would be the processor, instead of the graphics card ?

  8. #8
    Join Date
    Nov 2008
    Location
    Madison, WI, USA
    Posts
    884

    Default

    Quote Originally Posted by schmidtbag View Post
    I feel that the virtual GPU needs to be overall ignored and GPU passthrough should be focused on. However, I don't think the virtual GPU should be removed. As I see it, the only easy way for GPU passthrough to work is to have a separate monitor and a GPU that is not in use by the host OS. I think if Oracle can accomplish that then that's a huge achievement. As for needing a separate monitor, an easy hack to avoid that would be to use a VNC.
    While I think that this is something that should get done eventually, there's no way that I'm going to install a second video card in my machine just to run a virtual machine at a faster 3D speed. I'd much prefer to be able to use the full capabilities of the host GPU than rely on a crutch like installing a second heat-producing GPU just to increase VM performance.

  9. #9
    Join Date
    Dec 2010
    Location
    MA, USA
    Posts
    1,485

    Default

    Quote Originally Posted by Veerappan View Post
    While I think that this is something that should get done eventually, there's no way that I'm going to install a second video card in my machine just to run a virtual machine at a faster 3D speed. I'd much prefer to be able to use the full capabilities of the host GPU than rely on a crutch like installing a second heat-producing GPU just to increase VM performance.
    like I said, I don't think the virtual GPU should be removed, just not so heavily focused on. The reason I said that is specifically for reasons like what you mentioned. Keep in mind though that many processors that support passthrough already have an integrated GPU, so either that or the discrete card could be used for a VM. But for those who don't have passthrough support or don't have at least 2 GPUs, the virtual GPU is an acceptable alternative.

  10. #10
    Join Date
    Oct 2007
    Location
    Dresden
    Posts
    53

    Default

    i just did a quick test
    system: phenom 955 and a rusty old geforce 7800gtx, nvidia 290.06 driver
    1: debian sid amd64 host system with xfce and mutter compositor, ondemand cpu governor, 25% up_threshold
    2: ubuntu 11.10 amd64 guest with unity, ondemand cpu governor, default up_threshold
    3: ubuntu 11.10 amd64 guest with unity, ondemand cpu governor, 25% up_threshold
    1:
    2:
    3:

    so, the ondemand cpu governor might be a reason for bad performance, too

Posting Permissions

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