Appendice 10: il futuro:
Xgl e Compiz su (K)Ubuntu.
Come è ovvio Linux si evolve di giorno in giorno.
Uno dei cambiamenti più divertenti riguarda l'aspetto
grafico
del desktop. Mi riferisco a xgl e compiz che indubbiamente rendono
possibili effetti grafici sino a poco tempo fa impensabili.
Questa vuole essere una piccola guida per l'installazione di xgl e
compiz su KUbuntu (con KDE). Non dovrebbe essere troppo difficile
adattarla per Gnome o per altri sistemi operativi.
Il progetto Compiz-Quinn (quello di cui si parla qui) ha cambiato nome ed è diventato Beryl.
Non solo: ora con il nuovo server X (vers. > 7.1) è possibile
installarlo senza ricorrere a xgl, anche se è possibile ancora
la soluzione xgl + compiz (o beryl).
La descrizione seguente vale per (K)Ubuntu, nel senso che le repositories indicate hanno pacchetti per questa distribuzione.
I file per avviare Compiz, invece, sono indipendenti dalle
distribuzioni (al massimo può essere diversa la directory di
xsessions).
Repositories [per (K)Ubuntu]
Aggiungete alle vostre repositories, le
seguenti (ne basta una visto che sono mirrors una dell'altra, ma
abbondare è meglio...):
deb http://www.beerorkid.com/compiz dapper main
deb http://media.blutkind.org/xgl/ dapper main
deb http://compiz-mirror.lupine.me.uk/ dapper main
deb http://ubuntu.compiz.net/ dapper main
deb http://xgl.compiz.info/ dapper main aiglx
deb http://ubuntu.systemadministrator.org dapper all
per amd64:
deb http://www.beerorkid.com/compiz dapper main-amd64
deb http://media.blutkind.org/xgl/ dapper main.amd64
deb http://compiz-mirror.lupine.me.uk/ dapper main-amd64
deb http://ubuntu.compiz.net/ dapper main-amd64
deb http://xgl.compiz.info/ dapper main-amd64 aiglx
deb http://ubuntu.systemadministrator.org dapper all
deb http://raof.dyndns.org/falcon/ dapper eyecandy
aggiungete le chiavi png:
da console digitate:
wget http://www.beerorkid.com/compiz/quinn.key.asc -O - |
sudo apt-key add -
wget http://media.blutkind.org/xgl/quinn.key.asc -O - | sudo
apt-key add -
wget http://compiz-mirror.lupine.me.uk/quinn.key.asc -O - |
sudo apt-key add -
wget http://ubuntu.compiz.net/quinn.key.asc -O - | sudo
apt-key add
Pacchetti da installare
xserver-xgl
compiz
compiz-core
compiz-plugins
csm
compiz-gnome (lasciate perdere compiz-kde che non è
aggiornato e non funziona!)
cgwd
cgwd-themes
backstep (lo si trova qui: AMD64.deb
o i386.deb [per(K)Ubuntu]
xwinwrap (per avere gli sfondi animati)
Creazione scripts
Con un editor di testo create i seguenti due script:
[Desktop Entry]
Comment=Lancia compiz con KDE
Comment[it]=Lancia compiz con KDE
Encoding=UTF-8
Exec=/usr/bin/start_compiz-kde
GenericName=
GenericName[it]=
Icon=
MimeType=
Name=Compiz-KDE
Name[it]=Compiz-KDE
Path=
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-DCOP-ServiceType=
X-KDE-SubstituteUID=false
X-KDE-Username=
e salvatelo in /usr/share/xsessions col nome compiz-KDE.desktop
Servirà a far comparire nella schermata di login anche
l'opzione
compiz-kde (oltre alle normali KDE, Gnome, ecc.) in modo da avviare il
sistema con compiz.
Il secondo script è:
#!/bin/sh
#window manager for :0
kwin&
#start backstep to avoid difficulties minimizing on :0
backstep&
sleep 3
# Start up Xgl, compiz
# Run Xgl server on :1, on top of normal X
/usr/bin/Xgl :1 -fullscreen -ac -accel xv:fbo -accel
glx:pbuffer &
#sleep for 3 seconds to make sure Xgl started
sleep 3
# Tell subsequent X programs to access the Xgl server at :1
DISPLAY=:1
##white and transparent windows in some games
#XLIB_SKIP_ARGB_VISUALS=1
# Start cgwdr and log result
cgwd && > ~/cgwd-window.log
2>&1 &
#start compiz and log results
compiz --replace dbus csm && >
~/compiz.log
2>&1 &
#Fix Shift+BackSpace
xmodmap -e "keycode 22 = BackSpace BackSpace Terminate_Server"
# Start KDE
exec startkde
(Per ATI: sotituire /usr/bin/Xgl :1 -fullscreen -ac -accel
xv:fbo
-accel glx:pbuffer & con /usr/bin/Xgl :1
-fullscreen
-ac -accel xv:pbuffer -accel glx:pbuffer &)
(Per schede Intel, -ac -accel xv:fbo va sostituito con -ac -accel
xv:pbuffer).
Salvatelo in /usr/bin col nome start_compiz-kde e rendetelo eseguibile.
Le prime 5 righe (seguenti #!/bin/sh) possono essere omesse: servono
per lanciare determinati programmi sul sottostante server X. Per fare
un esempio Kaffeine funziona anche su xgl, ma richiede un maggior
consumo della CPU, con conseguente riscaldamento e rumore delle
ventole. Per evitarlo è possibile lanciarlo sul sottostante
server X. Ciò vale anche per i giochi che utilizzano opengl.
Vediamo come sistemare questo aspetto.
I
Primo metodo:
Si fa partire il programma desiderato anteponendogli DISPLAY=:0
Ad esempio per lanciare Kaffeine sul server X si dà il comando:
DISPLAY=:0 /usr/bin/kaffeine
(ovviamente lo si può inserire nel menu).
Secondo metodo:
Si creano delle 'diversion' per nvidia-setting e per i programmi che si
vuol lanciare sul server X. In questo modo è sempre
possibile
aggiornarli con i mezzi consueti (Adept).
Cominciamo con Nvidia-setting. Lanciare il comando:
sudo dpkg-divert --divert /usr/bin/nvidia-settings.real --rename /u
(per schede ATI: sudo dpkg-divert --divert
/usr/bin/fireglcontrolpanel.real --rename /usr/bin/fireglcontrolpanel e
sudo dpkg-divert --divert /usr/bin/aticonfig.real --rename
/usr/bin/aticonfig)
Per le applicazioni che ci interessano (ad esempio Kaffeine):
sudo dpkg-divert --divert /usr/bin/kaffeine.real --rename
/usr/bin/kaffeine
e creiamo i files (che renderemo eseguibili):
#!/bin/sh
DISPLAY=:0 /usr/bin/nvidia-settings.real "$@"
salvato in /usr/bin col nome nvidia-setting
(per schede ATI:
#!/bin/sh
DISPLAY=:0 /usr/bin/fireglcontrolpanel.real "$@"
salvato in /usr/bin come fireglcontrolpanel
e
#!/bin/sh
DISPLAY=:0 /usr/bin/aticonfig.real "$@"
salvato in /usr/bin come aticonfig)
per kaffeine:
#!/bin/sh
DISPLAY=:0 /usr/bin/kaffeine.real "$@"
che salveremo in /usr/bin col nome kaffeine (rendendolo eseguibile)
xorg.conf
ATTENZIONE: xorg.conf dovrebbe essere già
configurato
per la propria scheda grafica (con glxinfo si
può vedere se
l'accelerazione 3D è abilitata). Quello che segue NON
è
una guida per l'ottimizzazione di xorg.conf, ma semplicemente riporto
alcune opzioni che ho abilitato (per il server X) per la mia scheda.
Nella sezione Modules togliete 'Load dri' mentre deve essere presente
'Load glx' (vale per qualsiasi scheda NVidia)
Nella sezione Device, oltre al driver nvidia (fglrx per ATI),
mettete Option
"RenderAccel" "true" e
Option
"AllowGLXWithComposite" "true" (accelera la grafica per il server X e
va bene anche con Xgl, o almeno non fa male).
Se avete abilitato l'opzione 'composite=true' (serve per le ombre su
X), potete disabilitarla: compiz ha già composite
incorporato e
gira più fluido senza questa opzione in xorg.conf. Il server
X
7.1 ha già composite integrato, quindi anche in questo caso
l'opzione non serve.
A questo punto riavviate il sistema, al login scegliete compiz-kde e
... buona fortuna.
KPager vede
un unico desktop.
Esiste però un kpager modificato che vede tutti e quattro le
facce di compiz. Lo petete scaricare a questo link: kicker-compiz:
Con la versione di KDE 3.5.5 l'originario KPager è stato modificato in modo da vedere le facce del cubo.
Alcuni link utili:
Compiz.net
(Forums)
Ubuntu
- CompositeManager/Xgl
Ubuntu
- CompositeManager/InstallingCompiz
Ubuntu
- CompositeManager/ConfiguringCompiz
per vedere tre filmati
flash con le novità di Linux, Apple e Windows Vista:
Linux
XGL/Compiz Graphics to Apple Aqua & Vista Aero