Mr Vista and Linux DirectX

So the cat is out of the bag as to MS's next plan for world domination - Vista. I for one will be resisting it as long as humanly possible. When I was younger a new OS was like Christmas - playing with all the new toys seeing how it had got better. Ever since Windows 2000, each version seems to become more restrictive, and less "on my side". I like being able to be an administrator and write files anywhere. I like having a small menu depth of programs.

I do not like complex graphics that seem slow, hiding the names of files "for my protection" and screwed up control panels that put everything in different places - for simplicity.

Now I hear they want me to buy a DRM protected monitor to run their new king. Well count me out for a few years. I was able to avoid Windows XP all the way up to last year when I got a video camera that had drivers that only worked on XP. So how can I avoid being vista'ed?

Options:

Mac - if I am going to live in the DRM, you-do-what-we-say world, an Intel Mac is looking quite attractive. Apple at least understand how to make software better still (and they've added another button to the mouse!). Jobs is no friend of the power user, but at least he never professed to be.

BeOS - Ha. Just put it in for a joke. But maybe people will remember that was quite a good system - better designed than Linux, and now opensource.

Linux - The only serious emerging choice, but with a problem list as long as my arm.

Windows XP/2000 - Stick with an old version and hope enough people follow you MS has no choice. Easiest "do nothing" approach. Unfortunately DirectX 11 or 12 will probably not ship on it (or be crippled).

Some other Unix derivative - Unlikely. Even more work needs to go in to each of them and without other people picking it, its a chocolate teapot.


You see the hurd instinct wins this game. No point in mourning the loss of VMS or some other weird operating system. The masses must speak. Then everyone must follow. Which leads to no change.

So what requirements must the next OS have to make it a sensible choice? I am primarily talking about a home machine now. Let's take a look at what I need to live:

* A spreadsheet - actually more important that a word processor. Open Office is shaping up nice, and I know I can live with the functionality of Calc without noticing.

* A word processor - see above.

* A development environment - Eclipse meets this requirement quite well. Java development should be supportable on any of my chosen platforms. The debugger is pretty good now, and the editor is actually better than any other I've tried.

* A video player. My preferred choice is Zoom player a superb skin for the direct show filters. The mouse wheel skip and volume control make it excellent for the living room - an innovation noone seems to have copied. Going back to simple buttons feels like chiselling stone. Unfortunately its windows only. Someone needs to steal those features!

* A database. No real problem here. Postgres looks quite good, but fiddly. Oracle exists but's expensive. SQL server is easy to use. MySQL is a bit rubbish, but does the job for non commerical stuff. SQL Server is my preferred DB at the mo, simply due to its easy administration, and query tools. However DBs can live on dedicated boxes...

* Web broswer - IE is still king here. Most of the web is written for it, and ActiveX is excellent. Time for the weenies to dig out Corba or equiv and get it working in browsers. Firefox is ok as a simple browser however. I am trying to like it...

* File sharing utils - All are opensource. All get ported eventually.

* Games - I still like to play the odd game. PCs have a fine selection of games, which are designed and targetted at them (not consoles). I cannot see it changing that fast. Living room games are a different breed entirely. I note Mac game support has been increasing quietly...

* Any old crap that comes along I might want to try. This means a windows emulator at the moment or at least an x86 platform that can multiboot. Part of the joy of a hobbyist machine is the ability to run any thing that comes along.

* Ease of use - not having to spend my life in config files is always perferable unless I want to, of course!

Now of that list (which has been updated quite considerably since I started looking for alternatives) I can see I am much closer than I thought. Most things are either on or coming to Macs or Linux. There is still, however, one big area that needs improvement - Games.

Gaming on the PC was revolutionised by DirectX. Suddenly all those wacky cards, forcefeedback devices and headsets could be supported through a unified API. Only thing that was needed was that DirectX understood they existed. Then the developer could - with minimal effort - adapt their code to use them. The API is rich and powerful. Direct3D has been redesigned to work more like OpenGL, and since then has never looked back. It is the only sensible way of producing Pixel shader games reliably. Macs have quite a bit of promise in this area, but both Macs and Linux suffer from Not-DirectX syndrome. Sound tends to be limited to 2 channels, unless extension APIs are used to manage the other channels. There are lots of those.

3D is mainly OpenGL, but to be honest its still stuck in the 90s. The pixel shader stuff is poorly implemented and often breaks even on cards that claim to support it.

Game developers use DirectX. DirectX is not that large. Why not create an OpenSource DirectX implementation for Linux? How hard would it be? You could call it OpenX, and it could become the building blocks for the next generation of presentation for Linux. Making it consistent is the key, so I reckon it should be part of the main kernel development (though as a module rather than in the kernel). Its key goal should be to supply an API consistent with Windows, to allow developers quick porting of games to the platform.

All bedrooms have kids (young and old) that indulge in games more than they care to admit. They would like to run Linux cos of cost, but find themselves trapped by Windows. No point in installing Linux if Grand Theft Auto:Kill all humans is not out for it. Game developers find Linux development expensive, so make it cheaper. Convert the DirectX APIs.

Added bonus: driver support will go up. Windows developed drivers could easily be ported, enabling all the features, rather than the "Linux subset" offered today.

So go on Linus et al, make my dreams come true and allow me to say "hasta la Vista".

Comments

Anonymous said…
I've not used OpenOffice, clearly I should - I hope it doesn't try to be too much like word. Some kind of "word processor for professionals" would be nice.

From what I gather about Linux kernel development, it's not the platform for your OpenX. Because most products these days are made of off the shelf chips, hardware manufacturers can't afford to GPL their driver code - it's fair enough, we're talking about most of their development cost. Maybe some BSD derivative would be better?
Alex Powell said…
DirectX is a link between driver and the programmer. It fills in the bits the drivers leave out (or at least tells someone they don't exist). It means antialiasing (for instance) is just a toggle, the video card can have 10 wasy of doing it, but the request happens in a standard way.

Linux *needs* this. Plus it would be good if it were vaguely compatible with windows, as the code could then be easily ported. Make a port hard it won't happen.

The business of GPL and drivers is a pointless one. The end user violates the GPL, not the coder, since they bring the two together. Purists start muttering about it being closed source, but TBH its irrelevant. Most weenies are more than happy their card works as opposed to not!

Popular Posts