Direct3D on Linux?
An Anonymous Coward writes: "Newsforge [?] has a story about TransGaming
Technologies releasing a patch to support the
Direct 3D gaming API to Linux. It sounds like this
could have the potential to greatly improve gaming
in Linux." We've done a story about this already, but it looks like they're starting to make progress. It would be very impressive indeed to be able to run all new-release Windows games without Windows...
I hope the work to make it work correctly rather than making it work well. OS/2 tried to be a better Windows than Windows and better DOS than DOS. Why port to OS/2? It already runs your app better than the official platform (YMMV!)... Linux can not break into many home desktops without games. If games were able to simply run this would be a boon! I knew so many students dual booting to windows to play games. They all would ditch Windows if they could. All they needed was for their games to work. Even at half speed of windows for just about every game other than QuakeX (which id has a Linux version for...) that would be good enough. On the other hand if say just Black and White worked, but worked even faster than Windows there would be no reason for Lionhead to make a Linux port. Nor would Linux users even bother asking for one. Why would game companies spend time porting their games? The "open source community" just proved if they really want a game they can get it to run just fine.. Give me 99% of the games with DX running at 25% of MS's speed instead of 50% of the games running 99% of MS speed any day!
> It would be very impressive indeed to be able to run all new-release Windows games without Windows...
'Impressive' maybe, but I'd still rather buy titles from a company like Loki, and support native applications. Since Microsoft loves its undocumented and ever-changing APIs, I'd rather not rely on emulation of their libraries for all my games.
Direct3D in Linux would be neat, maybe it'd aid in porting, but we all know what happened with OS/2... a better Windows than Windows... *cough*
With DRI and XFree4 continuing to improve, Linux has just about everything game makers need. What needs to happen is for ALSA(advanced linux sound architecture) to get integrated into the kernel and for OpenAL to make some good progress. Then we should have one amazing game platfrom.
But I would add 3 more requirements to the Linux world domination goal
1. A single, easy-to-use method of handling fonts (for display, printing, tex, mozilla...)
2. A really good Free office suite
3. A Mozilla at version 1.2
Superiority of OpenGL?
Ah I sense we're in the lair of OpenGL worshippers.
Listen, MS was incensed that game developers chose to write their games to OpenGL (and Glide) rather than their earlier versions of D3D.
So, Microsoft tried to squash 'em, threaten 'em, and cajole 'em. They bought the rights to the OpenGL ICD win32 source code. They "partnered" with SGI to come up with "Fahrenheit"...the "successor" to OpenGL.
Finally, they threw money, effort and programmers into making D3D better...and they've SUCCEEDED!
Direct3D has out-evolved OpenGL. Now, after years of development, it's a much better 3D API. It has effects that OpenGL simply cant be made to do.
Tim Sweeney of Epic Megagames (Unreal, UT), has said as much..."OpenGL...blahblahblah...is obsolete"
Note that ATI, and NVIDIA design their cards around the DirectX/D3D spec, not OpenGL.
Carmack continues to plug away at OpenGL, but I suspect it's because he has a soft spot for Macs, and (to a lesser extent) Unix workstations. He wants portability, but in all reality, in any business sense, the Windows market is all there is.
Microsoft did the same for D3D as they did for MSIE. They started with a poor, nonstandard product and through years of effort, have made it the true standard...the best implementation there is.
Hate microsoft if you like, but it's the truth.
No, you should download the fonts for free from wherever they are on microsoft.com.
Or "apt-get install msttcorefonts" on Debian. Believe it or not, they CAN offer this on Debian, since the package doesn't contain the fonts themselves - it contains a script which downloads them.
--
Win dain a lotica, en vai tu ri silota
Have everyone forgotten, why we switched from Atari and Amiga(*) to PC? What was the reason learning DOS, learning to configure interrupts, loading drivers into HighMemory areas, learning to install Soundcards? We all bitched and moaned, but we did it!
It was because of the games. The PC had cool games and we couldn't get those for our old Home-Computer.
Everybody of our friends were switching to PC too. We had lot's of trouble learning all those things we didn't need to know before. But we were able to ask a friend. We were a community of people who switched to PC and after half a year we knew most of the things we need to know to get things run smoothly.
We need the same thing for Linux. Make Linux a gaming OS and people will happily learn all those quirks of this wonderful OS.
(*)Yes, there is a reason why I mention Atari first ;)
Of course, Draeker doesn't seem particularly interested in doing business with me, seeing as how I can't find anyone who wants to sell me his port of Tribes 2...
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
If that is not a testament to cross-platform gaming, I don't know what is.
.oO0Oo.
MAME
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
I was absolutely amazed 6 months ago when I downloaded & compiled wine with no probs, installed Starcraft + Expansion CD and started playing. Since then I've had varying success with Office 97 & 2000. I can't for the life of me install either into a non-windows setup, but parts of Office 97 run OK run a Windows installation. I'm haning out for 3 things ...
1) A freaking configuration utility for a non-windows setup.
2) Office to install into above setup.
3) Something other than Starcraft working. To be fair, I've almost gotten half-life to work, and I had IE 5.5 going too. But no 3dmark 2000, or anything else I throw at it. Maybe it's me.
I like the idea of wine though. I don't think it will impact the development of Linux software. ALl those who were going to write for Linux still are. We're just attracting the attention of those who previously wouldn't have had that option. And if the wine libs prove to be more stable (heh) and faster than Windows - which is quite possible - then we'll really have something to make a noise about.
Crank on wine!
Well you know what, I run both windows and linux, really I would prefer to be in linux all the time. I believe the only thing keeping linux from taking over is crappy linux fonts. It was the first thing my wife noticed, "ewww.. I cant read that" was her first comment when she tryed to us my system.
So, if you want to take over the world and be a real hero, put together a font package and give it to all the distro's!
Who cares if OpenAL and OpenGL are seperate downloads? Are you saying that users and developers will ignore an entire API because it comes in 2 files as opposed to whatever form DirectX comes in?
I don't think you can count DirectX as one library either. It is made up of several seperate components; DirectDraw, Direct3D etc may have similar names but developers still have to understand each library seperately.
OpenGL may lose a little momentum sometimes, but all it takes to get moving again is some new extensions to keep it up to date with what 3D hardware can do.
Yes - Id did give a huge boost to OpenGL, but they did so for a reason. It's a more portable API, that's very easy to write code for. I wouldn't say that OpenGL wouldn't exist if it wasn't for Id - OpenGL is not only for games. It's used a lot in 3D modelling packages.
There are two reasons I dont game in Linux...
1: There are almost no games available (This is what might be fixed in the long run...)
2: There are weak support for gametools, such as Wheels, Joysticks etc.
Unless i cant use my lovely joypin and my lovely wheel, i wont game in linux.. :-/
Probable impossibilities are to be preferred to improbable possibilities.
Aristotele
Assuming the X-Box has moderate success, developers will begin to move even further away from open graphics protocals. Like it or not, Direct3d is really easy to program for and has great compatibility with graphics cards in Windows. Look at the OpenGL drivers for ATI cards and you'll see what I'm talking about (apparently this has improved somewhat). Companies always care about the bottom line. Until Linux gets more market share, full on ports will only be done for the biggest games (and this even has yet to be reasonably profitable). I think companies would be willing to make cross-platform games if there were common libraries across the board - also, if there was something universal that was as easy to code for as Direct3d. Making a Direct3d wrapper like this (that can take direct 3d calls and render them with OpenGL or something) is a decent solution. Not perfect, but until someone makes something better than Direct3d companies aren't going to do anything. Now, if the open source community made a well documented, up-to-date, easy to code for, massively supported / cross platform API then we might get somewhere.
Linux won't get commercial games until it has more desktop market share - conversely it probably won't get a lot more desktop market share till it has games. Making it easy for developers to make cross-platform games is the solution.
This is a big step forward. Support in Linux for Direct3D, through Wine is the first step in the obvious progression to establishing Linux native support for direct3D. Support through an emulation layer isn't the conclusion of the development effort. This is a basic tenet of Open Source. The work of TransGaming is a great contribution, but if they choose at some point to conclude their efforts, others will pick up where they left off. Eventually there will be native Linux support for direct3D. This I am certain of.
As for following Microsoft, implementing their API rather than promoting the potentially vary competitive OpenGL; well, open source operates with an entirely different market model than treditional corporate development. Some market segments such as enterprise IT equally receptive to open source as to treditional software. This allows open source solutions to thrive in that market space. Other market segments such as computer gaming, target a customer base which is generally less technically inclined, and in pursuit of entertainment rather than productivity solutions - I maintain that development of efficient solutions to productivity issues is one of the driving forces behind open source development -, anyway, the gaming customer base is seeking entertainment rather than technical solutions to technical problems. As such, the gaming market will always be dominated by the easiest to use OS, with the simplest setup, and the most readily (as percieved by novice customers) available commerecial support.
This is why game consoles are still as popular as they are. There was a time when game consoles were themost advanced and highly customized platforms for video game entertainment. With the advent of extremely high quality video cards, sound cards, and control devices for PCs over the past decade, it would be reasonable to assume that customers might choose to purchase a PC (which can now be priced competitively wihth some game consoles - as amazing as that is, in and of itself), which is more flexible, and by every reasonable measure, more useful, but, alas! - game consoles are still extremely popular. I maintain that this is because the gaming customer seeks simplicity and ease of use that (as much as it pains me to say) linux doesn't yet provide at this point, even with the great efforts of Ximian, and the Gnome Project, among others
The point of this rambling diatribe is that computer game designer will always favor the simplest to use platform, which is inherently, where the majority of gaming customers will be. This means, that regardless of the elogance or superiority OpenGL, the Linux community will need to adopt direct3D because, as others have pointed out, no programmer wants to port code from one platform to another especially when that requires a significant API change. TransGaming has done great work so far and their progress is indicative of great things to come.
--CTH
---
--Got Lists? | Top 95 Star Wars Line
Our goal is to achieve 100% compatibility and full performance for off-the-shelf games. Both applications need to be installed on a Windows partition and transfered over to a Linux partition manually, since Wine currently doesn't work with installers made with the latest version of InstallShield.
Perhaps someone should get cracking on the installer problem, it seems quite like chicken or the egg to me. If the goal is eliminating the windows environment shouldn't some effort be put into creating a method of install that does not rely on one having a windows machine|partition?
Neverwinter Nights will prove to the Gaming Companies that releasing games under multiple platforms is a good thing. I will buy the linux version of the game upon release. My friends will buy the Windows version. If they are not on the same CD? Since Neverwinter Nights is being made in OpenGL they can use the same code base and just modify for the different OS's when problems come up.
I have a feeling Neverwinter Nights will be huge, esp in the Linux crowd since a lot of us are Role-Players. It is being released on Windows, Linux, Mac AND BeOS. If that is not a testament to cross-platform gaming, I don't know what is.
Arathres
I love my iBook. I use it to run Linux!
stainless steel
IMHO if this gets too good it could backfire and we will have no Linux games:
Company Wants to Port to Linux
Company has two options, Port it or WINE it.
Company figure WINEing will be cheaper
WINEd game is released.
It's slow and gets bad reviews
Linux Game doesn't sell well
Company hates Linux.
When an OS relies on the API of anouther OS (paticularily a Microsoft one) it can really be hurt be API changes... Think OS/2. It's DOS & Windows API layer was perfect so no-one wrote native apps for it. M$ releases Win32 OS/2 gets no more new apps. How long until Win64 is released and WINE becomes obsolete?
--Volrath50
Companies like Loki should concentrate on new games. If they ask to much money for the port -> transgaming.
I think a REAL gamer wants to play native ports rather than wobbly WINE emulations.
Although older games should run fine in WINE cause the hardware requirements are often lower.
Tim Sweeney of Epic Megagames (Unreal, UT), has said as much..."OpenGL...blahblahblah...is obsolete"
What an incredible misquote. Tim turned around and hired Daniel Vogel, the guy who wrote an amazin OpenGL renderer for UT under Linux. Epic has not abandoned OpenGL specifically because of it's cross platform availability.
Besides, if you've ever run UT using this OpenGL renderer, and compare it to the D3D one, you'll never want to play the game in D3D again.
Dinivin
That's fairly close to the truth, yeah. id's pretty much responsible for the current state of consumer-level OpenGL.
:)
But let's get this one pet hate cleared up first: DirectX != Direct3D. D3D is the (formerly steaming) pile that JUST does graphics. Windows games, even OpenGL-based ones, will use the other parts of DX (sound, input) no matter which renderer they use.
OpenGL is still much nicer to develop for than Direct3D, and doesn't suffer from the backwards-compatibility issues of D3D (I have OpenGL code from 6 years ago that still runs fine, whereas 90% of the D3D code from >3 years ago just crashes), but the two are pretty much functionally equivalent these days. Given that there was a lot more development for D3D even before that was the case, you're unlikely to see people switching to OpenGL any more; and with the marketing muscle behind D3D, new outfits are more likely to go with it.
(A couple of years ago when MS became a publisher as well as a developer, we talked to them at GDC: their attitude at the time, and I expect it's the same today, was: "If you want use to publish your game, you have to use D3D. We're not interested in OpenGL games". That's a pretty strong incentive for a lot of independents and smaller houses. There were a lot of rumours of "cash incentives" for teams using OpenGL to switch, but let's not go there).
Note to zealots: you might as well skip to the next post right now. The rest of this isn't going to be pretty...
Getting back to the Linux side of things: SDL isn't even remotely close to being ready for primetime. I'm not saying it's a worthless effort, but at the moment it's just not very good. Add to that the development cycle of a typical project, which is getting close to 2 years these days, and that might give you a rough idea as when you MIGHT begin to see decent games that are Linux native.
Assuming that anyone bothers, after the Q3 sales figures.
(Those of you who are going to try and justify that with "waaah... but... but... the Windows version came out first" - STFU. That wasn't the problem, and your attempts to pass the buck on it like that are pathetic).
A DirectX layer in Linux isn't going to cut it. Hell, almost none of my D3D games work properly on W2K, let alone anything else. And while I *might* consider playing somthing like The Sims under WineX (if there was a hope in hell of it actually working before I'd long since lost interest in the game) I certainly wouldn't be willing to give up 60% of my framerate in an FPS.
At the moment, the future of OpenGL (and hence Linux gaming in general) is in the hands of Nvidia. Yeah, those people that you constantly whine about because they don't open-source their drivers. As the hardware eveloves and supports more cool tricks, the specifications for those and the drivers to implement them need to be written. For instance, had Nvidia chosen not to expose the combiners of the GF2 or the VS of the GF3 in OpenGL, that would have been it.
GLX is a wonderful thing. And ooh, it's been shipping in a form SOMEWHAT usable by newbies for, wow, nearly a month now.
As it stands, the best we can hope for in the Linux world ATM is that it might "kinda" be supported. Certainly, no serious company is going to develop ON it, or make it their platform of choice. It's still hopelessly lacking in decent tools for content creation (yeah, the GIMP is nice - that covers 5% of it) and development tools (emacs - the Windows of the Unix world; and don't even get me started on gdb), but more importantly it hasn't shown any signs of a decent-sized PAYING customer base. id took a gamble on Linux, and it wasn't worth the effort. How long do you think it'll be before the next company decides it's worth a shot?
Sorry that I'm so down on this, but WineX or something along those lines is a total waste of time. It's a half-assed solution trying to simply hide the real problems with Linux gaming rather than address them.
Here's my advice to the people involved with it: scrap this pointless exercise and do something useful instead. Help out with SDL. Write some decent tools. Remind people that it's free as in speech, not free as in beer, and that games will be neither of those.
Judging by the "success" of Wine, by the time this thing becomes usable in 2004 there'll be 3 games that run on it, none of them being DirectX 12 ones, and even my dual 6GHz Jackhammer system will only get 35fps...
arQon
(waiting for the "-1, Unpleasant truth" moderation)