[clug] improving Linux on the desktop

Darren Freeman daz111 at rsphysse.anu.edu.au
Wed Jun 9 08:41:28 GMT 2004


On Wed, 2004-06-09 at 15:19, jan wrote:
> Darren Freeman <daz111 at rsphysse.anu.edu.au> writes:
> 
> > Are you by any chance aware that the DirectX API changes so much
> > during each successive release that they have to include separate
> > binaries in the one bundle to handle all applications dating back to
> > DirectX 1.0? How is this in any way superior to having the source to
> > all your libraries? I suspect that most of the success of DirectX is
> > due to market dominance rather than clever design.
> 
> I think backwards compatibility is actually achieved by emulating the
> previous API. A friend of mine wanted to play Total Annihilation only
> a few years after it was released, but couldn't get it working because
> the backward compatibility of Direct3D was broken.

I played TA a month ago on DirectX 9.0. Also I played it a while ago on
wine (*not* winex) and it ran fine except that they haven't gotten
around to implementing fullscreen mode yet.

Umm, I'm not helping my argument at all so I'll shut up ;)

My friend who is a game developer bitches on a regular basis about
DirectX. According to him, successive APIs are so different that it's
not obvious how they would go about emulating the previous ones.

Anyway my point is that we could play this game just as they do, since
our libraries are versioned and we could just install every version in a
distro, but since your typical GNU/Linux distro is compiled from source
there wouldn't be any point since only the latest library versions are
needed.

This will of course break binary-only commercial apps, which is a big
problem if you want to run said apps. In the long run it's not clear to
me that this is a problem if we slowly reimplement every commercial app
that won't become GNU friendly. Eventually they will lose their business
model and fall by the wayside.

It's only a pain right now because often the best and/or easiest way to
do something is with a binary-only app that requires a stable API to
work at all. Nobody has any interest in maintaining older libraries
since the fun stuff is in designing the next generation. The major
exception is the wine team where implementing an outdated API is a
challenge, due to no existing free implementation and the extreme lack
of documentation.

> --
> jan

Have fun,
Darren



More information about the linux mailing list