Bug 306436 - GLPlatform should recommend either OpenGL1 or OpenGL2 compositing
Summary: GLPlatform should recommend either OpenGL1 or OpenGL2 compositing
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Unclassified
Component: scene-opengl (show other bugs)
Version: 4.9.1
Platform: unspecified Linux
: NOR wishlist (vote)
Target Milestone: 4.10
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-08 07:12 UTC by Martin Flöser
Modified: 2012-10-25 17:32 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 4.10


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Flöser 2012-09-08 07:12:10 UTC
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).
Comment 1 Martin Flöser 2012-10-25 17:32:31 UTC
commit e1d7bfa55663e3fb017bd088c9292e134327d9ce
Author: Martin Gräßlin <mgraesslin@kde.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 :-)
    
    REVIEW: 106741