Windows Games On Linux
Warrior-GS writes "Transgaming is working on a process that allows Linux users to play Windows games. According to their CEO, Gavriel State: "Essentially, TransGaming's work allows gamers to take off-the-shelf Windows games and run them directly under Linux. It won't run every game out there at first, but 100% compatibility is our long-term goal. To accomplish this, we have been working on a new Linux implementation of the DirectX multimedia APIs. Our work is closely tied with the Wine project -- an Open Source effort to implement the Microsoft Windows APIs on Linux -- in essence, a Windows compatibility layer. Wine is not an emulator in the traditional sense -- it doesn't emulate a CPU or any other hardware -- it loads and executes Windows programs directly on your Linux hardware without the need for any Microsoft code to be installed at all."
The whole interview can be found at GameSpy."
More games is a good thing, but non-native application support for linux is the last thing we want.
Look what happened to IBM's OS/2 platform. The windows emulation was so good that native OS/2 applications were never written. And once Microsoft pulled the rug out from underneath IBM with Win32, OS/2 died.
If Linux is to thrive in the consumer market, then it must do so on its own merits. Settling for weak Microsoft emulation is a step backwards.
Nothing will replace native support. When native applications are written for a platform, others will decide to start porting to this popular platform. If they only see non-native support, then they won't bother.
Why would you put the effort of writing for two code bases if only one would suffice? You wouldn't; that's obvious. So we'll end up with a world of Windows applications and none for Linux.
This would be fine, if we could trust Microsoft not to change the Win32 API, but can we? They're going to have to switch to a Win64 API soon. Will we be able to catch up?
It'd be better not to tie Linux's future to shoddy emulation efforts. Even if it's not true "emulation" in that sense, it still is vulnerable to the sort of problems that regular emulation is: all Microsoft has to do is change a couple libraries and we're back out in the rain again.
Real Linux Support Now. Don't settle for anything less.
Hell, no! If you are going to improve on DirectX, improve it on every platform. This "special feature" is exactly the kind of crap NVIDIA pulls with their OpenGL extensions. It works faster/it looks better but now you put the weight on the programmer: either figure out a way to work with and without the "special feature" or tell the player to get himself an NVIDIA card. Fuck it! I don't want to! I choose not to support a company that doesn't support me as a customer. All I want to do is spend US$40 on some stupid game, but the game won't run with my hardware. Well, bad luck, I'm not as happy, move on. Problem is, the day will come when every bloody game I'd like to run will be calling for the bloody card. And why? Because some greedy company not only designed an extension but put a patent on it. That is to say, some greedy company took away from me exactly what makes OpenGL a good thing: it's a well specified standard; it's vendor independent; it the back of your skull doesn't hurt when you read a program that uses it; but more important, it's extensible in such a way that a vendor is free to implement any given extension. That is, if there isn't a patent arround it.
So, no. You don't need to take DirectX and extend it in such a way that your "version" appeals to developers better than Microsoft's "version". If screwing people over is what is takes to make Linux "better", then screw Linux! Free Software is not about getting more people to use it, it's about helping to make better software for people who are willing to help along. It's about giving people the freedom to improve on the software people willingly use. It's not about screwing with some company to force others to move to my camp. If I wanted to do that I'd be writing non-free software to aid people at robbing with the click of a button.
This is insane. DirectX games currently run by the hair of their chinny-chin-chin, can you imagine the horror when yet *another* abstraction layer is added? And can you imagine the dark clouds over the game companies' tech support when they read "Yeah I'm running under Win 98.. i mean.. well, Linux, really..."
Actually, crappy, complicated installation is one of the reasons I don't buy so many PC games anymore. I just don't have time to futz with video drivers, patches, etc. People used to rag DOS games for being incompatible with hardware... have you checked out the README for a Windows game lately?
They already have a patch to wine that I tried quite some time ago. The American McGee Alice demo works just as well under Linux as Windows. (Unfortunately on both systems it crashes.) I haven't tried any other games, but they already have a bit of work done, so I wouldn't call it vaporware.
Dang, I hope this works. I have two computers in my house - a Pentium 450, running GNU/Linux, and a Pentium-800 running Windows 98 - and the only reason why the Win98 box is in my house is for my game reviews/walkthroughs.
Naturally, there's some hurdles to overcome, like speed optimizations, working through the entire DirectX system and making sure things work the same without Microsoft getting pissed off and trying to sue people for some sort of copyright violation (which is a good reason for these folks to work with the Wine project).
I know some folks are skeptical, but I honestly believe that games are a major issue (not the biggest - user friendly-ness for Bob User and software compatibility, the reason why Macs don't sell as well as Windows, IMHO) for Linux, or any operating systems acceptance, on the desktop.
With great game support (and when when I see some easy-to-use TV-card support for Linux so I can do my console walkthrough stuff), I won't ever have to run Windows again. (And, at the rate that Windows ME and Windows XP are becoming game unfriendly, at least in performance compared to Win98, I can't wait to ditch them).
Of course, I could be wrong.
John "Dark Paladin" Hummel
52 Weeks, 52 Religions with John Hummel
There is also Windows 2000, which runs all Windows programs better than anything else mentioned in this thread!
Assume that I (and perhaps other users connected to my system) want to run apps designed for working POSIX-compatible systems (not NT's bastardized "POSIX" subsystem) while I'm running Win32 apps. Assume further that I have already forked over three months' wages ($300) for Windows 2000. Apparent choices include
Will I retire or break 10K?
Actually, TransGaming has already integrated their DirectDraw patches back into the Wine cvs tree. With the latest release of Wine and the TransGaming patches, I can run Starcraft, Halflife, Diablo II (cracked to remove incompatible copy protection), and Alice. That's hardly vaporware. They've made huge progress in only a few months.
That pinball game that comes with Win2K is kind of cool, though.
Slashdot: Open Source, Closed Minds.
One way to handle this would be to pull a Microsoft on Microsoft. Emulate (embrace) DirectX and then extend its functionality in a way that appeals to game developers. Perhaps some easy to use calls that tie more directly into Linux, for improved speed. Developers still get to code to only one API, but they also have an opportunity to use one or two "special" calls to improve performance under Linux.
Over the course of time, as more and more of these special functions are added, developers will find that they are doing more and more stuff that is specific to Linux. Not because they have to, but because it improves performance and gives them a higher framerate in the Linux benchmarks.
In the fullness of time, they might find themselves stepping entirely away from DirectX on Linux and moving to the GNU DirectLinux API. Purely for performance reasons, of course, and because they've already got enough Linux-specific code that this is just one more small step.
From there it's only a short step to coding a port entirely for Linux.
Companies are notoriously short sighted. Appealing to them to make a radical change because it will benefit them in the long term is a pointless endeavor. Instead, give them 50 small changes, each with definite short term benefits, that when taken together arrive at the same place as the one radical change.