Results 1 to 10 of 15

Thread: VirtualBox 4.1 OpenGL 3D Guest Performance

Hybrid View

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

    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,146

    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 08: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,381

    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
    Sep 2007
    Posts
    997

    Default

    Quote Originally Posted by BlackStar View Post
    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.
    Wouldn't it be a more intriguing test to try PCI Express x16 VGA Passthrough? If using Intel sandy bridge architecture, to try vt-d compatible hardware w/ vt-d turned on in the bios and then test the open source games in virtualbox?

    That is, if vt-d works in Vbox yet. But, I thought maybe the only way right now to get any sort of performance improvement.

    I'm just asking...

    Seems to me a lot has to happen for Vbox to take 'generic video card' and produce much in terms of performance when playing games......

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

    Default

    Quote Originally Posted by Panix View Post
    Wouldn't it be a more intriguing test to try PCI Express x16 VGA Passthrough? If using Intel sandy bridge architecture, to try vt-d compatible hardware w/ vt-d turned on in the bios and then test the open source games in virtualbox?

    That is, if vt-d works in Vbox yet. But, I thought maybe the only way right now to get any sort of performance improvement.

    I'm just asking...

    Seems to me a lot has to happen for Vbox to take 'generic video card' and produce much in terms of performance when playing games......
    I have already tried vga passthrough using an unused, discrete video card on an AMD IOMMU system. the gpu is recognized and can be installed but it can't be activated. i have tried everything i can think of and it still doesn't work. vga/gpu passthrough is not at all similar to regular pci, so there's more changes to be done.

Posting Permissions

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