Announcement

Collapse
No announcement yet.

VirtualBox Gets Accelerated Direct3D Support

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Didn't know you could run WineD3D on windows, that quite nice! It makes sense in retrospect, implement WGL in wine and build WineD3D on WGL - a single codepath for all platforms.

    Now we need VBox to gain GL2.1 support (or at least GLSL) and it will become excellent for cross-platform development and viable for games. I'm looking forward to the time when I'll put the Mesa3D soft-renderer to rest.

    Comment


    • #12
      Is this likely the final solution fom VirtualBox or are they going to write some kind of low level D3D driver?

      While I think the former is interesting, and would possibly put more developer power against WineD3D, it would seem like a more solid solution to be able to use native MS D3D dll's (virtualization should try to be as native as possible) on top of some virtual hardware.

      Could Gallium3d be leveraged here? (I could see it easily being used on Linux, just pass most of the calls out to the external driver, I'm just not sure how efficient it would be to use it to translate out to a Windows/Mac driver)

      Comment


      • #13
        I would recommend to use Wine for gaming and not to use VirtualBox. Their opengl driver will never perform (the same for a real d3d driver) as well as a native OpenGL driver and for that reason D3D performance will be (a lot) lower than Wine's, so just use Wine.

        One of the reason for the lack of OpenGL performance has to do with VirtualBox being a virtual machine. They want all opengl commands to pass through their own opengl layer and cache them in order to allow you to resume programs. If they directly passed all data to native opengl they would be able to reach more performance. This is also the reason why adding new opengl extensions is tricky (in case of GLX not all new extensions like glsl have a glx protocol if they are directly using GLX).

        Comment


        • #14
          IMHO this does nothing but in some rare cases (when anything except wine's direct3d-implementation keep a game from working with wine) remove the need to reboot to play a game. And you still need a windows-license. I don't see what's so exciting here.

          I'm more interested by the fact that virtualbox decided to pick up wine as their direct3d implementation - hopefully it means wine gets more developers from Sun/Innotek working on d3d.
          Yep, that'd be a nice thing.

          Comment


          • #15
            Correct me if I'm wrong, but wouldn't AMD's IOMMU specification (or Intel's equivalent, I forget the name), in theory, greatly boost OpenGL performance, by giving the virtual machine a DMA compatible I/O bus with the graphics card? I mean, I don't know much about it, but from first glance that seems to kind of be the point.

            Granted, it's one more layer to go through than wine has to deal with, but I imagine it'll be some time before wine has better windows compatibility than windows...

            Comment


            • #16
              Originally posted by Arceliar View Post
              Correct me if I'm wrong, but wouldn't AMD's IOMMU specification (or Intel's equivalent, I forget the name), in theory, greatly boost OpenGL performance, by giving the virtual machine a DMA compatible I/O bus with the graphics card? I mean, I don't know much about it, but from first glance that seems to kind of be the point.

              Granted, it's one more layer to go through than wine has to deal with, but I imagine it'll be some time before wine has better windows compatibility than windows...
              It would yes...

              It has something to do with being able to virtualize IO directly instead of going through a software layer. With AMD's pacifica they are already able to virtualize memory in hardware, and with some upcoming improvements added the IOMMU they should also be able to virtualize IO in hardware. That'll help improve performance a lot, but it still wont be native.

              Comment


              • #17
                Originally posted by duby229 View Post
                It would yes...

                It has something to do with being able to virtualize IO directly instead of going through a software layer. With AMD's pacifica they are already able to virtualize memory in hardware, and with some upcoming improvements added the IOMMU they should also be able to virtualize IO in hardware. That'll help improve performance a lot, but it still wont be native.
                Virtualization performance has improved significantly over the years so one would expect video performance to improve significantly as well. The question is if the benefits of virtualization will out weigh the cost.

                [I could be an ass and argue that games are not native because they are not written completely in hand tuned assembler, but that developers trade off performance loss with productivity when choosing toolkits or to run on Windows rather than the good ol days of DOS ;-) )

                Comment


                • #18
                  WineD3D builds

                  People reading this might be interested in my WineD3D builds:

                  This website is for sale! aybabtu.com is your first and best source for all of the information you’re looking for. From general topics to more of what you would expect to find here, aybabtu.com has it all. We hope you find what you are searching for!


                  which are regularly updated from official releases. These are known to work (to some extent) on VirtualBox. See http://www.virtualbox.org/ticket/2940

                  Things will get better with next VirtualBox release and/or newer Wine, but with WineD3D 1.1.14 and 2.1.2 (OSE) it's still very experimental. It's only known to work for testcases and simple apps so far.

                  Comment


                  • #19
                    Originally posted by Thunderbird View Post
                    I would recommend to use Wine for gaming and not to use VirtualBox. Their opengl driver will never perform (the same for a real d3d driver) as well as a native OpenGL driver and for that reason D3D performance will be (a lot) lower than Wine's, so just use Wine.
                    The main reasons why someone would want to do that sort of thing is that WINE doesn't deal with DRM very well (heh...if that's not a discouragement for NOT doing this sort of thing in the first place, I don't know what it would be... ) and some people would honestly like to have a full-on sandbox (/me raises his hand...) for isolating that environment when they run Windows stuff (as I rarely do, mainly for verification of things when I'm porting...). WINE doesn't shield you as well as VirtualBox would against malware of varying kinds.

                    Comment

                    Working...
                    X