Compiz Kubuntu Ati HowTo

Contenuti

Premesse

Questo how-to si riferisce in particolare a come far funzionare compiz fusion su un sistema (k)ubuntu utilizzando i ultimi driver ati.

  • È necessaria l'ultima versione (attualmente 8.42.3) dei driver ati perché questa è la prima che ha il supporto per AIGLX. Questa versione non è già pacchettizzata per ubuntu quindi deve essere scaricata dal sito della ati.
  • Compiz fusion è già pacchettizzato:
    • Per (k)ubuntu 7.10 si trova già nei repository ufficiali
    • Per (k)ubuntu 7.04 bisogna aggiunge il seguente repository:
      deb http://download.tuxfamily.org/3v1deb feisty eyecandy
    • Se si ha aggiornato dalla versione 7.04 alla versione 7.10, ci si deve ricordare di eliminare il repository tuxfamily.org, e rimuovere tutti i pacchetti relativi a compiz provenienti da quei repository.

Installazione dei driver ati

Rimozione dei driver ati "vecchi" installati da ubuntu

sudo dpkg -r fglrx-amdcccle
sudo dpkg -r fglrx-kernel-2.6.22-14-generic
sudo dpkg -r xorg-driver-fglrx

Installazione dei driver "nuovi"

Nel caso non si abbia mai precedentemente compilato e generato i pacchetti per un qualche modulo del kernel, occorrono installare i seguenti pacchetti:

module-assistant, build-essential, fakeroot, dh-make debconf, libstdc++5 gcc-3.3-base, linux-headers-generic.

Quindi si possono generare i pacchetti per ubuntu a partire dal file d'installazione scaricato da ati.com col comando:

bash ati-driver-installer-8.42.3-x86.x86_64.run --buildpkg Ubuntu/gutsy

Verrano prodotti i file:

fglrx-amdcccle_8.42.3-1_i386.deb, fglrx-kernel-source_8.42.3-1_i386.deb, xorg-driver-fglrx-dev_8.42.3-1_i386.deb, fglrx-installer_8.42.3-1_i386.changes,xorg-driver-fglrx_8.42.3-1_i386.deb

Questi sono da installare con:

sudo dpkg -i *fglrx*8.42.3-1*.deb

Infine per compilare e installare il modulo del kernel fglrx:

sudo m-a update
sudo m-a prepare
sudo m-a build fglrx
sudo m-a install fglrx

Configurazione di Xorg

Io ho modificato il file di configurazione /etc/X11/xorg.conf nelle sezioni Module ed Extension in modo da ottenere:

Section "Module"
        Load            "glx"
        Load            "dri"
        Load            "dbe"
EndSection
Section "Extensions"
        Option          "Composite"     "Enable"
EndSection

Ma dovrebbe funzionare anche la configurazione che si aveva in precedenza con l'unica modifica nella riga

Option          "Composite"     "0"

che deve essere

  • commentata o eliminata (se non è specificato niente l'estensione AIGLX viene attivata di default)
  • oppure modificata in:
Option          "Composite"     "Enable"

Installazione di compiz fusion

Compiz fusion si trova già nei repository di (k)ubuntu 7.10, quindi basta semplicemente installare i seguenti pacchetti (tramite apt-get, aptitude, adept...):

  • compiz-kde
  • compizconfig-settings-manager, per poter configura compiz in modo user-friendly
  • emerald, che si occupa di disegnare i bordi delle finestre con effetti di trasparenza, tridimensionali...
  • compiz-fusion-plugins-main e compiz-fusion-plugins-extra, per aggiunge altri effetti speciali...

Avvio di compiz fusion

Lo script che avvia compiz controlla sia che il modulo di Xorg in uso supporti AIGLX, sia che la scheda video funzioni correttamente con compiz.
Entrambi i dati sono (molto probabilmente) scorretti visto che considerano la versione vecchia di fglrx.

Per fargli saltare i controlli si può:

  • o settare la variabile di ambiente SKIP_CHECKS=yes; in pratica, avviandolo con:
SKIP_CHECKS=yes compiz --replace
  • o modificare lo script /usr/bin/compiz per inserire fgrlx nella WHITELIST dei moduli funzionanti e, se necessario, togliere il pci id della propria scheda video dalla BLACKLIST dei delle schede non funzionanti; in pratica:
  • la riga:
WHITELIST="nvidia intel ati radeon i810"
deve diventare:
WHITELIST="nvidia intel ati radeon i810 fglrx"
  • e tra le righe:
T="   1002:5954 1002:5854 ...liste di pciid...
si deve eliminare il proprio pci id.
Nb: per sapere qual'è il proprio pci id e se se questo è nella blacklist basta provare ad avviare compiz normalmente: se la scheda si trova nella blacklist verrà visualizzato un messaggio tipo Blacklisted PCIID 1002:3152 found.
Dopo aver corretto il file /usr/bin/compiz, si può avviare compiz normalmente con:
compiz --replace

Conclusione

Con questo procedimento sul mio sistema compiz funziona perlopiù correttamente e stabilmente (soprattutto rispetto a come funzionava con Xgl).

Se mancano informazioni che possono essere utili, qualcosa è incomprensibile,... potete chiedere nella relativa pagina discussione o semplicemente modificate.

Link utili