That would be nice if it's entirely true... but it's not.
Linux has a number of serious deficits in terms of video drivers and API support on it's desktop that makes what Adobe does on Linux very very difficult. It's much harder for Adobe to get good and consistent performance on Linux then it is on Windows or even OS X due to a number of reasons.
-------------------------------
Here is a example.
Look at DirectX vs OpenGL + SDL. SDL and OpenGL is about the closest we have to DirectX.
As you know gaming development is now dominated by DirectX. Now.. why would developers choose DirectX over OpenGL? OpenGL is fine and can take advantage of hardware just as well when you add vendor extensions and OpenGL is cross platform. So there has to be other things that the developers find valuable over DirectX.
Now you can point out developer tools and hype/marketting and that sort of thing, which is true. However I am convinced that one of the major reasons why DirectX displaced OpenGL as the API of choice for gaming developers is because of _constistancy_.
Even in Windows each vendor has it's own OpenGL stack. Sure you get a generic one from Microsoft, but when you install proprietary drivers then you end up using their proprietary stack.
Intel, ATI, Nvidia.. all have different OpenGL implementations. And vendor extensions are different from one to another. They have different performance profiles, different effects, and so on and so forth.
So in effect when your program for OpenGL on Windows your not targetting 'windows'. Windows is a like the Genus. Each video card provides you a different species of platform.
Were as with DirectX, Microsoft forces each vendor to have a consistent hardware platform and provides the unified software stack. When you program for DirectX there is not going to be much difference between end user's computers. This dramatically lowers the cost, effort, and support overhead of making games.
So in this way one of biggest reasons DirectX wins is not because of the techology, it's because of the developers have a easier time with it.
Now fast forward to Linux....
Linux is extremely schizophrenic. It's MUCH worse then anything you'd ever face in Windows.
Open source drivers vs nvidia drivers vs ati drivers vs open source nvidia drivers vs open source ati drivers. For a huge part of the target audiance you can't even depend on there being _ANY_ acceleration at all. And what acceleration is present, all except for proprietary nvidia users, is very inconsistant, buggy, and universally slow.
API support is spotty and incomplete. The only people have any sort of constistancy and performance approaching what you can get in Windows is proprietary Nvidia drivers... and even people using nvidia hardware they have to go through extra steps to install the drivers otherwise (until very recently) they lacked any sort of 3D acceleration at all.
Look at the discusson that went on here with Gnome 3.0 and Gnome shell. You have half of everybody bitching that requiring any sort of acceleration at all is just going to break their machines and make everything perform like shit, make it buggy, use to much resources, etc etc. When in fact when you take advantage of acceleration it _SHOULD_ things _faster_ and more efficient... A composited desktop is more efficient and faster then one that is not, for example. (it's just a better design.) Yet the common user experience on Linux is almost exactly opposite.
Any computer made in the last 13 years or so has relatively decent acceleration. Enough for many tasks. Any computer made in the last 7 years or so should have the capabilities to run simple and older OpenGL games and whatnot with accepetable performance. Even IGP stuff.
Yet it's very likely that a machine sold _yesterday_, when Linux is installed, will lack the ability to play Quakelive/Quake3 with good performance.. which is based on a _open_source_ game engine that was originally released for Linux 10 years ago.
This makes doing any sort of graphics work, if your goal is to support anybody other then just proprietary Nvidia users, just pure hell on Linux.
This is primarially why Adobe Flash on Linux sucks and is why you'll see the majority of open source and indie game development is happenning on Windows.
Posted Sep 2, 2009 2:13 UTC (Wed) by PaulWay (✭ supporter ✭, #45600)
[Link]
All of this is an amusing, but somewhat biased viewpoint.
DirectX has been changing constantly with every release. Not only do new features get added but they've changed how things worked and removed old stuff. I've had endless problems trying to get old games to run on versions of DirectX later than the one they were designed for. And this still doesn't address the issues of getting the best performance out of the hardware - Windows game designers often have to write special code to work with different graphics and sound hardware because of 'special' features, just as hardware drivers have been known to add in workarounds for some games' broken behaviour...
So realistically this isn't actually dissimilar from the 'chaos' you describe in Linux. Sound and video 'just works' on Windows or OS X is just a myth. I've seen far too many Windows developers harp on about how difficult it must be to program for different kernel versions, sound drivers, etc and gloss over huge swags of 'custom' code. OpenGL makes this look like a piece of nice, stable cake by comparison.
And then you've got the fact that Microsoft has been shown to be redoing its APIs just so that it can get a development lead for its own products at the cost of its competitors. I'd rather deal with the Linux developer community, arguments and stormings-off and outright refusals and all, than be told outright "we've just redesigned the fundamental API that your product uses, and we're releasing a product that competes with yours that uses that API, and its coming out at the same time that you're getting the API specs."
Have fun,
Paul
Con Kolivas returns with a new scheduler
Posted Sep 2, 2009 5:01 UTC (Wed) by zlynx (subscriber, #2285)
[Link]
Every version of DirectX back to freaking *5* is still supported. I can play Master of Orion 2, a 1996 game, on Windows 7 13 years later.
Microsoft is the *master* of backward compatibility.
Con Kolivas returns with a new scheduler
Posted Sep 2, 2009 5:44 UTC (Wed) by PaulWay (✭ supporter ✭, #45600)
[Link]
*shrugs* Well, I can't play Battlezone (1996, DirectX 5) or Battlezone 2 (1997, DirectX 7) on my Windows XP (DirectX 9c) machine. Both games bork out complaining that DirectX is not installed. So I guess those masters of compatibility missed something somewhere.
Have fun,
Paul
Con Kolivas returns with a new scheduler
Posted Sep 2, 2009 8:07 UTC (Wed) by zlynx (subscriber, #2285)
[Link]
I won't say MS is perfect at it. I will say that I think they are the best at backward compatibility.
For DirectX, I can say that my older games seem to work fine.
A Google search shows me people playing all sorts of Battlezone on XP, Vista and Vista64. It looks like there are patches.
Con Kolivas returns with a new scheduler
Posted Sep 2, 2009 8:03 UTC (Wed) by trochej (guest, #35052)
[Link]
There are companies that are much better at backwards compatibility than Microsoft. I use a kernel module compiled specifically for Sun Solaris system released eight years ago. I load it in the kernel of the latest development release of OpenSolaris. It just works and it is guaranteed. You can link code compiled with the latest release of compiler suite with libraries produced by years older release. If you can't, it is a bug and you fill it. Heck, I can link my SunStudio code with gcc produced code, to some extent and it was designed that way. So you really can do this. I suspect that there are companies even better at this than Sun.
Con Kolivas returns with a new scheduler
Posted Sep 2, 2009 14:34 UTC (Wed) by jordanb (subscriber, #45668)
[Link]
FWIU IBM z/OS is compatible with every OS in its linage back to the OS/360 from the 1960s.
Con Kolivas returns with a new scheduler
Posted Sep 2, 2009 16:15 UTC (Wed) by zlynx (subscriber, #2285)
[Link]
AFAIK, IBM does it with virtualization. When running 1960's software it is running the 1960's OS on simulated 1960's hardware.
Con Kolivas returns with a new scheduler
Posted Sep 3, 2009 4:56 UTC (Thu) by k8to (subscriber, #15413)
[Link]
Isn't that kind of aside from the point? I mean how they do it is pretty much their choice. They do it.
Con Kolivas returns with a new scheduler
Posted Sep 3, 2009 13:28 UTC (Thu) by zlynx (subscriber, #2285)
[Link]
I was just commenting on how they do it. I am not saying anything bad about it.
Con Kolivas returns with a new scheduler
Posted Sep 6, 2009 11:46 UTC (Sun) by trasz (guest, #45786)
[Link]
z/OS keeps full compatibility only for applications that don't mess with system internals. If your program does something strange (although supported by IBM), it's possible that it will cease working in few releases from now. Of course there is a whole process of phasing out features, so it won't be a nasty surprise to you or your customers - but still, they are definitely not keeping 30 years of backward compatibility for that.
Welcome To The Jungle
Posted Sep 3, 2009 13:09 UTC (Thu) by gouyou (subscriber, #30290)
[Link]
It reminds me of this blog post from the Adobe/Linux/Flash guy: Welcome To The Jungle.