jump to navigation

Dieci accorgimenti per velocizzare KDE 4

In Avanzate, per Guru!, Felipizza la tua distro, Guide il 26/09/08 @ 14:57 trackback

Sì, nel mio PC «vecchiotto» KDE 4 ha prestazioni di tutto rispetto, perfino la versione di sviluppo e compresi gli effetti desktop. Con questa guida vi spiego come ottenere lo stesso risultato.

A parte le recenti ottimizzazioni nei driver Nvidia e in KDE stesso, nel corso del tempo ho accumulato vari piccoli espedienti che applico qua e la per avere un desktop più scattante e reattivo. Ciò si ripercuote positivamente nell’uso generale di KDE, ma in particolare sugli effetti desktop, anche perché c’è da dire che senza quelli… KDE 4 vola letteralmente ;)

1) La distribuzione prima di tutto

Ovviamente qualsiasi software gira più veloce se ottimizziamo la nostra distribuzione. Se non lo avete mai fatto, seguite le mie sciccose guideMettiamola a dieta! (Ubuntu, non la biondina)” e “Capire e ottimizzare la procedura d’avvio di Ubuntu, Debian, Fedora“, scritte qualche tempo fa ma ancora validissime. Vi troverete con una Ubuntu più scattante e leggera, si spera senza perdere alcuna funzionalità (attenzione: è una guida indirizzata a chi ha un minimo di confidenza con le budella della propria distribuzione!).

2) Driver video aggiornati

Se siete interessati ad ottenere i massimi risultati (magari a discapito della stabilità assoluta?) consiglio di usare le ultime versioni dei driver: Intel, AMD/ATi o Nvidia che siano. Trovate alcune indicazioni per l’installazione manuale per Nvidia in “Usare l’installer per i driver nVidia su Ubuntu” oppure per una procedura automatizzata per ATi e Nvidia in “Envy di Alberto Milone sarà anche Qt 4” (adesso si integra alla perfezione con KDE 4!).

3) Sempre l’ultima revisione di KDE 4

KDE 4 è uno spaventoso, costante, immane flusso di continui aggiornamenti. Ultimamente sono state apportate numerose migliorie a KWin e al resto del sistema base. Visto che non si tratta di un desktop ancora del tutto stabilizzato tanto vale prendere il toro per le corna e installare sempre l’ultimissima revisione svn disponibile di KDE.

Ovviamente il modo più semplice è seguire la mia “KDE 4.1 per Ubuntu Hardy, in un paio di ore ;)” (ma dovrei già chiamarlo KDE 4.2). Anzi, ne approfitto per segnalarvi che ho apportato una piccola modifica ai file di configurazione di kdesvn-build. Vi consiglio di dare un occhio! ;)

4) Compilare KDE senza info di debug

Chi segue la mia “KDE 4.1 per Ubuntu Hardy, in un paio di ore ;)” compila già un KDE 4 genericamente ottimizzato per avere eseguibili snelli (-Os1 ). Rispetto alle impostazioni predefinite di kdesvn-build questo è già un buon passo avanti, ma chi volesse fare di più sappia che può aggiungere questa istruzione nella sezione global (all’inizio) di ~/.kdesvn-buildrc:

configure-flags      --disable-debug

Questo – il concetto si applica a tutti i software esistenti – eliminerà le informazioni di debug dagli esebuibili, rendendo totalmente inutile ogni vostro eventuale bugreport, ma garantendovi ancora più snellezza, meno consumo di risorse e in genere applicazioni più reattive. Se non fate attività di testing e non state sempre su bugzilla potete attivare tranquillamente.

5) Compose Cache

Altro espediente che dovrebbe servire a velocizzare l’avvio di applicazioni in cui sia presente un campo di testo. Create una semplice cartella e non avrete altro da fare:

$: mkdir ~/.compose-cache

Questo non ha niente a che vedere con la composizione del desktop o con gli effetti. Stiamo parlando di compose nel senso dell’utilissimo “¿¡Cómo puedo escribir así!? …Il tasto Compose“, e la cache serve appunto a tenere in memoria solo la piccola porzione che ci serve di quel lunghissimo file. In questo modo, avendo meno informazioni da caricare, l’avvio delle singole applicazioni sarà un po’ più veloce.

Questa magia è stata ideata da Lubos Lunak per KDE, ma è entrata direttamente in Xorg (info), quindi direi che sia abbastanza affidabile.

6) Il famoso Nvidia Hack…

Se anche non compilate KDE da voi, potete comunque attivare alcuni piccoli stratagemmi (gli sviluppatori sembrano averli disseminati sotto forma di indizi qua e la) che possono migliorare la resa degli effetti grafici in sistemi con schede Nvidia. In particolare queste variabili:

export KWIN_NVIDIA_HACK=1

