< User:Lemma
Revision as of 13:19, 1 August 2008 by Tampakrap (Talk | contribs) (Fixed making the options permanent, as requestet by the author. Added some xorg.conf information which might help.)

Jump to: navigation, search
I do not suggest running BETA quality software (especially drivers) on any system. This page merely describes what I did to my system and how it worked out - don't expect the same and don't blame me if your system crashes.

The problem

KDE4's performance on newer NVIDIA cards of the 8xxx and 9xxx series is currently pretty choppy. For as long as I've been trying running KDE4 I had to fight an unresponsive plasma and some windows that just wouldn't resize with more than 0.5 fps.

The remedy

Lately I've been reading up on a thread on the NVIDIA forums. I found out that performance can be increased dramatically by doing the following:

  • Install the latest NVIDIA graphics driver (173.14.09 works fine for me)
  • Make sure you the NVIDIA kernel module gets loaded by either rebooting or rmmod/modprobe (Of course you'll also have to restart xorg)
  • Set the following options:
    $ nvidia-settings -a InitialPixmapPlacement=2 -a GlyphCache=1

If you're lucky your KDE4 will be snappier than ever. If you're unlucky and it stays the same or gets even worse, try experimenting with the value of InitialPixmapPlacement, setting it to 1 or 3.

Apart from that I had to play around with the Advanced Effects settings as kwin's performance seemed to have dropped.

Making it permanent

While I saw this setting in someone's xorg.conf I couldn't actually make it work for me. Hints welcome!
Of course this doesn't work, as those are not xorg.conf options. Please read the Appendix B of the nvidia README. Changed it, and also felt free enough to add some real xorg.conf options. Fuchs

Driver options set using the nvidia-settings tool reset back to default as soon as your xserver exits. To make it permanent you have to put this line

nvidia-settings -a InitialPixmapPlacement=2 -a GlyphCache=1 &

to your autostart.

Additionally, you can try the following options in your xorg.conf, in the device section (nvidia):

    Option         "RenderAccel" "true"
    Option         "UseEvents" "false"
    Option         "TripleBuffer" "1"
    Option         "DamageEvents" "1"
    Option         "BackingStore" "1"
    Option         "PixmapCacheSize" "70000"
    Option         "OnDemandVBlankInterrupts" "true"

They should speed up things as well. You might want to try other values (higher) for PixmapCacheSize.


Here I'd like to collect some information about the circumstances this setup will work better in. Please post your experiences to the table below:

Name Card Kernel Version I.P.P. G.C. Improvement
Lemma 8600 GTS 2.6.25 177.13 (beta) 2 1 huge
Lemma 8600 GTS 2.6.25 173.14.09 (stable) 2 1 huge
Teo Quadro NVS 140M (same chip as 8400M) 2.6.25 173.14.09 (stable) 2 1 small
ehamberg 8400GS 2.6.25 173.14.09 (stable) 2 1 huge
Brandon 8800GTS 640mb 2.6.26 173.14.09 (stable) 2 1 huge(not a lot when resizing windows but scrolling in the folderview is smooth now)
friedreich 8800GTS 640mb 173.14.09 (stable) 2 1 huge (after playing with advanced compositing options absolutely smooth (opengl, texture from pixmap, trilinear, direct rendering), keep thumbnails of hidden windows), still dogslow when adding widgets and doing animations the 1st time, putting the lines into xorg.conf doesn't work
Johannes Köster Geforce 8600GT 2.6.25-debian 173.14.09 2 1 rather big, but only if I use shared memory as opengl mode. texture from pixmap causes long hangs every few minutes.
Armando Jagucki Geforce 8800GT 2.6.24 173.14.09 2 1 Huge. Scrolling in folder views does not lag anymore, and the desktop switching window-shuffle animation is silky smooth whereas before it would hiccup.
rivo 9600GT 2.6.22 (Gutsy) 173.14.09 2 1 huge. Plasma is now actually usable (was very painful before). KWin is also very smooth now.
Nikolavp 8500 GT 2.6.25-2 173.14.09-3 2 1 Huge difference, saved my day.
Xmister 8600 GTS 2.6.24-20 169.12 0 0 It runs much better with this driver, than with the newest ones with IPP and GC tweaks.

  • I.P.P. = InitialPixmapPlacement
  • G.C. = GlyphCache

Known problems

I haven't done a lot of testing using this setup, so in case you encounter any unwanted effects (on 3D applications or other 2D applications), please put them below.

  • Following those steps with cards from the 7xxx series is said to increase GPU temperature a lot. [1]
  • On changing kwin's effects settings might not be possible because on applying the changes X might freeze for a period of time longer than the 10 seconds you have to confirm the change.
  • The Yakuake terminal has scrolling problems after these changes, it also takes long to appear / disappear, regardless of the animation speed you set.
I do not suggest running BETA quality software (especially drivers) on any system. This page merely describes what I did to my system and how it worked out - don't expect the same and don't blame me if your system crashes.

Content is available under Creative Commons License SA 4.0 unless otherwise noted.