Tuesday, May 29, 2007

Short Overview: Current State of Mesa and OpenGL on Linux

(For full text with comments please click on the title)

Most free X.Org graphic drivers are based on Mesa, which is a free OpenGL specification implementation. However, while OpenGL is already in Version 2.1 the Mesa implementation only supports version 1.5. This is to change soon - but OpenGL will make new releases as well.

Graphics in Linux has several problems and issues: first of all there is only Intel providing real free graphics drivers - but Intel does not build high-end graphics software. Second, Microsoft did its usual monopoly homework, and everyone talks about DirectX 10 - it becomes harder to port graphics apps between Windows and Linux because on Windows you most certainly want to use DirectX. Third there is OpenGL itself: the development stagnated for quite some time and the current OpenGL API does not support all the new cool hardware things out there. Fourth, and that is something I realized just few hours ago, the OpenGL implementation for Linux, Mesa, does only provide an OpenGL implementation for Version 1.5 - although OpenGL 2.0 was introduced almost three years ago.

The first problem might see changes in the future: Nvidia always provided advanced graphics drivers for the Linux community, and AMD at least said it would like to solve issues somehow. The second problem is more difficult: it depends on how well OpenGL evolves in the future. If the API is well implemented with Windows and if there are impressive features and such things available which are appealing to developers on the Windows platform these might prefer OpenGL again instead of DirectX. But to achieve that goal the OpenGL people really have to do their homework.

This is somehow related to the third problem: OpenGL itself. Version 2.0 was released in autumn 2004, version 2.1 was released last year. This year we will see two releases at once: one release in the 2.x branch - and a 3.0 release.

First one that is coming out soon is Longs Peak (OpenGL 2.x), which is a major clean-up of the code after almost a decade and a half of nothing else but stacking numerous extensions together.
This API is supposed to arrive in summer timeframe, most probably July. Approximately three months after that, Mount Evans (OpenGL 3.0) will run specifically on hardware born after November 8th, 2006. You’ve guessed it correctly, we are talking about DirectX 10-class hardware, bringing all the features of unified 3D architecture to the world of OpenGL.

This means that OpenGL will get all cool features as well - eventually. I hope that this move is not too late, and I really hope that this will bring more people to use OpenGL again. This is crucial as soon as it comes to porting applications to Linux or any other operating system.

But to use all these cool features there must be drivers available who actually implement these features. Nvidia and ATI/AMD provide Linux drivers (and Windows drivers of course) implementing OpenGL in version 2.1 (Nvidia) or 2.0 (ATI/AMD). However, the free implementation of OpenGL, Mesa 3D is only at version 1.5 - which was released 4 (!) years ago. This is depressing somehow :/
However, the current development version of Mesa, version 6.5.3 is in a good state and a new version, v7.0 featuring OpenGL 2.0/2.1 support is expected soon:

Mesa 7.0 is expected to follow shortly.

Shortly can be anything, but to me it sounds like we see OpenGL support this summer.

The question is afterwards: how fast will the drivers pick up the implemented support for the new API? I can only hope that they are already targeting at the new Mesa release.

And there is another question: how ling will it take to take on with the next OpenGL releases? 4 years are just too much time for the fast developing graphics market.

But having a look at the Mesa news it looks more like that the main development was done in recent months, meaning that the development sped up, compared to the time before. This would mean that there is now an active development community behind Mesa. And if that is true chances are that we will see OpenGL 2.x and 3.x support soon in Mesa.

In any case, the new Mesa will be released soon. And since it will be the first main release after 3 years we can expect a lot of news overage, maybe even an interview or two and quite some information about the road map of Mesa and even OpenGL.

I just hope Mesa will update their homepage till then, it looks horrible at the moment ;)

1 comments:

liquidat said...

This, like other posts, are identical (!) copies of my posts. You simply copied them and placed advertisements all around.

Also, you removed the copyright notices I've placed on my page and of course you do not act according to the copyright stated on my page.

You do know what this is called, don't you? Stealing.

 
Blogging Secret