Once the splitting of the SceneOpenGL (https://git.reviewboard.kde.org/r/106357/) is merged into master, the SceneOpenGL2 can disable itself for specific drivers (supported method). For that the GLPlatform should recommend one of the versions specific for the given hardware/driver combination.
E.g. if the driver does not support OpenGL 2 it's better to use the OpenGL 1 code path even if the shader extensions are supported (see BUG #300901).
Author: Martin Gräßlin <firstname.lastname@example.org>
Date: Fri Oct 5 18:00:49 2012 +0200
GLPlatform can recommend the compositor to use
During detecting the OpenGL capabilities also a recommended compositor
can be set. This recommendation is honoured by the OpenGL based
compositors. That is the SceneOpenGL2 requires a recommendation for at
least OpenGL2 and the SceneOpenGL1 requires at least a recommendation for
OpenGL1. If the driver recommends XRender compositing the SceneOpenGL
performs the existing fallback to XRender.
With this recommendation the hacks in the Scene are removed, e.g. it is
no longer checked whether the driver is software emulation as that is
provided through the recommendation.
To overrule the recommendation the environment variable KWIN_COMPOSE is
extended by the values O1 and O2 to enforce either OpenGL 1 or OpenGL 2.
This overwrites all other checks. As a side-effect this allows now to run
KWin on the llvmpipe:
LIBGL_ALWAYS_SOFTWARE=1 KWIN_COMPOSE=O2 kwin --replace &
But not that I would recommend to use it :-)