Hello.
To start with, I completely understand that virtualisation is always going to have an impact on performance, especially graphics performance when GPU pass-through is not being utilised.
That said, it is my understanding that VirtualBox currently translates D3D9 calls in the guest to OpenGL calls on the host. Apparently, it does this specifically using Wine's D3D->OpenGL translation layer, according to this thread: viewtopic.php?f=2&t=15436
That of course works, but translating the calls has a performance impact. It is actually possible to run D3D9 natively on Linux using Gallium Nine[1], and there is even a Wine patch[2] that allows Wine to use D3D9 natively like this instead of using its translation layer. Running D3D9 natively on Linux via Gallium Nine has huge performance benefits.
1 - https://wiki.ixit.cz/d3d9
2 - https://github.com/sarnex/wine-d3d9-patches
My question is, is there any way to do the same thing with VirtualBox? Is there any way to force it to use Gallium Nine in the same way as a patched Wine, instead of translating the calls? If there is no current way to do this, then is it possible that it could be supported in the future?
Thanks.
(Sorry for the ugly links. The forum won't let me directly post links since I'm a new member...)
[Mod edit: Fixed the obfuscated URLs]
Is there any way to run D3D9 with Gallium Nine?
-
- Posts: 1
- Joined: 24. Oct 2016, 17:15
Is there any way to run D3D9 with Gallium Nine?
Last edited by socratis on 24. Oct 2016, 18:47, edited 1 time in total.
Reason: Fixed obfuscated URLs.
Reason: Fixed obfuscated URLs.
-
- Site Moderator
- Posts: 27329
- Joined: 22. Oct 2010, 11:03
- Primary OS: Mac OS X other
- VBox Version: PUEL
- Guest OSses: Win(*>98), Linux*, OSX>10.5
- Location: Greece
Re: Is there any way to run D3D9 with Gallium Nine?
If you manage to properly and conditionally patch the source code, then, I don't see why not. But then I don't have a clue about the inner workings of that part of the source code. Remember that the same source runs on a multitude of OSes/systems, so that "conditionally" becomes really, really important. The first link hasn't been updated for 1 1/2 years now, but the second seems alive and well.JohnSanders wrote:is there any way to do the same thing with VirtualBox?
From past experience, I know that the developers do not talk about their future plans, even among themselvesJohnSanders wrote:is it possible that it could be supported in the future?
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.