lunedì, 7 agosto 2006

XGL+Compiz installato su Ubuntu Dapper e nVidia

Anch'io non ho saputo resistere e dopo aver atteso qualche mese, e dopo aver letto di colleghi disperati perché il loro PC non rispondeva più per problemi vari, ho preso coraggio e mi sono buttato nell'installazione che nel frattempo si è semplificata parecchio. Vagando fra un forum e l'altro e un blog e l'altro ho raccolto le informazioni necessarie ad installare e far funzionare il tutto in modo soddisfacente. Eccole qua senza garanzia di successo per altre situazioni.

Ad inizio agosto 2006 la procedura di installazione per il server grafico XGL e il decoratore di finestre Compiz su un PC con scheda nVidia è la seguente:
=========================================================

Premessa hardware
---------------------
avere una scheda grafica che supporti l'accelerazione 3D e averla attivata prima di iniziare questa procedura. Allo stato attuale solo i driver forniti dalle case costruttrici delle schede video abilitano l'accelerazione 3D. I driver opensource free non lo fanno ancora. Quindi il primo passo è l'installazione dei driver di fabbrica (nVidia, ATI, ecc.). Dopo l'installazione assicurarsi con il comando glxinfo che l'accelerazione 3D sia effettivamente attivata (direct rendering: Yes)


Premessa
-------------
questa procedura installa XGL/Compiz in modo che possa essere fatto partire in una sessione di login separata da quella standard Xorg. In questo modo se il proprio PC dovesse avere dei problemi sarà sempre possibile scegliere di far partire la sessione originale senza effetti grafici aggiuntivi. Ricordo che XGL è il server grafico che corrisponde al normale Xorg usato da sempre, mentre Compiz è il decoratore delle finestre (bordi, pulsanti, ombre, ecc.) che corrisponde al normale "gnome-window-decorator" usato finora.


Adesso partiamo con l'installazione vera e propria

modifiche al file /etc/X11/xorg.conf
------------------------------------------------
cercare la [Section "Module"] e commentare i seguenti moduli se sono presenti
# Load "dri"
# Load "GLcore"

assicurarsi che il seguente modulo invece sia presente e caricato
Load "glx"

cercare la [Section "Device"] e aggiungere le seguenti due opzioni
Option "RenderAccel" "true"
Option "AllowGLXWithComposite" "true"

cercare la [Section "Screen"] e accertarsi che la voce seguente sia impostata con la profondità dei colori a 24
DefaultDepth 24

salvare xorg.conf e passare ad installare i pacchetti necessari a XGL/Compiz


Installazione pacchetti necessari
------------------------------------------
1) aprire Sistema/Amministrazione/Preferenze software e aggiungere i 4 repository necessari:
deb http://xgl.compiz.info/ dapper main
deb http://www.beerorkid.com/compiz/ dapper main

deb http://ubuntu.compiz.net/ dapper main
deb http://media.blutkind.org/xgl/ dapper main

appena verrà aggiornato l'elenco dei pacchetti verrà visualizzato un dialogo con un warning che avvisa che i repository appena aggiunti sono accessibili specificando una chiave di autenticazione. La chiave da usare è visualizzata nel warning. Prendere nota della chiave e usare i comandi seguenti per aggiungerla in synaptic:

gpg --keyserver wwwkeys.eu.pgp.net --recv-keys qui mettere la chiave
gpg --export -a qui mettere la chiave | sudo apt-key add -

2) una volta aggiornato l'elenco dei pacchetti l'update manager visualizza l'icona di aggiornamenti disponibili. Nel mio caso sono stati 15. Dare l'ok per effettuare gli aggiornamenti necessari a poter usare XGL/Compiz.

3) installare ora i pacchetti XGL e Compiz effettivi:
- xserver-xgl
- compiz
- compiz-gnome
- gset-compiz
- cgwd

- cgwd-themes


4) preparare lo script che serve ad avviare Compiz dopo la login.
Creare il file toggle-compiz.sh e copiarci quanto segue:

#!/bin/bash
# verifica se fra i processi attivi c'è Xgl
if ps -A | grep -e "Xgl$" > /dev/null; then
cgwd &
# per usare il decoratore delle finestre standard di Gnome attivare questa
# riga e disattivare la precedente
# gnome-window-decorator &
compiz --replace gconf &
fi

Questo script va messo in /usr/local e reso eseguibile. Entrare in Sistema/Preferenze/Sessioni e nella scheda "Avvio programmi" aggiungere /usr/local/toggle-compiz.sh.

5) preparare lo script che serve ad avviare XGL alla login.
Creare il file startxgl.sh e copiarci quanto segue:

#!/bin/bash
Xgl -fullscreen :1 -audit 0 -ac -br -accel glx:pbuffer -accel xv:fbo &
sleep 2 && DISPLAY=:1 gnome-session

