Is there any way to run D3D9 with Gallium Nine?

Discussions related to using VirtualBox on Linux hosts.
Post Reply
JohnSanders
Posts: 1
Joined: 24. Oct 2016, 17:15

Is there any way to run D3D9 with Gallium Nine?

Post by JohnSanders »

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]
Last edited by socratis on 24. Oct 2016, 18:47, edited 1 time in total.
Reason: Fixed obfuscated URLs.
socratis
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?

Post by socratis »

JohnSanders wrote:is there any way to do the same thing with VirtualBox?
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 it possible that it could be supported in the future?
From past experience, I know that the developers do not talk about their future plans, even among themselves ;)
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.
Post Reply