KWin May Drop Support For Catalyst, Vintage GPUs

Written by Michael Larabel in KDE on 20 February 2012 at 08:49 PM EST. 106 Comments
KDE
The KWin compositing window manager for KDE may drop its older OpenGL renderer, which would remove support for vintage GPUs/drivers, but this would also include eliminating -- at least temporarily -- support for the AMD Catalyst graphics driver.

Martin Gräßlin has written a blog post this afternoon entitled The Costs of Supporting Legacy Hardware. In this blog post Martin talks about the cost of supporting older graphics cards / drivers with the KWin compositing window manager for KDE users. In particular, he shares the troubles he has in supporting the older OpenGL 1.x renderer back-end for KWin. The OpenGL 2.x back-end, which is shared with the OpenGL ES 2.0 support too, is completely different from the old GL1 renderer.

He ends up saying that he may likely drop the OpenGL 1.x renderer from KWin as it's a support burden. A majority of hardware supports OpenGL 2.0+ (basically anything in more than the past half-decade), the GL2 code-paths are superior, and it's really just not worth maintaining the GL1 back-end any longer. Martin also mentions the XRender back-end for Kwin as being a cost with it being considered a "legacy support system" for those without proper OpenGL support.
To sum it up: we have increased complexity, increased maintenance costs and lots of code just for OpenGL 1.x related hardware which we cannot really test. So a rather bad situation. Additionally it is nothing which we can continue to support in the future. Neither Wayland nor Qt 5 will make sense on such hardware (XRender based compositing might still make sense with Qt 5, but as the name says not with Wayland).

Given this the logical step would be to remove the OpenGL 1.x related code completely. This would of course clash with the demand of some user groups thinking we have to run on old legacy hardware. In the case of Intel GPUs it might be in fact true that there is still a larger number of users around – this is of course difficult to judge.

Another real issue for removing is that the proprietary ATI driver (aka Catalyst/fglrx) only provides a decent compositing performance with indirect rendering restricting the available API to OpenGL 1.x. So removing OpenGL 1.x support would mean removing OpenGL compositing support for all fglrx powered systems even if the GPU supports OpenGL 4. But to be honest: given that the radeon driver has no problems with OpenGL 2 on the same hardware, I would not mind removing support for proprietary drivers.

So aside from those running deathly-slow hardware, Catalyst driver users at least temporarily would get shafted by this move. However, this may leave AMD no choice but to improve their GL code-paths that are stressed by KWin. The only other portion of users potentially affected in size would be those with Intel i945-based netbooks, which don't have full GL2 driver support in Mesa. All other worthwhile hardware and drivers out there are capable of handling OpenGL 2.0+ with KWin.

Martin does also mention the possibility of using LLVMpipe with KWin, which is something he is going to explore as a means of software acceleration. LLVMpipe already works quite well with the GNOME Shell, even in virtual machines, thanks to Gallium3D and LLVM. "If I am satisfied with the performance, I will be tempted to remove the OpenGL 1.x based legacy code..."
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week