Questo script va messo in /usr/local e reso eseguibile.

6) entrare nella cartella /usr/share/xsessions e creare un nuovo file desktop che verrà elencato fra le sessioni disponibili nella schermata di login. Questa nuova sessione farà partire lo script startxgl.sh.
Creare il file xgl.desktop e copiarci quanto segue:

[Desktop Entry]
Encoding=UTF-8
Name=XGl-GNOME
Name[it]=XGL-GNOME
Comment=This session logs you into XGL-GNOME
Comment[it]=Sessione di lavoro con XGL-GNOME
Exec=/usr/local/startxgl.sh
Icon=
Type=Application

7) ora tutto è pronto per accedere la prima volta con modalità XGL. Riavviare il PC e alla schermata di login cambiare sessione e scegliere la XGL-GNOME. Dopo aver inserito la password di accesso c'è un warning che avvisa che si sta cambiando sessione e se si vuole renderla predefinita. Visto che è la prima volta che si testa XGL scegliere l'opzione "solo per questa sessione" che mantiene la sessione Xorg standard come predefinita.

8) se tutto va bene ci si ritrova in un ambiente grafico decisamente più ricco e raffinato (ombre, movimenti delle finestre e dei menu, ecc.)


Aggiustamenti e impostazioni
---------------------------------------------
1) Al primo login bisogna riassegnare la giusta tastiera in gnome. Entrare in Sistema/Preferenze/Tastiera e nella scheda "Disposizioni" aggiungere nuovamente, nel mio caso, la tastiera Svizzera francese del tipo "Generica 105 tasti (Intl) PC" (o meno tasti se non si ha una tastiera completa) e renderla quella di default. Questo perché il server grafico XGL per default attiva solamente la tastiera americana e non vede ancora i default di gnome.

2) nel menu Applicazioni/Accessori si trova "Gset-Compiz" che serve ad impostare le opzioni fondamentali di Compiz (attivazione-disattivazione plugins, ecc.)

3) nel menu Sistema/Preferenze si trova "CGWD Themer" che serve a scegliere un tema e a modificarne i parametri.


siti con info interessanti
-------------------------------
https://help.ubuntu.com/community/CompositeManager/ConfiguringCompiz
http://www.compiz.net/
http://pollycoke.wordpress.com/2006/05/18/ubuntu-dapper-xgl-compiz/
https://matteolucchesi.wordpress.com/2006/07/14/6/
http://www.compiz.net/viewtopic.php?id=389 [l'how-to d'originale]


NOTE:
---------
1) usando XGL il comando glxinfo ritorna che l'accelerazione 3D della scheda grafica non è attiva, ma in realtà non è vero e questa risposta del comando è conosciuta e normale.

2) non tutte le opzioni possibili sono gestite per mezzo del tool Gset-Compiz. Per avere a disposizione tutte le opzioni usare l'Editor della configurazione gnome (gconf)


Combinazioni di tasti utili e interessanti
-----------------------------------------------------
  • CTRL+ALT+freccia sinistra/destra ==> cambia faccia del cubo
  • CTRL+ALT+tasto sinistro mouse ==> gira il cubo liberamente
  • ALT+tasto sinistro del mouse nella finestra ==> la muove, oppure se è massimizzata la riporta alla grandezza demassimizzata
  • ALT+rotella mouse nella finestra ==> regola la trasparenza
  • ALT+rotella mouse premuta nella finestra massimizzata ==> la deforma
  • ALT+tasto destro mouse ==> appare il menu "Appearance" per ulteriori regolazioni
  • Tasto WIN+rotella mouse ==> zoom del desktop [ESC annulla]
  • SHIFT+muovi finestra ==> la aggancia ai bordi del desktop o di altre finestre
  • F12 o angolo alto destra ==> scala (exposé) finestre del desktop; sul mio PC Fn+F8 le scala, ma senza spostamento organico
  • F11 o angolo alto sinistra ==> scala finestre stessa applicazione
  • F10 o angolo basso sinistra ==> scala finestre di tutti i desktop
  • angolo basso destra ==> nasconde finestre del desktop che possono poi apparire in un altro con il mouse nello stesso angolo (spostamento in massa); sul mio PC anche Fn+F7
  • Tasto destro mouse ==> mentre le finestre sono scalate ne mette in primo piano una per vedere se è quella voluta. Se non lo è la si rimanda indietro con lo stesso tasto destro
  • SHIFT+F9 ==> inizia o termina la pioggia sul desktop
  • CTRL+Tasto WIN ==> disegna pioggia dove c'è il mouse
  • ALT+TAB ==> scorre le finestre come al solito, ma con grosse miniature delle finestre aperte


Problemi in sospeso
--------------------------
- il dialogo di uscita del PC non presenta più le opzioni "Uscita" e "Riavvia". Il bug è conosciuto.