Originally posted by: nullpointerus
Originally posted by: xtknight
Originally posted by: Ulfhednar
This will be emulation at best, and it will run like a three-legged dog.
You never know...wine (with other open source modifications) runs DX9 pretty well.
Ah, but Wine Is Not an Emulator.
Seriously, what would have to be done to get DX10 features working in hardware on Linux?
Next person who says wine is not an emulator should be lucky to have their face intact. Gets me every time.
Even though it's not... it's basically a translator.
WINE has a couple modes of operation: it can emulate (...) using Windows DLLs or by implementing the DLLs (which are libraries) itself.
There was talk of DX10 and wine.
http://www.winehq.com/pipermail/wine-devel/2007-March/054778.html
Basically, they would like to start a framework through which DX10 development can prosper...but not necessarily implement it in whole. Functions that are not implemented will be partially implemented as "stubs", meaning they will return what is expected just to keep the program on its feet (and this is where possible artifacts or bugs may come in). This is very much like WINE is like right now: all the structures and functions are more or less "there" but there's nothing in probably 30% of them still. Over time the functions are filled in. They want to get it to a point where all the DX10 structures are "in place" so that over time they can be implemented.
http://code.google.com/soc/wine/appinfo.html?csaid=14411B58ACD714B8
Doesn't look like it will be easy, though. Whoever is making this and the wine devs should get together and speed this work up. I'm willing to bet that they will have very similar modes of operation despite being compiled differently.
I have confidence that they'll get it eventually. There are companies like CodeWeavers who offer 'proper' wine-based D3D9 translation that works great (for a reasonable price) and several games are officially supported, such as World of Warcraft and Half Life 2. Sometimes they will give back to the open source community, other times not.
Conventional WINE has shaky D3D9 support still, requiring a fallback to DX8 in many instances.
Another route that may be hopeful is virtualization. I'm not sure, but it may be possible to allow direct access to graphics hardware (or semi-direct) via the hardware virtualization support in modern Intel and AMD CPUs.