di felipe
aggiornato al 22/03/2007 – istruzioni per svn
aggiornato al 20/05/2006
scritto il 20/09/2005
OK, mentre le app Qt e KDE sono sempre piu’ veloci, le app GTK sono *lente*, non ci piove, e infatti su questo si stanno muovendo in diverse direzioni gli hacker di GNOME e delle GTK: Xgl, EXA, Cairo, Glitz… sono alcune delle mille tecnologie che dovrebbero intrecciarsi per fornire dei desktop piu’ reattivi e magari anche piu’ belli esteticamente.
XORG/XCOMPOSITE + GLX + GLITZ + CAIRO + GTK
Sembra un messaggio in codice, ma l’insieme di queste paroline magiche, se ben assemblato, fornisce gia’ in ubuntu breezy o superiore l’idea di quello che avremo tra qualche mese sui nostri desktop se tutto procede come promesso.
Ricetta: “GTK all’Accelerata” -.-
Tempo di cottura: 15/20 minuti, a seconda della CPU
Facilita’: 7/10
Stabilita’: 8/10
Note: le modalita’ descritte si riferiscono a Ubuntu Breezy (5.10) o superiore, ma dovrebbero funzionare su qualsiasi distro degna di portare il nome “Linux” :)
Per questa ricetta sono essenziali alcuni requisiti base:
- Dovete avere una GPU decente: meglio se nVidia
- Dovete avere una distro decente e soprattutto recente, meglio se Ubuntu Breezy
Ingredienti:
- Glitz e relative librerie di sviluppo (in ubuntu: sudo apt-get install libglitz-glx1-dev libglitz1-dev)
- Cairo e relative librerie di sviluppo (gia’ installato se avete le GTK >= 2.8, in ubuntu: sudo apt-get install libcairo2-dev)
- GTK e relative librerie di sviluppo (gia’ installate se avete GNOME, in ubuntu: sudo apt-get install libgtk2.0-dev)
Preparazione:
1) CAIRO
Per prima cosa andremo a preparare, in una shell gia’ riscaldata (-.-) una versione di Cairo che abbia il backend Glitz attivo, in ubuntu infatti e’ stato disattivato, perche’ sperimentale. Per fare questo diamo questi comandi:
$: sudo apt-get build-dep libcairo2 $: sudo apt-get source libcairo2
cosi’ avremo soddisfatto eventuali dipendenze irrisolte e scaricato i sorgenti “ubuntizzati o debianizzati” di cairo, chi ha una distro differente usi le utilita’ a disposizione.
Entriamo dentro la directory appena creata e modifichiamo il file debian/rules. in quel file dobbiamo cercare la stringa “–disable-glitz” e modificarla in “–enable-glitz”. Poi possiamo compilare e creare il pacchetto debian con un semplice:
$: sudo debian/rules binary
(oppure con il metodo che preferite voi, ce ne sono di diversi e sinceramente non so perche’ preferisco quello…). Comunque alla fine avrete dei pacchetti debian belli pronti per essere installati con un semplice:
$: sudo dpkg -i *.deb
(occhio a non avere altri pacchetti deb in giro, altrimenti installerete anche quelli). A questo punto abbiamo gia’ preparato gran parte di quello che ci serve, adesso le nostre GTK usano gia’ Cairo accelerato, ma dobbiamo installare qualcosa che ce lo dimostri =)
2) Clearlooks-cairo
Penso che conosciate tutti Clearlooks, il nuovo tema predefinito di GNOME e uno dei piu’ usati e belli e usabili ecc ecc finora mai visti per un desktop GNU. Attualmente stanno lavorando alla versione “cairo” di clearlooks, che dovrebbe cioe’ utilizzare tutte le grandiose caratteristiche di cairo: antialiasing per tutto, grafica vettoriale, animazioni fluidissime, *accelerazione hardware*…
Bene, lasciamo riposare da una parte la shell con cairo e prendiamone un’altra. Imburriamola un poco[1] perche’ questa operazione potrebbe essere delicata, in quanto scaricheremo e compileremo codice da SVN. I comandi sono:
$ svn co http://svn.gnome.org/svn/gtk-engines/trunk gtk2-engines-2.19 [INVIO]
Ok, entriamo dentro la directory e compiliamo:
$: cd gtk-engines-2.19 $: ./autogen.sh --prefix=/usr --enable-animation $: make $: sudo checkinstall
Rispondiamo a due o tre domande inutili che ci pone checkinstall e nel giro di pochi minuti abbiamo il nostro pacchetto debian pronto e automaticamente installato.
Riavviamo. Una volta rientrati in GNOME avrete le GTK accelerate e in tutto il loro splendore Cairesco e Clearlooks-esco.
Suggerimenti per la presentazione:
Consiglierei di presentare la ricetta in un ambiente ben illuminato e ordinato, con uno sfondo chiaro ad esempio. Qui di fianco potete vedere come appare questa ricetta cucinata da me per i lettori :D
—
[1] Operazione metaforica di buon auspicio che potrebbe essere resa nella vita reale con qualcosa come: cowsay “`uname -s` 4 ever”