KCM Qt Graphics System
System Software
Score 79%
Description:

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.
Last changelog:

7 years ago

- 1.3 -
[li]Fix script creation if $KDEHOME/env directory does not exist[/li]

- 1.2 -
[li]Improve backend handling in non-X11 default cases by triggering a file write only if necessary and remove it if not[/li]
[li]More internal documentation[/li]
[li]Typo fixes by Alessandro Ghersi[/li]

- 1.1 -
[li]Detect standard backend if Qt was compiled with anything but X11[/li]
[li]Add helper application (build with -DBUILD_PROBER=ON) to check what the current backend is[/li]

- 1.0 -
[li]Initial release[/li]

g88

1 year ago

https://apachelog.wordpress.com/2010/09/05/qt-graphics-system-kcm/#comment-467

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

g99

1 year ago

this webpage sucks almost as bad as the qt tool.

Report

g99

1 year ago



so you used the "bomb" icon and bombed your X?

chose "OpenGL" ?
Now you're blinded. Great.

Here is what u can try. run
kcmshell4 qt-graphicssystem
operate it blindly:
hit alt-x (for X-render)
hit alt-o (for OK, done)

log out, startx

back to normal if you're lucky.
maybe someone will document which .config file this crap operates on. What a trash tool.

Of course, the RESET and DEFAULT buttons do absolutely nothing in this trash proggy.
You're not even told that it is not a kcmshell5 proggy. What utter trash.

Report

g99

1 year ago

so you used the "bomb" icon and bombed your X?

chose "OpenGL" ?
Now you're blinded. Great.

Here is what u can try. run
kcmshell4 qt-graphicssystem
operate it blindly:
hit alt-x (for X-render)
hit alt-o (for OK, done)

log out, startx

back to normal if you're lucky.
maybe someone will document which .config file this crap operates on. What a trash tool.

Of course, the RESET and DEFAULT buttons do absolutely nothing in this trash proggy.
You're not even told that it is not a kcmshell5 proggy. What utter trash.

Report

g99

1 year ago

so you used the "bomb" icon and bombed your X?

chose "OpenGL" ?
Now you're blinded. Great.

Here is what u can try. run
kcmshell4 qt-graphicssystem
operate it blindly:
hit alt-x (for X-render)
hit alt-o (for OK, done)

log out, startx

back to normal if you're lucky.
maybe someone will document which .config file this crap operates on. What a trash tool.

Of course, the RESET and DEFAULT buttons do absolutely nothing in this trash proggy.
You're not even told that it is not a kcmshell5 proggy. What utter trash.

Report

g99

1 year ago

so you used the "bomb" icon and bombed your X?

chose "OpenGL" ?
Now you're blinded. Great.

Here is what u can try. run
kcmshell4 qt-graphicssystem
operate it blindly:
hit alt-x (for X-render)
hit alt-o (for OK, done)

log out, startx

back to normal if you're lucky.
maybe someone will document which .config file this crap operates on. What a trash tool.

Of course, the RESET and DEFAULT buttons do absolutely nothing in this trash proggy.
You're not even told that it is not a kcmshell5 proggy. What utter trash.

Report

g99

1 year ago

One click on "OpenGL" ... there goes your X for good.


This stuff does next to nothing besides destroying X. Terrible.

Seems the guy never understood any letter of the word "documentation".

Report

hipsterical

6 years ago

i'd like to install kcm but im clueless about howto compile/install the module. can someone please tell me or point to a resource where i can get it ? thanks. oh, btw i've kubuntu 10.10 64-bit

Report

ZaWertun

6 years ago

There is repos for OpenSUSE 11.2, 11.3, Factory and SLE 11-SP1:

http://download.opensuse.org/repositories/home:/ZaWertun:/kde4/

(those, prefixed with "KDE_Distro_Factory_")

Report

ZaWertun

6 years ago

Sorry for wrong url:

http://download.opensuse.org/repositories/home:/ZaWertun:/kde4/

Report

dunemafia

7 years ago

Tested it on Slack-current and on a custom LFS install with Qt 4.7 rc compiled with OpenGL as the default backend. It works the best, despite its experimental status, in fact brilliantly. Love it! Thanks, Harald.

Report

pejakm

7 years ago

http://aur.archlinux.org/packages.php?ID=40582

Report

C

apachelogger

7 years ago

thanks

Report

whashnez

7 years ago

I installed 1.1 the way I installed 1.0, but I cannot see it in system settings... What's wrong?

Report

C

apachelogger

7 years ago

Works just fine here, what does the output of your make install look like?

Report

whashnez

7 years ago

It looks like this:

[ 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

C

apachelogger

7 years ago

/usr/local will almost certainly not be the right directory.

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

7 years ago

OK, installed it to /usr, thanks. So let me get it straight. I have KDE 4.5.1 installed from Arch Linux repos which is built against Qt 4.6.3 I guess. As a result any selection I make in your app won't have any result at all with the applications from Arch Linux repos? A program must be built against 4.7.0 to have these settings applied to it?

Report

C

apachelogger

7 years ago

Well, that depends partially on how the application was linked to the library. If dynamic, which is most likely for arch, then it only depends on whether Qt 4.7 is in the library search path and with higher priority than 4.6.

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

whashnez

7 years ago

So, you say that if I export LD_LIBRARY_PATH=/opt/qt-devel/lib/$LD_LIBRARY_PATH in console, every new started application will be dynamically linked to qt-devel, hence using openGL as Qt Graphics System? Or I should override /usr/lib with another way? How can I do it so it will be permanent and all my applications use Qt 4.7?

Thanks for your help and sorry for the many questions!

Report

C

apachelogger

7 years ago

a) You would have to use : as seperator when exporting LD_LIBRARY_PATH
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

7 years ago

For me openGL works. Can you please explain what this does exactly? What are the benefits of using either of the three options provided?

Report

pejakm

7 years ago

I so envy you, opengl doesn't work for me, but at least the raster does.

http://labs.trolltech.com/blogs/2008/10/22/so-long-and-thanks-for-the-blit/

Report

C

apachelogger

7 years ago

Simply put: it will use another backend to render your applications.

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

7 years ago

Thanks for the replies! So I have OpenGL chosen, does that mean that it works perfectly on my system with the openGL chosen? Is tehre a chance that it failed and is using a fallback even if it shows openGL enabled? My graphics card is nVidia GeForce 9500M GS and my graphics driver is nvidia 256.53-1. I'm using Arch Linux 64. What's the difference I should notice in performance? Faster drawing for example?

Report

7 years ago

- 1.3 -
[li]Fix script creation if $KDEHOME/env directory does not exist[/li]

- 1.2 -
[li]Improve backend handling in non-X11 default cases by triggering a file write only if necessary and remove it if not[/li]
[li]More internal documentation[/li]
[li]Typo fixes by Alessandro Ghersi[/li]

- 1.1 -
[li]Detect standard backend if Qt was compiled with anything but X11[/li]
[li]Add helper application (build with -DBUILD_PROBER=ON) to check what the current backend is[/li]

- 1.0 -
[li]Initial release[/li]

File (click to download) Version Description Filetype Packagetype License Downloads Date Filesize OCS-Install DL
Details
version
1.3
updated Aug 26 2011
added Sep 05 2010
downloads today
0
page views today 9