I've just stumbled upon the packages libkwinnvidiahack4 (and also libkwinactivenvidiahack4 ). From the description I understand it provides some "hacks" for the KDE window manager in combination with an Nvidia binary graphics driver.
This package contains a library used by nvidia cards for the KDE window manager.
This package is part of the KDE workspace module.
However, this description lacks what it actually does. I use KDE/Kubuntu and I have the Nvidia graphics driver installed. What are the benefits of installing these packages? What do they do?
I've got the libkwinnvidiahack4
package installed (probably automatically), but I'm not sure what it is responsible for.
Running through the changelogs (apt-get changelog libkwinnvidiahack4
) give me the kde-workspace
changelog with an entry (several snippets taken from it):
- Move libkwinnvidiahack4 to its own package
Add the packages
- kde-window-manager-active
- kde-window-manager-active-gles
- libkwinactiveglutils1
- libkwinactiveglesutils1
- libkwinactiveeffects1abi3
- libkwinactivenvidiahack4
kde-window-manager/-gles depends on libkwinnvidiahack4
Don't install /usr/lib/libkwinnvidiahack.so. No one is supposed to link
against libkwinnvidiahack. Make kdebase-workspace-dev depend on
libkdecorations4 and libkwineffects1 instead of kde-window-manager now
that kde-window-manager contains nothing one can link against.
which also does not explain why these packages are added and what they do.
Best Answer
After a serious bit of Googling I came across this post:
Given that the quote is from a certain M-Graesslin, Martin is the chief maintainer in this area, so is a sure-fire source.
Indeed, looking at the source-code
This is actually the kde workspace module.
kwin/nvidiahack.cpp
is the source module in question - its a small module in itselfSince this hack is still in 13.04 - and is part of the core build, yes its still needed and its purpose is to ensure library linking for the OpenGL component of KDE is done in the correct functional order.
In terms of what the module does - it looks like it defines a runtime environment variable
__GL_YIELD
From the freedesktop spec
Thus the hack is to never wait and always paint on the OpenGL composite surface - most probably to stop graphical artifacts from appearing.