Old:Debian: accelerare GTK con Cairo e Glitz: differenze tra le versioni
m (linkback al blog di felipe) |
Nessun oggetto della modifica |
||
Riga 1: | Riga 1: | ||
[[Immagine:174518070_346f29043a_o.jpg|thumb|Screenshot di Gnome #2]] | [[Immagine:174518070_346f29043a_o.jpg|thumb|Screenshot di Gnome #2]] | ||
=Introduzione= | |||
Questa guida spiega come abilitare Cairo e GLitz in Debian Etch (testing) in modo da accelerare notevolmente le prestazioni delle librerie GTK e dell'ambiente Gnome. È basata sulla ottima documentazione scritta da [http://pollycoke.wordpress.com felipe] e intitolata: [http://pollycoke.wordpress.com/2006/05/20/gtk-velocissime-con-clearlooks-cairo-glitz/ GTK velocissime con Clearlooks + Cairo + Glitz!]. | |||
Essendo necessaria l'installazione di pacchetti provenienti dal ramo ''experimental'', potrebbe essere utile configurare la vostra Debian-box per l'utilizzo di repository misti. A questo scopo vi consiglio la lettura di [[APT uso avanzato: mixare releases diverse]]. | |||
Essendo necessaria l' installazione di pacchetti provenienti dal | |||
Il software utilizzato è altamente sperimentale, per cui ne sconsiglio l' utilizzo ai deboli di cuore. | Il software utilizzato è altamente sperimentale, per cui ne sconsiglio l' utilizzo ai deboli di cuore. | ||
Riga 13: | Riga 13: | ||
==Repositories== | ==Repositories== | ||
Dato che dovremo utilizzare alcuni pacchetti sorgenti ed altri provenienti da experimental, è necessario aggiungere (se non presenti) i seguenti | Dato che dovremo utilizzare alcuni pacchetti sorgenti ed altri provenienti da experimental, è necessario aggiungere (se non presenti) i seguenti repository al nostro file <code>'''/etc/apt/sources.list'''</code>: | ||
<pre>deb-src http://debian.fastweb.it/debian/ testing main non-free contrib | <pre>deb-src http://debian.fastweb.it/debian/ testing main non-free contrib | ||
deb http://debian.fastweb.it/debian/ ../project/experimental main contrib non-free</pre> | deb http://debian.fastweb.it/debian/ ../project/experimental main contrib non-free</pre> | ||
Una volta inseriti i | Una volta inseriti i repository, aggiorniamo il database dei pacchetti: | ||
<pre># apt-get update</pre> | <pre># apt-get update</pre> | ||
Riga 24: | Riga 24: | ||
==Strumenti CVS== | ==Strumenti CVS== | ||
Utilizzeremo codice proveniente dall' archivio di sviluppo del tema GTK Clearlooks, per cui abbiamo bisogno dei relativi strumenti. Installiamoli: | Utilizzeremo codice proveniente dall'archivio di sviluppo del tema GTK Clearlooks, per cui abbiamo bisogno dei relativi strumenti. Installiamoli: | ||
<pre># apt-get install cvs</pre> | <pre># apt-get install cvs</pre> | ||
Riga 36: | Riga 36: | ||
==Libtool== | ==Libtool== | ||
È necessario anche installare '''libtool''': | |||
<pre># apt-get install libtool</pre> | <pre># apt-get install libtool</pre> | ||
Riga 53: | Riga 53: | ||
# sudo apt-get build-dep libcairo2</pre> | # sudo apt-get build-dep libcairo2</pre> | ||
Ora abilitiamo il supporto a Glitz editando il file '''rules''' all' interno di | Ora abilitiamo il supporto a Glitz editando il file <code>'''rules'''</code> all'interno di <code>libcairo-1.0.0/debian</code>. Dobbiamo andare alla sezione <code>'''DEB_CONFIGURE_USER_FLAGS= \'''</code> del file e modificare la direttiva <code>--disable-glitz</code> in <code>--enable-glitz</code>. | ||
Fatto questo passiamo alla compilazione vera e propria del pacchetto, che può essere fatta in vari | Fatto questo passiamo alla compilazione vera e propria del pacchetto, che può essere fatta in vari modi: | ||
* primo metodo ''(lanciato all' interno di ~/src/libcairo-1.0.0 )'': <pre># debian/rules binary</pre> | * primo metodo ''(lanciato all'interno di <code>~/src/libcairo-1.0.0</code> )'': <pre># debian/rules binary</pre> | ||
* secondo metodo ''(lanciato all' interno di ~/src)'': <pre># apt-get source libcairo2 --compile</pre> | * secondo metodo ''(lanciato all'interno di <code>~/src</code>)'': <pre># apt-get source libcairo2 --compile</pre> | ||
Quale che sia il metodo da noi scelto, ci ritroveremo con 3 pacchetti debian pronti per essere installati. Si tratta dei pacchetti | Quale che sia il metodo da noi scelto, ci ritroveremo con 3 pacchetti debian pronti per essere installati. Si tratta dei pacchetti <code> libcairo2_1.0.0-3_i386.deb libcairo2-dev_1.0.0-3_i386.deb libcairo2-doc_1.0.0-3_all.deb </code> che possiamo tranquillamente installare con il comando: | ||
<pre># dpkg -i *.deb</pre> | <pre># dpkg -i *.deb</pre> | ||
Riga 65: | Riga 65: | ||
==Compilare Clearlooks== | ==Compilare Clearlooks== | ||
Ora che abbiamo preparato Cairo con il supporto Glitz, possiamo procedere alla compilazione | Ora che abbiamo preparato Cairo con il supporto Glitz, possiamo procedere alla compilazione del motore GTK ClearLooks. Questo motore ci permetterà di rendere estremamente veloci le nostre applicazioni basate su GTK, compreso il desktop environment Gnome. Utilizzeremo la versione cvs dell'engine. | ||
===Aggiornare GTK=== | ===Aggiornare GTK=== | ||
Riga 84: | Riga 84: | ||
[INVIO]</pre> | [INVIO]</pre> | ||
Ora rinominiamo la directory appena creata da | Ora rinominiamo la directory appena creata da <code>clearlooks-cairo</code> a <code>clearlooks-cairo-0.1</code>, spostiamoci nella directory appena rinominata e compiliamo il motore nel modo seguente: | ||
<pre>./autogen.sh --prefix=/usr --enable-animation | <pre>./autogen.sh --prefix=/usr --enable-animation | ||
Riga 90: | Riga 90: | ||
</pre> | </pre> | ||
Prima di passare alla disinstallazione vera e propria potrebbe essere necessario rimuovere (se presente) il pacchetto '''automake1.9''': | Prima di passare alla disinstallazione vera e propria potrebbe essere necessario rimuovere (se presente) il pacchetto <code>'''automake1.9'''</code>: | ||
<pre># apt-get remove automake1.9</pre> | <pre># apt-get remove automake1.9</pre> | ||
oppure semplicemente installare '''automake1.7''': | oppure semplicemente installare <code>'''automake1.7'''</code>: | ||
<pre># apt-get install automake1.7</pre> | <pre># apt-get install automake1.7</pre> | ||
Ora possiamo installare | Ora possiamo installare il motore usando il comando (da lanciare nella directory da cui abbiamo lanciato il make): | ||
<pre># checkinstall</pre> | <pre># checkinstall</pre> | ||
Riga 105: | Riga 105: | ||
==Avvertenze== | ==Avvertenze== | ||
Quando selezioniamo | Quando selezioniamo il motore ''clearlooks-cairo'' nel theme manager di Gnome, quest'ultimo potrebbe andare in blocco. | ||
Nessuna paura: attendiamo il freeze e quindi riavviamo il server X con la combinazione di tasti: CTRL+ALT+BACKSPACE. Quando | Nessuna paura: attendiamo il freeze e quindi riavviamo il server X con la combinazione di tasti: CTRL+ALT+BACKSPACE. Quando rientreremo in Gnome potremo constatare la velocità del nuovo motore. | ||
=Configurare Xorg= | =Configurare Xorg= | ||
Riga 113: | Riga 113: | ||
Passiamo adesso a configurare Xorg in modo da rendere il nostro Desktop '''davvero''' accattivante. | Passiamo adesso a configurare Xorg in modo da rendere il nostro Desktop '''davvero''' accattivante. | ||
Apriamo il file '''/etc/X11/xorg.conf''' come utente root e creiamo questa nuova sezione (anche al termine del file): | Apriamo il file <code>'''/etc/X11/xorg.conf'''</code> come utente root e creiamo questa nuova sezione (anche al termine del file): | ||
<pre>Section "Extensions" | <pre>Section "Extensions" | ||
Riga 124: | Riga 124: | ||
A questo punto scarichiamo il tema [http://www.gnome-look.org/content/show.php?content=28351 Compocity] di [http://pollycoke.wordpress.com felipe] e installiamolo. | A questo punto scarichiamo il tema [http://www.gnome-look.org/content/show.php?content=28351 Compocity] di [http://pollycoke.wordpress.com felipe] e installiamolo. | ||
Visto così non è molto bello, ma ora vedremo come renderlo davvero magnifico. Quello che ci serve è il programma '''xcompmgr'''. | Visto così non è molto bello, ma ora vedremo come renderlo davvero magnifico. Quello che ci serve è il programma <code>'''xcompmgr'''</code>. | ||
Aggiorniamo il database dei pacchetti e installiamo il programma con: | Aggiorniamo il database dei pacchetti e installiamo il programma con: | ||
Riga 139: | Riga 139: | ||
[[Immagine:Screen.jpg|thumb|Screenshot di Gnome #2]] | [[Immagine:Screen.jpg|thumb|Screenshot di Gnome #2]] | ||
Come programma da avviare digitiamo '''xcompmgr -cf''' (le opzioni sono moltissime, vi rimando alla pagina man di xcompmgr) e nella casella ''ordine'' impostiamo il valore '''10''' quindi salviamo e usciamo. | Come programma da avviare digitiamo <code>'''xcompmgr -cf'''</code> (le opzioni sono moltissime, vi rimando alla pagina man di xcompmgr) e nella casella <code>''ordine''</code> impostiamo il valore <code>'''10'''</code> quindi salviamo e usciamo. | ||
Ora riavviamo il server X con la combinazione di tasti CTRL+ALT+BACKSPACE e quando ci loggheremo nuovamente, potremo goderci tutta la potenza dei nuovi | Ora riavviamo il server X con la combinazione di tasti CTRL+ALT+BACKSPACE e quando ci loggheremo nuovamente, potremo goderci tutta la potenza dei nuovi standard di FreeDesktop. | ||
=Impedire l' aggiornamento automatico dei pacchetti= | =Impedire l'aggiornamento automatico dei pacchetti= | ||
Dato che le librerie Cairo standard di Debian non sono compilate con supporto a Glitz, ogni qual volta effettueremo un upgrade del sistema che prevede l' aggiornamento di queste librerie esse sovrascriveranno quelle da noi ricompilate. In questo modo perderemo ben presto i vantaggi dati dalla ricompilazione. Stesso discorso per il pacchetto '''gtk-engines'''. | Dato che le librerie Cairo standard di Debian non sono compilate con supporto a Glitz, ogni qual volta effettueremo un upgrade del sistema che prevede l'aggiornamento di queste librerie esse sovrascriveranno quelle da noi ricompilate. In questo modo perderemo ben presto i vantaggi dati dalla ricompilazione. Stesso discorso per il pacchetto <code>'''gtk-engines'''</code>. | ||
La maniera migliore per evitare questo problema consiste nell' istruire APT | La maniera migliore per evitare questo problema consiste nell'istruire APT affinché non aggiorni automaticamente i pacchetti interessati, lasciando a noi la libertà di scaricare i sorgenti aggiornati e provvedere alla ricompilazione manuale. Questo procedimento tecnicamente si chiama '''holding''' di un pacchetto e viene spiegato nella mia guida [[Impedire l' aggiornamento di un pacchetto]]. | ||
---- | ---- | ||
Autore: [[Utente:Keltik|keltik]] 10:38, Nov 8, 2005 (EST)<br /> | Autore: [[Utente:Keltik|keltik]] 10:38, Nov 8, 2005 (EST)<br /> |
Versione delle 11:30, 16 gen 2010
Introduzione
Questa guida spiega come abilitare Cairo e GLitz in Debian Etch (testing) in modo da accelerare notevolmente le prestazioni delle librerie GTK e dell'ambiente Gnome. È basata sulla ottima documentazione scritta da felipe e intitolata: GTK velocissime con Clearlooks + Cairo + Glitz!.
Essendo necessaria l'installazione di pacchetti provenienti dal ramo experimental, potrebbe essere utile configurare la vostra Debian-box per l'utilizzo di repository misti. A questo scopo vi consiglio la lettura di APT uso avanzato: mixare releases diverse.
Il software utilizzato è altamente sperimentale, per cui ne sconsiglio l' utilizzo ai deboli di cuore.
Non mi resta che augurarvi buona lettura & happy debian!
Prerequisiti
Repositories
Dato che dovremo utilizzare alcuni pacchetti sorgenti ed altri provenienti da experimental, è necessario aggiungere (se non presenti) i seguenti repository al nostro file /etc/apt/sources.list
:
deb-src http://debian.fastweb.it/debian/ testing main non-free contrib deb http://debian.fastweb.it/debian/ ../project/experimental main contrib non-free
Una volta inseriti i repository, aggiorniamo il database dei pacchetti:
# apt-get update
Strumenti CVS
Utilizzeremo codice proveniente dall'archivio di sviluppo del tema GTK Clearlooks, per cui abbiamo bisogno dei relativi strumenti. Installiamoli:
# apt-get install cvs
Checkinstall
Un altro strumento utile al momento di installare programmi compilati da codice sorgente è checkinstall. Installiamolo:
# apt-get install checkinstall
Libtool
È necessario anche installare libtool:
# apt-get install libtool
Ricompilare Cairo
Le librerie Cairo fornite da Debian non sono compilate per supportare Glitz. Dobbiamo quindi ricompilarle abilitandolo.
Per prima cosa creiamo una cartella di lavoro:
$ mkdir src
Ora scarichiamo il pacchetto sorgente delle librerie e le relative dipendenze:
$ apt-get source libcairo2 # sudo apt-get build-dep libcairo2
Ora abilitiamo il supporto a Glitz editando il file rules
all'interno di libcairo-1.0.0/debian
. Dobbiamo andare alla sezione DEB_CONFIGURE_USER_FLAGS= \
del file e modificare la direttiva --disable-glitz
in --enable-glitz
.
Fatto questo passiamo alla compilazione vera e propria del pacchetto, che può essere fatta in vari modi:
- primo metodo (lanciato all'interno di
~/src/libcairo-1.0.0
):# debian/rules binary
- secondo metodo (lanciato all'interno di
~/src
):# apt-get source libcairo2 --compile
Quale che sia il metodo da noi scelto, ci ritroveremo con 3 pacchetti debian pronti per essere installati. Si tratta dei pacchetti libcairo2_1.0.0-3_i386.deb libcairo2-dev_1.0.0-3_i386.deb libcairo2-doc_1.0.0-3_all.deb
che possiamo tranquillamente installare con il comando:
# dpkg -i *.deb
Compilare Clearlooks
Ora che abbiamo preparato Cairo con il supporto Glitz, possiamo procedere alla compilazione del motore GTK ClearLooks. Questo motore ci permetterà di rendere estremamente veloci le nostre applicazioni basate su GTK, compreso il desktop environment Gnome. Utilizzeremo la versione cvs dell'engine.
Aggiornare GTK
Per compilare clearlooks avremo bisogno delle librerie di sviluppo GTK+. Le versioni presenti in testing e unstable non sono abbastanza recenti, per cui dovremo installare la versione experimental:
apt-get install -t experimental libgtk2.0-dev
Scaricare i sorgenti
Scarichiamo i sorgenti di clearlooks tramite cvs:
$ export CVSROOT=':pserver:anonymous@anoncvs.gnome.org:/cvs/gnome' [INVIO] $ cvs login [INVIO] $ cvs -z3 checkout gtk-engines [INVIO]
Ora rinominiamo la directory appena creata da clearlooks-cairo
a clearlooks-cairo-0.1
, spostiamoci nella directory appena rinominata e compiliamo il motore nel modo seguente:
./autogen.sh --prefix=/usr --enable-animation make
Prima di passare alla disinstallazione vera e propria potrebbe essere necessario rimuovere (se presente) il pacchetto automake1.9
:
# apt-get remove automake1.9
oppure semplicemente installare automake1.7
:
# apt-get install automake1.7
Ora possiamo installare il motore usando il comando (da lanciare nella directory da cui abbiamo lanciato il make):
# checkinstall
Dovremo rispondere ad un paio di banali domande poste da checkinstall, dopodichè il pacchetto sarà installato e pronto per essere utilizzato attraverso il theme manager di Gnome.
Avvertenze
Quando selezioniamo il motore clearlooks-cairo nel theme manager di Gnome, quest'ultimo potrebbe andare in blocco.
Nessuna paura: attendiamo il freeze e quindi riavviamo il server X con la combinazione di tasti: CTRL+ALT+BACKSPACE. Quando rientreremo in Gnome potremo constatare la velocità del nuovo motore.
Configurare Xorg
Passiamo adesso a configurare Xorg in modo da rendere il nostro Desktop davvero accattivante.
Apriamo il file /etc/X11/xorg.conf
come utente root e creiamo questa nuova sezione (anche al termine del file):
Section "Extensions" Option "Composite" "Enable" Option "RENDER" "Enable" EndSection
Configurare Gnome
A questo punto scarichiamo il tema Compocity di felipe e installiamolo.
Visto così non è molto bello, ma ora vedremo come renderlo davvero magnifico. Quello che ci serve è il programma xcompmgr
.
Aggiorniamo il database dei pacchetti e installiamo il programma con:
# apt-get update # apt-get install xcompmgr
Ora dobbiamo fare in modo che il programma (con i relativi parametri) venga eseguito ad ogni sessione di Gnome. Per fare questo lanciamo il gestore delle sessioni:
$ gnome-session-properties
selezioniamo il menu "Programmi d'avvio" e quindi premiamo il pulsante "Aggiungi"
Come programma da avviare digitiamo xcompmgr -cf
(le opzioni sono moltissime, vi rimando alla pagina man di xcompmgr) e nella casella ordine
impostiamo il valore 10
quindi salviamo e usciamo.
Ora riavviamo il server X con la combinazione di tasti CTRL+ALT+BACKSPACE e quando ci loggheremo nuovamente, potremo goderci tutta la potenza dei nuovi standard di FreeDesktop.
Impedire l'aggiornamento automatico dei pacchetti
Dato che le librerie Cairo standard di Debian non sono compilate con supporto a Glitz, ogni qual volta effettueremo un upgrade del sistema che prevede l'aggiornamento di queste librerie esse sovrascriveranno quelle da noi ricompilate. In questo modo perderemo ben presto i vantaggi dati dalla ricompilazione. Stesso discorso per il pacchetto gtk-engines
.
La maniera migliore per evitare questo problema consiste nell'istruire APT affinché non aggiorni automaticamente i pacchetti interessati, lasciando a noi la libertà di scaricare i sorgenti aggiornati e provvedere alla ricompilazione manuale. Questo procedimento tecnicamente si chiama holding di un pacchetto e viene spiegato nella mia guida Impedire l' aggiornamento di un pacchetto.
Autore: keltik 10:38, Nov 8, 2005 (EST)
Revisione: keltik 03:53, 12 Lug 2006 (EDT)