No "remaining time" option in battery monitor?

Martin Gräßlin mgraesslin at kde.org
Fri Jun 15 12:11:05 UTC 2012


Am 15.06.2012 09:48, schrieb Aaron J. Seigo:
> On Friday, June 15, 2012 09:28:17 Martin Gräßlin wrote:
>> Actually Shaun is right: we have removed all these things. If we 
>> would
>
> i am running kwin w/out compositing right now. so no, we have not
> removed all
> of these things.
>
> when the various checks were needed, we took the steps reasonable to 
> fit the
> needs of the hardware and drivers available then.
Aaron you are confusing the option to turn it off with automatic 
fallbacks/blacklists etc.

For the automatic handling for broken GPUs it's the way as I wrote it, 
or to put it in place:
Runtime detection in scene_opengl_glx.cpp:
     if (glPlatform->isSoftwareEmulation()) {
         kError(1212) << "OpenGL Software Rasterizer detected. Falling 
back to XRender.";
         QTimer::singleShot(0, Workspace::self(), 
SLOT(fallbackToXRenderCompositing()));
         return;
     }
     if (!hasGLExtension("GL_ARB_texture_non_power_of_two")
             && !hasGLExtension("GL_ARB_texture_rectangle")) {
         kError(1212) << "GL_ARB_texture_non_power_of_two and 
GL_ARB_texture_rectangle missing";
         return; // error
     }
     if (glPlatform->isMesaDriver() && glPlatform->mesaVersion() < 
kVersionNumber(7, 10)) {
         kError(1212) << "KWin requires at least Mesa 7.10 for OpenGL 
compositing.";
         return;
     }

Explained:
* if no driver is installed, we fallback to XRender. With any modern 
distribution this code will not be used, as Mesa nowadays supports all 
hardware, code is only relevant for virtual machines and becomes 
obsolete once llvmpipe is working properly and replaces the old Software 
Rasterizer
* the extension check should be removed as it affects only hardware at 
least older than r200 and is by that covered by the software rasterizer 
check
* the third check is the minimum requirement for Mesa drivers which 
could now probably removed, given that all distros ship that version

As you can see for a normal setup none of the checks will stop OpenGL 
compositing. Apart from that code there are no further 
blacklists/whitelist or fallback mechanisms to disable OpenGL 
compositing. (Exception: the code is fault resistant)

Everything else which we have is about dynamically enable additional 
OpenGL features, like using of OpenGL 2 or blur effect. Some of the 
additional features have in fact blacklists for drivers, but it's not 
affecting the overall usage of compositing.

The fact that we still allow to disable compositing is something 
completely different.

Hope that helps understanding what I wrote which is that we were able 
to remove all the blacklisting and fallback handling.

Cheers
Martin


More information about the Plasma-devel mailing list