dovrebbe aggirare un problemi noto, dando più potenza CPU alla scheda video per gli effetti in caso di necessità, il famoso “__GL_YIELD=NOTHING che ricorderanno i vecchi utenti di Compiz.

7) Il meno famoso Qt/Glib Hack

Impostando questa variabile:

export QT_NO_GLIB=1

le Qt vengono caricate senza supporto GLIB. In questo modo viene abbattuto il consumo di CPU da parte di KWin (info).

8) L’oscuro KHTML Hack

Infine con questa:

export QT_NO_SHARED_PAINTERS=1

si dovrebbero evitare alcuni presunti problemi con la resa di KHTML (info). Pare che non ci sia più bisogno di questo ultimo!

NB: Le istruzioni 6, 7 e 8 possono essere raggrupate in un unico file, ma tenete presente che hanno funzioni totalmente differenti e andrebbero verificate una ad una sul vostro sistema. Se usate la mia solita “KDE 4.1 per Ubuntu Hardy, in un paio di ore ;)“, potete aggiungerle tutte alla fine dello script kdesvn-start (paragrafo 5 della guida), lasciando però come ultima riga “startkde”! Alternativamente va bene metterle in ~/.bash_profile o altri metodi simili.

9) Configurazioni personalizzate di Xorg

Se avete una scheda video nvidia supportata dalle ultimissime beta dei driver proprietari (quindi ad esempio i proprietari di FX 5500, come me, sono tagliati fuori) potete provare ad aggiungere le opzioni segnate in rosso nelle appropriate sezioni del vostro xorg.conf:

Section "Device"
    Identifier     "Device[0]"
    Driver         "nvidia"
    VendorName     "NVidia"
    BoardName      "GeForec 7600GS"
    Option         "RenderAccel" "true"
    Option         "AddARGBGLXVisuals" "true"
    Option         "AllowSHMPixmaps" "0"
EndSection

e

Section "Screen"
    Identifier     "Screen[0]"
    Device         "Device[0]"
    Monitor        "Monitor[0]"
    Option "PixmapCacheSize" "20000000"
    Option "AllowSHMPixmaps" "0"
    SubSection     "Display"
        Modes      "default"
    EndSubSection
    [...]
EndSection

Anche queste istruzioni vanno provate preferibilmente una ad una (info), per cercare di capire quali danno maggiori vantaggi. Per schede Nvidia, specie di ultima generazione, questo dovrebbe essere una specie di toccasana, ma ripeto: solo se usato congiuntamente agli ultimissimi driver beta proprietari.

Se avete una scheda Intel o AMD/ATi potete dare un’occhiata al COMPOSITE_HOWTO preparato dagli sviluppatori KDE, e che indica opzioni simili per quelle schede.

10) Configurazioni personalizzate di KWin

adesso non vi resta che il tocco finale, “System Settings -> Desktop -> Advanced Options”:

KWin Advanced Compositing Options - Pollycoke :)


Quelle che vedete sono le impostazioni che utilizzo io, voi potreste avere bisogno di impostarle in maniera differente. Un valore importante per la mia scheda è sempre stato “Direct rendering” disabilitato, cosa che garantisce sempre buone prestazioni anche sotto pieno carico …tipo per compilare KDE tre o quattro volte al giorno :D

Conclusioni

Ok… il PC non vi è ancora esploso? :D Benone, immaginiamo che abbiate messo in pratica tutta questa fila di consigli, adesso mi piacerebbe sapere cosa ne pensate, se hanno apportato miglioramenti percettibili o – è possibile – peggioramenti, quali hanno funzionato meglio e come li avete mischiati tra loro in base alle vostre schede. Fatto ciò – da buoni cittadini – potreste voler liberamente aggiungere qualche informazione nell’apposita pagina Techbase di KDE ;)

Non so se derivi dall’uso di tutti questi accorgimenti o dal fatto di possedere una Nvidia FX 5500, la stessa scheda video di Lubos Lunak, l’uomo degli effetti per KDE. Fatto sta che nella mia box KDE 4 va molto bene e gli effetti desktop viaggiano ad una fuidità decisamente paragonabile a quella di Compiz.

Note all'articolo:

  1. Stessa impostazione che usavo in Gentoo, ero uno di quelli che tegono a bada la bestia senza esagerare… []

Pagine forse correlate:


Commenti »

1. Dass - 26/09/08 @ 15:44

bene, un paio di cose non le avevo ancora provate :-)
comunque devo dire che ultimamente avranno sicuramente migliorato qualcosa a livello di codice perchè ho notato un balzo in avanti della fluidità da qualche settimana

2. gioby - 26/09/08 @ 15:45

~/.compose-cache?

3. Luca - 26/09/08 @ 15:46

Grazie della guida, ottima come sempre!

4. peppiniello - 26/09/08 @ 15:50

@felipe :: cos’è … un metodo per rimetterti in buona luce nei confronti della tua “Ragazza”

