In the end I decided that the Wine implementations of the D3DX functions were just so shabby that there was a spiral of diminishing returns in trying to work around them, and I would have ended up compromising Win32 functionality in order to get things done. Compromising your primary platform in favour of a secondary platform doesn't seem to me like anyone's idea of being particularly clever, so I tried something else.
It may not be immediately obvious to everybody, but D3DX is just a utility library, in kind of the same way that GLU is a utility library for OpenGL. So really all it contains is a bunch of C/C++ code that calls into the main D3D DLL.
With that in mind, I copied the D3DX DLLs from a Windows machine over to my Wine installation. Bang, up she comes, it worked.
Now, I have to say at this point in time that doing this might be some kind of violation of the D3D EULA, and that there is no way on earth I would endorse or recommend it, and that if you were to do so, you would be doing so totally under your own volition and with full awareness of the consequences of your own actions. All I am doing is passing on the information that it works.
It may also sully the purity of a "Free" OS, but I would think that if you're using Wine to try run a D3D application you're already halfway to beyond redemption anyway.
So that was roundabout where I left things off with that. I haven't done any real performance tests, or even enough to establish that it's playable. I'm not even aware if my Linux installation can do hardware accelerated rendering at the moment: Ubuntu does have something that looked like a driver control panel, but all it told me was whether or not I had any proprietary drivers installed. Now that's cute, but it's also quite useless.
I'm going back to a few more things I need to do on the main codebase, and probably won't pick this particular experiment up again until the weekend, but so far I have at least established that it can be done.
Thursday, July 15, 2010
DirectQ now works on Linux/Wine
Posted by
mhquake
at
5:57 PM
Subscribe to:
Post Comments (Atom)
3 comments:
What folder is that exactly?? I see lots of folders in linux for wine, which one to dump the dlls into?
"D3DX DLLs from a Windows machine over to my Wine installation"
-xaGe-
HA: /home/retro/.wine/drive_c/windows/system32/
Yay Google!
-xaGe-
..So far from the 1st start up MHQ only renders upside down & for the life of me I have no idea why. Oh well not the choice for me while in PCLinuxOS 2010. ;-p
-xaGe-
Post a Comment