
Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net
This KCM allows you to easily configure the standard Qt graphics system.
Please note that this requires Qt 4.7.0 or greater to work.
9 years ago
- 1.3 -
Fix script creation if $KDEHOME/env directory does not exist
- 1.2 -
Improve backend handling in non-X11 default cases by triggering a file write only if necessary and remove it if not
More internal documentation
Typo fixes by Alessandro Ghersi
- 1.1 -
Detect standard backend if Qt was compiled with anything but X11
Add helper application (build with -DBUILD_PROBER=ON) to check what the current backend is
- 1.0 -
Initial release
9 years ago
- 1.3 -
Fix script creation if $KDEHOME/env directory does not exist
- 1.2 -
Improve backend handling in non-X11 default cases by triggering a file write only if necessary and remove it if not
More internal documentation
Typo fixes by Alessandro Ghersi
- 1.1 -
Detect standard backend if Qt was compiled with anything but X11
Add helper application (build with -DBUILD_PROBER=ON) to check what the current backend is
- 1.0 -
Initial release
g88
5 years ago
real homepage with docu
A way to set the Qt graphics system backend without recompiling Qt. In Qt 4.7 this is finally available.
You can configure the backend using the environment variable QT_GRAPHICSSYSTEM.
Now, since the topic of switching graphics backend in Qt is coming up now and then, I thought it would be a good idea to create a nice graphical interface. Actually I wanted something nicer to use for me personally :P
So I created a really simple KCM. You have 3 switches, of which two will write a .sh file to $HOME/.kde/env/. The content of this folder gets loaded at startup (via startkde), and that way you will globally end up with another graphics backend. That said, since the environment variable has lowest priority, it is still possible to override this on a per-application level (e.g. kolourpaint has problems with the raster backend I have been told).
Report
hipsterical
9 years ago
Report
ZaWertun
10 years ago
http://download.opensuse.org/repositories/home:/ZaWertun:/kde4/
(those, prefixed with "KDE_Distro_Factory_")
Report
ZaWertun
10 years ago
http://download.opensuse.org/repositories/home:/ZaWertun:/kde4/
Report
dunemafia
10 years ago
Report
pejakm
10 years ago
Report
apachelogger
10 years ago
Report
whashnez
10 years ago
Report
apachelogger
10 years ago
Report
whashnez
10 years ago
[ 0%] Built target kcm_qt_graphicssystem_automoc
[ 41%] Built target kcm_qt_graphicssystem
[100%] Built target qt-graphicssystem-prober
Install the project...
-- Install configuration: "RelWithDebInfo"
-- Installing: /usr/local/lib/kde4/kcm_qt_graphicssystem.so
-- Set runtime path of "/usr/local/lib/kde4/kcm_qt_graphicssystem.so" to "/usr/local/lib:/opt/qt-devel/lib"
-- Installing: /usr/local/share/kde4/services/qt-graphicssystem.desktop
-- Installing: /usr/local/bin/qt-graphicssystem-prober
-- Set runtime path of "/usr/local/bin/qt-graphicssystem-prober" to "/usr/local/lib:/opt/qt-devel/lib"
Report
apachelogger
10 years ago
You will need to install to the KDE search path (usually /usr), otherwise the desktop file will not be found and hence not show up anywhere.
Report
whashnez
10 years ago
Report
apachelogger
10 years ago
Say you have a Qt 4.7 installation in /opt/qt47 and your regular Qt 4.6 in /usr. Then you export LD_LIBRARY_PATH to include /opt/qt47/lib and hence override the standard search path /usr/lib, then every dynamically linked Qt application started with that setup will use Qt 4.7 and the option will have effect.
So it is more a question of runtime library loading rather than what an application was built against.
Report
apachelogger
10 years ago
b) Yes, generally when you do that all applications should load Qt 4.7 rather than the system one (that is: all apps that are not statically linked or have an rpath, I think rpath takes higher importance).
c) You do not want to do this globally since it can hurt stability (if/where) Qt 4.7 is incompatible with 4.6 (e.g. apps that are linked against QtMultimedia would still load that from 4.6 since 4.7 doesnt have it anymore and in the end you would have an application that overall runs on 4.7 but som parts are 4.7 due to QtMultimedia -> that can cause serious trouble).
Report
whashnez
10 years ago
Thanks for your help and sorry for the many questions!
Report
whashnez
10 years ago
Report
apachelogger
10 years ago
The backend basically is how widgets (i.e. buttons and textfields and icons etc.) are painted. And that how can either be a native toolkit choice, for example on Linux it will default to use the X11 API for that kind of stuff which will then take care of the actual processing. The raster engine is an own implementation of software rendering (which should be the same as X11 except that it is not as it mostly performs better). And OpenGL will, as the name suggests, directy all painting to the GPU.
So, say you use OpenGL then every button, textfield, icon... in a Qt application will be painted via OpenGL in the GPU. GPUs being specifically tweaked for graphics of course will calculate that usually super fast.
How the raster backend works is descirbed here:
http://labs.trolltech.com/blogs/2009/12/18/qt-graphics-and-performance-the-raster-engine
More information on OpenGL here:
http://labs.trolltech.com/blogs/2010/01/06/qt-graphics-and-performance-opengl/
So, while the OpenGL backend is probably the least working one (with Linux graphics drivers not being that much piece of awesome) it ought to be the fastest one if working, since the GPU will almost always out-perform the CPU when it comes to graphics.
Report
whashnez
10 years ago
Report
apachelogger
10 years ago
On a netbook for example the plasma-netbook application launcher ought to perform super fast with OpenGL.
As far as I know there is no way to check what backend is in use.
I do not think Qt will use a fallback though, if it breaks, it breaks. So as long as you have a recent enough Qt version (which ought to be 4.7 beta2 or above if I am not mistaken) it should be usign OpenGL if that is selected.
Report
whashnez
10 years ago
Report
apachelogger
10 years ago
Report
pejakm
10 years ago
http://labs.trolltech.com/blogs/2008/10/22/so-long-and-thanks-for-the-blit/
Report
babycakes
10 years ago
Report
Schiwi
10 years ago
Report
friesoft
10 years ago
Report