| Warning |
|---|
| Before making any changes to your system, please read everything carefully and try to understand what you are doing. If you're modifying any files on your system, keep copies of the unmodified version and be sure you can revert to those old version - even if your Xserver is not starting any longer. |
| Warning |
|---|
| Some of the changes mentioned below are said to increase the temperature of your GPU. In any case, monitor your graphic card to make sure it isn't getting too hot! |
Several popular graphics cards out there - especially NVIDIA ones - exhibit performance problems with KDE4. These performance hits mostly concern Plasma - the KDE4 desktop - and KWin - the KDE window-manager. Generally speaking this isn't due to KDE4 being unoptimized but a problem with the cards' graphics drivers. Recent Intel laptops also have serious problems at the moment. This page encompasses certain problems that might arise and how to get rid of them.
For both of the big graphics chip manufacturers there different graphics drivers that can be used for each:
It's usually advisable to stay up-to-date as improvements are being made in the drivers. Thus a first step in improving your KDE4 experience should be checking your current driver and updating if it's outdated. Please refer to your distribution's documentation on how to do that.
While it might further increase performance, I do NOT recommend installing beta quality drivers because your system's stability will most likely suffer.
Attributes set using the nvidia-settings utility aren't permanently saved unless it is started as a root user. Login as root in the terminal and start with
nvidia-settings&
Otherwise you have to set them every time you restart your Xserver. This can be done conveniently by adding the lines to set the features to your ~/.xinitrc
It seems that older NVidia cards run into the problem that newly opened windows just are drawn as black windows or do not refresh properly anymore. This happens if composite is activated and openGL is used with many windows opened. Maybe the cards are running out of video memory? (The problem does occur with the compiz window manager as well.) In KDE4 you can deactivate composite/effects with Shift + Alt + F12 to continue your work with the desktop normally.
The problem is that drawing of the window decorations does become very slow if no composite is activated (tested with KDE4.3). As alternative to using openGL as composite engine it is recommended to use XRender in this case. Because moving effects become very slow with XRender you should turn animation speed to instant.
KDE4's systemsettings allows you to tweak some kwin settings as well. You can find the settings in . Depending on your card either OpenGL or XRender might work better. For OpenGL changing the OpenGL mode might change performance as well. Please bear in mind that changing some of the tweaks mentioned below might force you to change your settings.
(Note from user): XRender mode helped A LOT on a 6800 GT (agp) with the proprietary driver, especially while looking at videos (177.80).
Examples:
If for some reason your Xserver hangs after hitting the button on the dialog and your settings get reverted because you can't confirm your changes in time, try again. Usually it will be faster on one of the subsequent tries. If it doesn't you can still change your settings in ~/.kde4/share/config/kwinrc.
If after installing the NVIDIA's 177.80 versions beta drivers you're still experiencing bad performance (especially on 8xxx-9xxx series) you can install XGL xserver. Please refer to your distribution's documentation on how to do that.
| Note |
|---|
| XGL has *a lot* of issues regarding 3d applications, xvideo and keyboard layout but, with certain video cards, is now the unique way to enjoy KDE4 at full speed. XGL actually 'bypass' the nvidia driver using the mesa library to render the desktop. OpenGL-based desktop effects cannot be run on XGL. |
Some of the tweaks mentioned in this article are targeted at a file normally found in most distros at /etc/X11/xorg.conf
Some users on Fedora 10, however, may find that this file is no longer present by default (depending on their card- anyone with more details on this please feel free to elaborate), and so it must be re-created. To do this, either:
init 1
Xorg -configureas root (once you're done, this will generate the xorg.conf file), or you can do
sudo Xorg -configure :1without switching runlevel
This section summarizes several symptoms you might encounter and tries to explain possible causes.
XLIB_SKIP_ARGB_VISUALS=1 konsoleon the command-line and try to resize the new konsole window (setting the environment variable XLIB_SKIP_ARGB_VISUALS turns off ARGB visuals). If it resizes without problems, then this is certainly one of the problems you're facing.
| Note |
|---|
| I have found that this fixes Dolphin's preview delay too for me. Please confirm. --dpalacio 17:33, 27 July 2008 (CEST) |
If you have an older graphics card, hardware acceleration may be a struggle for it. This may be particularly obvious when watching flash videos such as Youtube videos. This may help:
In the Section "Device"
...
Option "BackingStore" "true"
...
EndSection "Device"This works for some (eg. konsole) but unfortunately not all windows.
XLIB_SKIP_ARGB_VISUALS=1in your ~/.xinitrc but this isn't pretty.
$ nvidia-settings -a InitialPixmapPlacement=2This works for some (but unfortunately not all) NVIDIA cards.
Section "Device"
...
Option "AccelMethod" "EXA"
# optional, may improve performance but introduce visible artifacts
# Option "MigrationHeuristic" "greedy"
...
EndSection "Device"
Performance will be somewhat better on older X servers (<=1.4.2) and significantly better on the latest prerelease X servers (>=1.4.99.901) with this option.
NOTE: If you use kernel 2.6.29, there is many bugs and xorg freeze randomly with enabled UXA extension.
Section "Device"
Identifier "Generic Video Card"
Driver "intel"
Option "AccelMethod" "UXA"
EndSection
With this config, my i945G with PentiumD820, makes 350-500 FPS in Glxgears, and all effects runs perfect with Opengl render.
TODO
$ nvidia-settings -a InitialPixmapPlacement=2 -a GlyphCache=1This works for some (but unfortunately not all) NVIDIA cards. Some cards reportedly work better using
InitialPixmapPlacement=1or maybe even
InitialPixmapPlacement=3
TODO
The Open Source radeon driver uses the XAA acceleration method by default. So you need to change the acceleration method from XAA (X Acceleration Architecture) to the newer EXA. As this involves editing your xorg.conf file, bear in mind that if you make an error, it may result in X not starting on your system, so first save a copy of the existing xorg.cong file.
To make the switch, edit your xorg.conf file. Locate the Device section for your graphics card. Before the "EndSection" line, addOption "AccelMethod" "EXA"
If there is already a line with AccelMethod, change it from XAA to EXA. Save the file and restart the X server.
Note that using EXA may result in some older applications, such as some KDE3 programs being rendered incorrectly.
When using EXA it is strongly recommended to use a recent X server, at least 1.6.x or even better the new 1.7 release -- perhaps best to wait for 1.7.1.
If you have an AGP-based card then you may also want to add the following line at the same location into the configuration file.
Option "AccelDFS" "true"
This should accelerate the driver even more, but may get you a hardlock when starting X. So be cautious with this option. See this article for more information on this topic.
The first one refers particularly to systems running KDE prior to 4.3.1 -
These hints won't turn an old graphics card into a fast one, but they will make Desktop Effects a feasibility on many older cards.
This seems to affect Intel and ATi cards. AccelMethod seems to be the culprit. The default acceleration path for most drivers right now is the outdated and slower XAA (Option "AccelMethod" "XAA") which is not recommended anymore, especially with compositing. Unfortunately, the proprietary binary blobs of ATI and NVidia still only support XAA
Try enabling EXA acceleration by adding these two lines to xorg.conf
Section "Device" Option "UseAtomBIOS" "true" Option "AccelMethod" "EXA" # ... EndSection
This works with both the radeon as well as the radeonhd driver but only with cards up to an X1950. HD2xxx and above aren't supported yet.
AtomBIOS is automatically used by the radeon driver, so that line will need to be commented out. If you have the radeonhd driver, however, you will need it. EXA is expected to become the default in the near future, but having it specified here is unlikely to cause any problems even then. 3D and EXA support for HD2xxx and above is expected later this year (2009) as they are already in an experimental branch.
It's worth checking Xorg.0.log for mention of EXA. If you don't find it (or UXA) try adding the EXA line as described in the ATi section. UXA is an experimental option, but only supported by a few drivers. It's likely that the best bits will be merged into EXA soon.
Phoronix forums is a good place to read more about this.
On NVIDIA cards krunner's dialog might appear several times below each other (with only the topmost one editable). This is related to setting InitialPixmapPlacement=1 as recommended above. There's currently no known way to remedy this problem. However, it only appears on one relatively early version of KDE 4.
At some point you may have been told to add KDE_SKIP_ARGB_VISUALS to either ~/.bash_profile, /etc/profile or in ~/.profile. If that rings a bell for you, hunt for it and comment it out. You may find that they magically re-appear. Otherwise, check the Qt4 libraries you are using. In my case I needed Qt 4.4.3 together with KDE 4.2.