Project aims to bring DX10 gaming to XP, Linux, OS X

Status
Not open for further replies.

Hak Foo

Ars Tribunus Militum
1,562
I actually wouldn't be surprised if it's feasible.<BR><BR>DirectX is probably a fairly well-documented part of the Windows API, compared with some of the parts the WINE people have to fight with.<BR><BR>I could see a "wrapper" library which spoke DX10 on one end and DX9 on the other (or with software-rendering for the things which aren't readily adaptable).<BR><BR>The real issue isn't "Can DX10 be emulated", but rather "can it be done with adequate performance." I'd expect there's the rub.<BR><BR>Even if you have an R600 or an 8800, the DX10-clone would have to be capable of getting the card to exploit its DX10-functionality, which may be difficult without the Vista drivers installed.<BR><BR>You could, theoretically, render the whole scene in software-- it would be DX10 still, just terrifically slow.
 
Upvote
0 (0 / 0)
I can't imagine that the performance hit would be anything less than ugly. One potential way to improve performance would be to spin the software rendering off to other, unused cores, but my (admittedly limited) understanding of multi-threading indicates that's none too easy to do. <BR><BR>I don't really see DirectX 10 becoming a killer feature anytime soon. No developer I'm aware of has any plans to create "Vista-only" games, which means that DX10 support will be relegated to "added bonus, if you've got it" for quite some time. <BR><BR>If you're enough of a gamer that you've absolutely got to have every last ounce of visual goodness, you'll upgrade to Vista anyway, even if its just for gaming purposes. If gaming *isn't* that important to you, chances are you'll be just as happy in DirectX 9 under XP or 2K. It's not that I'm against the Alky Project--I wish these folks the best of luck--but delivering a high-performance DX10 wrapper that preserves the visual quality of the API (as compared to DX9) without sacrificing performance is a pretty damn tall order.
 
Upvote
0 (0 / 0)
Wouldn't this be similar to the old wrapper we used for OpenGL era waaaay back in the Quake days?<BR><BR>Why is everyone so worried about DX10 when to the best of my knowledge, we don't have pure DX9 games?<BR><BR>I hope he is a 19 year old genius...if not, he has earned a seat pretty close to the DNF team which is a distant second to the Phantom console guy.
 
Upvote
0 (0 / 0)
The good thing about DX9 games are the 'hard part' is mostly shader translation. If you got a good OpenGL 2.1* GPU you're dancing. I've been playing Oblivion in Linux for months just fine, and it gets better with every release.<BR><BR>Wine is already 'porting' their D3D to wine's own WGL, so they can have a Windows XP version. Basically, this means they'll just have to port WGL to the native OpenGL to port Wine for the most part -- at least in terms of graphics. From what I've seen of current patches floating around Wine has the talent to do DX10. I'd love to see the GL context and DirectShow ( mp3 music , etc ) patches make it to trunk however... then even noobs could get 'media player' music support in every game. =(
 
Upvote
0 (0 / 0)

siliconaddict

Ars Legatus Legionis
13,009
Subscriptor++
Umm correct me if I'm wrong but its not just a matter of emulating the API's this time around. DX and more specifically Direct3D is closely tied to Windows Display Driver Model (WDDM). As such its going to have a bitch of a time trying to pull off some of the API's that work with that driver. Am I off on this thinking?
 
Upvote
0 (0 / 0)

InfernoBlade

Ars Tribunus Militum
2,884
Subscriptor++
<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">Originally posted by SiliconAddict:<BR>Umm correct me if I'm wrong but its not just a matter of emulating the API's this time around. DX and more specifically Direct3D is closely tied to Windows Display Driver Model (WDDM). As such its going to have a bitch of a time trying to pull off some of the API's that work with that driver. Am I off on this thinking? </div></BLOCKQUOTE><BR><BR>No, doing GPU memory paging and virtualization is quite beyond the capabilities of NT 5.1. The small changes, like say Shader Model 4.0, can be wrapped in D3D9 without too much of a problem, but the WDDM kernel changes cannot.
 
Upvote
0 (0 / 0)
Oh, it's legit in the sense that they've got something going. The documentation in their "Readme", however, is a joke as far as actually getting to a visual output. The problems I had that prevented me from actually viewing the recommended DX10 Tutorial were entirely related to the proper configuration of Visual C++ Express. They provide virtually no information on how the program needs to be configured, and it's been about 8 years since I took any C++ programming.<BR><BR>My biggest concern is that there's no effective or practical way to pull off what they're attempting to do, but I'm not sure there's any active attempt to deceive.
 
Upvote
0 (0 / 0)

torok

Ars Tribunus Militum
2,000
I wouldn't hold my breath. Converting DX10 to DX9 is one thing, but DX10 to OpenGL? Yeah, sure. I guess VMWare can virtualize OpenGL to DX7 or so? Something tells me they aren't using such an old version because they like it better then 10. My guess is that it's because DX and OpenGL are vastly different APIs and it's a massive task that may not even be possible.
 
Upvote
0 (0 / 0)

throx

Ars Scholae Palatinae
1,322
<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">Originally posted by InfernoBlade:<BR>Doing GPU memory paging and virtualization is quite beyond the capabilities of NT 5.1. The small changes, like say Shader Model 4.0, can be wrapped in D3D9 without too much of a problem, but the WDDM kernel changes cannot. </div></BLOCKQUOTE><BR>Exactly.<BR><BR>A game written just using SM 4.0 and nothing else at all from DX10 wouldn't be too bad to create a wrapper for. The question is whether such a beast even exists or would ever exist - the non-pipeline benefits of DX10 are far too juicy to pass up if you're writing high performance code, so why would you intentionally hamstring yourself to just the parts that a wrapper could use?<BR><BR>What they are doing is technically possible, but not technically feasible.
 
Upvote
0 (0 / 0)

The Twist

Smack-Fu Master, in training
52
I believe that one of the things that is really hurting Mac gaming is the lack of a modern graphics API like DirectX 8+ or OpenGL 2+. I was hoping that Microsoft's WPF/E (aka Silverlight) would include DirectX for other platforms but it doesn't look like that dream is going to be fulfilled.<BR><BR>Getting DirectX 8+ running on Mac OS X would be pretty great but this doesn't sound like the way to do it to me. I would love to see an open source project dedicated to recreating the DirectX API on other platforms. Make it a framework or library or whatever the correct term here is that can be installed on a computer and then accessed the same way the OpenGL framework/whatever is. With something like this porting games to Mac OS X would become even easier. I can even suggest a semi-clever name: IndirectX.
 
Upvote
0 (0 / 0)
SOB! So that's what happened to the Alky Project!<BR><BR>The original Alky Project had similar goals (allowing you to run Windows games and eventually, other apps on Linux or OSX), and he did get basic Windows apps to run under OSX. (as in a simple dialog box).<BR><BR>The dude quietly canned the opensource model of this project. It was original licensed under LGPL. He pulled the plug on the original site: www.alkyproject.com without saying a word!<BR><BR>Then he turned it into a closed-source business while redefining the goals of the project. (Now its DirectX 10 support to WinXP, Linux, OSX).<BR><BR>Here's part of his original website content...<BR><BR><BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content"><B>What is Alky?</B><BR><BR>Alky (pronounced "AL-KEE") is a tool that allows you to convert a Windows executable to a Mac OS X or Linux binary. We are focused on high-end gaming at the moment, though we will support other applications in the future. Our binary translation layer is already working fully for OS X and Linux support is in progress. Of course, Windows applications use a very different set of libraries from Linux or OS X applications so we are also working on a library called LibAlky that will provide those Windows libraries to the application.<BR><BR><B>How is Alky different from Wine?</B><BR><BR>Alky may seem similar to Wine/libwine in many ways, but Alky differs on a few major points:<BR><BR>1. Alky requires no Wine server-like software, reducing overhead greatly.<BR>2. Alky converts binaries rather than running them through it at runtime, so a vendor can use it to port an application and ship with it without requiring any additional dependencies on the user's machine.<BR>3. Since Alky runs at the binary level, applications can be ported without any access to the source.<BR>4. Since Alky doesn't depend on access to the source to port applications (as noted in #3) we can greatly clean up the APIs, so long as we keep them binary-compatible. This gives us a lot of freedom. </div></BLOCKQUOTE> <BR><BR><B>Project Alky is dead</B><BR>http://linux-and-free-software.blogspot.com/2006/11/project-alky-is-dead.html<BR>(Well, at least to opensource folks it is).<BR><BR>There's at least 1 person who's laid their US$50 back in Dec 2006 and demanded results! (a forum post at FallingLeaf Systems forum)...And guess what the response was? Give us more time.<BR><BR>I wouldn't spend a dime supporting this person unless they can guarantee what they're claiming. (With a fully working demo that actually runs a game).<BR><BR>No thanks, I rather side with Wine.
 
Upvote
0 (0 / 0)
At this stage they seem to be getting plenty of coverage for something that doesn't do anything at the moment but has big promises.<BR><BR>...they are also asking $50 for further info.<BR><BR>I get plenty of stuff like this everyday in my inbox. albeit, not as polished...<BR><BR>Even if it is legit, personally I don't see the point. The hit you're going to take is not worth it especially since any DX10 game is probably going to be bleeding edge anyway and require the best setup. Trying to play it through some conversion process is going to be a slideshow - is sticking with XP only really that important to you? Just dual boot with Vista...
 
Upvote
0 (0 / 0)
I always hear some company is making cross-platform API for Direct-X, but then I never hear much from them again. Does this mean that they usually run out of money before they get to something worth releasing, or that game companies have already written off the other platforms? I would be curious to know what the history has been here, i.e. where things failed for whatever reason.<BR><BR>I almost wonder whether the better approach would be to make a reference implementation, that is dependent on Open-GL, and then encourage other people to write the last 2% for the given platform.
 
Upvote
0 (0 / 0)
<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">Originally posted by Dputiger:<BR>I don't really see DirectX 10 becoming a killer feature anytime soon. No developer I'm aware of has any plans to create "Vista-only" games </div></BLOCKQUOTE><BR><BR>Yeah, my thoughts exactly.<BR><BR>I'd really like to see WINE concentrate on *older* versions of DX in the short term, rather than newer. WINE currently works best on "recent" games written for DX8 or 9. HL2 on my Mac was amazing, slow load times but better graphics performance than the PC it replaced. But all those older games I like fail.<BR><BR>Maury
 
Upvote
0 (0 / 0)
<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">Originally posted by The Twist:<BR>I believe that one of the things that is really hurting Mac gaming is the lack of a modern graphics API like DirectX 8+ or OpenGL 2+. </div></BLOCKQUOTE><BR><BR>I have to disagree. The vast majority of games either do not use these technologies at all, or alternately do so in an entirely optional way. The version of OGL currently supported on the Mac does just fine for all of the blockbuster games that come to the platform.<BR><BR>I think there's a number of problems, and trying to focus on one as *the* problem is probably a bad idea. Some of the issues are:<BR><BR>1) new standards increase complexity of the game engines with little or no payoff. You can add DX10 to a game, but only a *tiny* minority of your customer base can use it. So you have to end up supporting both 10 and some older standard as well.<BR><BR>2) the support load is very high compared to consoles. If you write a game for the XBox you know it will work on every XBox out there. This is definitely not the case for PC's or Macs. It's simply unattractive in comparison, even with the better selection of development tools.<BR><BR>3) as a result, everyone in the industry is saying PC gaming is dead.<BR><BR>Now multiply all of those by 5% for the Mac marketshare. This is not a technical issue, it's a business issue.<BR><BR>That's not to say there aren't technical issues to solve. For instance, I advocate the selection of a suite of open-source DX-like APIs to produce a single target bundle to port to. DX is used for a number of items, 3D graphics, input control, sound and a few other utilities. While all of these are available in open source forms, there's no *single platform* that everyone's pulling. Quite the opposite, there's a lot of overlap between SDL and things like OpenAL.<BR><BR>I think Apple is in an amazing position to provide some real leadership here -- without do any real work. If they sat down with their counterparts in the Linux/Unix world and picked the API's that are most likely to provide a complete solution, then there's a platform that works on a wide variety of systems without the guesswork. I mean I look at this stuff all the time, and *I* don't know what I'd recommend to people.<BR><BR>I'd argue that this is a much larger barrier to entry than the latest-n-greatest graphics API.<BR><BR>Maury
 
Upvote
0 (0 / 0)

throx

Ars Scholae Palatinae
1,322
<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">3) as a result, everyone in the industry is saying PC gaming is dead. </div></BLOCKQUOTE><BR>You're apparently talking about a different "industry" to the one that is still pumping out a stupidly high number of games per month for the PC, at higher quality than you can find on a console.
 
Upvote
0 (0 / 0)

Sean Aaron

Wise, Aged Ars Veteran
139
<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">Originally posted by Maury Markowitz:<BR>I'd really like to see WINE concentrate on *older* versions of DX in the short term, rather than newer. WINE currently works best on "recent" games written for DX8 or 9. HL2 on my Mac was amazing, slow load times but better graphics performance than the PC it replaced. But all those older games I like fail.<BR><BR>Maury </div></BLOCKQUOTE><BR><BR>Ditto. Obviously DarWINE needs a stable release first, but the games I most want to play are Star Trek space sims from the late 90s like Starfleet Command, Klingon Academy and Star Trek: Armada. All of these use DirectX 6-7; none of them are playable in WINE.<BR><BR>Still, I've only recently learned of Vega Strike and the Trek mod for that, and the Wing Commander Saga runs very nicely on my G4 iBook. Plus I'm very pleased to be able to play X-COM via dosbox -- quite amazing.<BR><BR>Some day I hope to see Christopher Plummer as Chang instructing me in Klingon starship command on my OS X desktop. I can wait...
 
Upvote
0 (0 / 0)

benwaggoner

Ars Praefectus
4,102
Subscriptor
<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">Originally posted by The Twist:<BR>I believe that one of the things that is really hurting Mac gaming is the lack of a modern graphics API like DirectX 8+ or OpenGL 2+. I was hoping that Microsoft's WPF/E (aka Silverlight) would include DirectX for other platforms but it doesn't look like that dream is going to be fulfilled. </div></BLOCKQUOTE><BR>Silverlight, while awesome, is software rendering only.<BR><BR>Still, it was pretty cool to see my 1280x720 4 Mbps WMV clips I authored playing in it! Simple 3D gaming certainly would be possible, but nothing that would require DX10 performance.
 
Upvote
0 (0 / 0)

dietbrand

Seniorius Lurkius
11
Performance......dropping........must.......not.......try.......DX10.............by........Alky<BR><BR>*sigh*<BR><BR>Don't do it just yet, Performance will surely drop through the project itself, when you managed that, try running DX10(!) then...<BR><BR>I have high hopes for a solution from someone else, say.....Microsoft?
 
Upvote
0 (0 / 0)

m33p0n3

Seniorius Lurkius
1
I've met and spoken with their so "19-year old lead programmer" online, and he is not to be trifled with. Cody is a particularly skilled programmer, and had Alky off to a good start a year ago while it was open source. I have faith that he can pull it off, it's merely a matter of time and how much help he can get. A single person can only code so much at a time.<BR><BR>[edit] To address concerns of performance, the entire concept behind it was to provide direct replacement for the libraries used in Windows games. This limited the project to specific programs, but it also means that it will run at a normal framerate, unlike running it under an emulator such as WINE.
 
Upvote
0 (0 / 0)
"To address concerns of performance, the entire concept behind it was to provide direct replacement for the libraries used in Windows games. This limited the project to specific programs, but it also means that it will run at a normal framerate, unlike running it under an emulator such as WINE."<BR><BR>What you describe here is exactly what WINE already does. Which is to replace the necessary libs with their own. Thats why some wine apps can run pretty well. The reason why wine has so many issues is due to MS documentation and you can never predict how an application will react because wine has to basically work backwards. I really don't see to big a difference between what you mention here and Cedega(winex). Unless there is something I'm missing.
 
Upvote
0 (0 / 0)

gusgizmo

Ars Praefectus
3,054
Subscriptor
<BLOCKQUOTE class="ip-ubbcode-quote"><div class="ip-ubbcode-quote-title">quote:</div><div class="ip-ubbcode-quote-content">Originally posted by m33p0n3:<BR>I've met and spoken with their so "19-year old lead programmer" online, and he is not to be trifled with. Cody is a particularly skilled programmer, and had Alky off to a good start a year ago while it was open source. I have faith that he can pull it off, it's merely a matter of time and how much help he can get. A single person can only code so much at a time.<BR><BR>[edit] To address concerns of performance, the entire concept behind it was to provide direct replacement for the libraries used in Windows games. This limited the project to specific programs, but it also means that it will run at a normal framerate, unlike running it under an emulator such as WINE. </div></BLOCKQUOTE><BR><BR>Honestly, a few games come to mind that have run faster for me under wine than they have in windows. These are mostly openGL games, however. But really, in my mind I don't see the advantage with todays hardware. Especially considering the maturity of the wine project and the availability of tools like winelib, and the proprietary tools developed by transgaming. The not needing access to source code doesn't really hold water for me, IMO, because inevitably there will be bugs, and it will be easier to fix them in the source of the game than it will be to fix in the translation engine.
 
Upvote
0 (0 / 0)
Status
Not open for further replies.