Scherzo :)

5. Di chi sono i desktop più fighi :) « Il Blog di Giuseppe Citarda - 26/09/08 @ 16:11

[...] desktop, deviantart, nuvole, wallpaper trackback Con tutto il rispetto per quelli propinatici da Felipe, devo ammettere (e dovreste anche voi) che lasciano una bella sensazione di freschezza a chi [...]

6. Marco Paladini - 26/09/08 @ 16:24

La preview di foto in Dolphin é molto molto lenta,
anche tu lo noti o é confinato a Fedora+KDE_redhat?

Grazie per gli hack!!!

7. RV - 26/09/08 @ 16:41

noto anch’io che la preview di dolphin sia di foto che di icone è lentissima…
ma sono su debian lenny(kde 4.1.1), non so se adesso è migliorata

8. lolloso - 26/09/08 @ 16:50

Boh, felipe, forse sarò insistente ma secondo me compiz ha delle prestazioni di gran lunga superiori, per il momento. Ho la tua stessa scheda. Non nego che in questi mesi siano di molto migliorate, anzi, si vede ad occhio nudo.

9. Dass - 26/09/08 @ 17:22

Felipe, io al tuo punto 10 ho messo shared memory invece di texture blabla:
non ricordo dove avevo letto che migliorava ulteriormente le cose.
Inoltre (personale idea mia) se la sk video è decente perchè non usare trilinear invece di bilinear?
e mettendo V in disable functionality cheks non si dovrebbe alleggerire il carico della CPU?
le ultime due cose sono frutto della mia cocuzza quindi magari sciocchezze.

Inoltre per chi ha problemi di resize (a me scatta comunque): comportamento delle finestre —>spostamento—-> levare segno su “mostra il contenuto durante il ridimensionamento”.
OK fa molto win95 ma per lo meno resiza subito senza scattare ;-)

10. favio - 26/09/08 @ 18:58

salve, ho aggiornato oggi da trunk e non riesco + ad abilitare il composite di kwin. Ovvero posso farlo, ma il risultato è avere finestre completamente invisibili e solo le loro ombre… qualcuno ha questo problema?

11. Riccardo Iaconelli - 26/09/08 @ 22:03

Non fare l’8!!!
Era un workaround ad un baco di khtml, risolto da mesi (poche settimane dopo il passaggio a Qt 4.4) ma in compenso fa scendere un sacco le performance!

12. anonimo - 27/09/08 @ 11:41

@10
confermo,
effetti disabilitati per ora

13. favio - 27/09/08 @ 12:16

@10
è stato risolto il problema. Era un check errato nel file scene_opengl.cpp :S
effetti riattivati!

14. favio - 27/09/08 @ 12:17

@12
cavolo ho sbagliato, volevo dire @12 non sono ancora arrivato al punto di parlare da solo…hehehe
ciao a tutti e complimenti a filippo per il blog!

15. gmlion - 28/09/08 @ 12:10

11) apt-get purge kde4

EHEH… :D
dai si scherza

16. Tanner - 29/09/08 @ 2:40

Ma howto del genere per Gnome non ne esistono? :D

A parte gli scherzi, sono *ANCORA* ancorato al piedone e penso che resterò tale anche con Intrepid e il suo 2.24.

Rimane da vedere se riusciranno MAI a rendere agile sto macigno, altrimenti dovrò capire come abituare le mie sinapsi ad accettare KDE4 e i suoi differenti paradigmi / behaviour / grafica… E’ un dilemma bello e buono.

17. kde4dummies - 30/09/08 @ 22:40

Ciao,
volevo fare una domanda che non centra molto col post.
Come faccio a saper la versione di kde 4 che è installata sul mio pc?

18. dario - 3/10/08 @ 11:34

ma con il direct rendering nn dovrebbe andare meglio ???

19. http://halphaz.wordpress.com/ - 7/10/08 @ 15:56

quoto il 18… non dovrebbe andare meglio?

20. Federico Moretti (AKA "fedmor") - 14/11/08 @ 6:03

Ottima la compilazione con il debug disabilitato… ci ho messo ~12 ore (forse qualcosa di più, ma suddiviso in 3 giorni), però ho “forzato” i CFLAGS per K8 con ottimizzazioni di livello 3 su cmake — mi aspettavo ci mettesse tanto, non “così” tanto, ma ne è valsa la pena. Con le dipendenze già risolte (su “Intrepid Ibex”) e un’installazione terminata con successo alle spalle, facendolo andare di notte non ci si rende neppure conto del tempo! E i miglioramenti sono visibili.

21. RemotoAnteriore » Di chi sono i desktop più fighi :) - 29/01/09 @ 22:53

[...] tutto il rispetto per quelli propinatici da Felipe, devo ammettere (e dovreste anche voi) che lasciano una bella sensazione di freschezza a chi [...]