All DNS Leads To Me

Icon

Nome: $:whoami _ Nato il: $:uptime _ Residenza: $:hostname _ Segni particolari: ‘uname -a’

Metacity Compositor: Compilazione e trasparenze

UPDATE 26-12: Aggiornate le dipendenze.

Non lo svelo certo io: il compositor integrato in metacity è entrato nel ramo di sviluppo ufficiale, e verrà quindi incluso in GNOME 2.22 (attualmente la versione è 2.21.5). Si tratta di un Compositing Manager basilare (non fa uso di OpenGL come Compiz ma dell’estensione XRender di Xorg), ma che aggiunge quel pizzico di eye-candy che ancora manca in GNOME: ombre e trasparenze finalmente integrate a livello di DE. Che poi sono esattamente le feature che XRender implementa grazie all’introduzione di un canale alpha nel comporre le immagini. Tra le novità c’è anche un’effetto di riduzione a icona (minimizzazione) molto più fluido.

Il primo impatto viene dalle ombre: sono la prima cosa che si vede appena si avvia il nuovo metacity. Poi salta subito all’occhio la minimizzazione fluida, ma l’effetto più carino che può essere apprezzato senza trucchi arcani è il selettore delle finestre con
ALT+Tab: sorridi, c’è l’anteprima delle finestre =D!

Purtoppo nessuna delle applicazioni GNOME è in grado per ora di sfruttare nativamente il compositing RGBA, anche se Andrea Cimitan sa come stuzzicare per bene gli impazienti: il suo ottimo engine Murrine ci mostra tutte le potenzialità delle GTK + XRender. Il codice non è ancora disponibile, ma è solo questione di (poco) tempo.

» Compilazione (e installazione, se ti va):

Dipendenze:

sudo apt-get build-dep metacity
sudo apt-get install libxcomposite-dev x11proto-composite-dev
sudo apt-get install subversion

Download sorgenti

Nella cartella che più ci aggrada:

svn co http://svn.gnome.org/svn/metacity/trunk metacity
cd metacity
./autogen.sh – -prefix=/usr
make

se poi vuoi proprio purgare il banale metacity stabile e tranquillo, anche in un secondo momento:

sudo make install

ma io non l’ho fatto perchè..

Esecuzione e attivazione

.. basta un banalissimo:

./src/metacity – -replace &

Si vedrà sfarfallare un po’ di roba e poi tornare le decorazioni della finestra. Per attivare il compositing:

gconftool-2 – -set /apps/metacity/general/compositing_manager – -type bool true

Ed è fatta. Se non avete installato il nuovo metacity e volete tornare a quello tradizionale è sufficiente un:

metacity – -replace &

Non disattivate la chiave in gconf mentre il nuovo metacity è in esecuzione: ne causerete il crash. Invece il bug di Appearance segnalato da Bl@ster sembra essere stato completamente risolto: ho provato anche a cambiare tema al volo e tutto è andato liscio =).

» Impostare la trasparenza

Per questo avrete bisogno di transset:

sudo apt-get install transset

Ora, una volta compilato+[installato]+eseguito+attivato Metacity Compositor, ecco come fare per impostare le finestre traslucide. Da terminale:

transset [value]

dove [value] è un valore compreso tra 0 e 1, che sta ad indicare la trasparenza desiderata in percentuale. Ad esempio, per impostare una trasparenza del 75%:

transset 0.75

una volta impartito il comando il cursore assumerà la forma di mirino. E’ sufficiente cliccare sulla finestra che vogliamo fantasmizzare et voilà =). Per reimpostare l’opacità totale basta ripetere l’operazione senza inserire un value oppure mettendo value = 1.

Purtroppo su Debian SID non ho trovato il pacchetto transset, quindi niente trasparenze. Potrete però ancora goderne se usate applicazioni che usano il compositing come AWN oppure Cairo-Clock. Sui miei 512 MB di memoria poterle usare senza Compiz è un grandissimo vantaggio, anche se sono ancora un po’ meno reattive.

» Impressioni

E’ veloce, accidenti. A volte causa dei piccoli rallentamenti di uno o due secondi ma complessivamente nel renderizzare l’immagine a schermo è un’altra storia. Sulla mia GeForce3 ho sempre sofferto un sacco di artefatti spostando una finestra con Firefox sullo sfondo; con il nuovo Metacity questo problema è *totalmente* scomparso e la finestra si sposta senza il minimo ritardo. Anche l’uso della CPU è visibilmente ridotto se osservo i grafici di Gnome System Monitor. E il tutto complessivamente si nota eccome. =D

Archiviato in:A Tutto Trunk, Eye-Candy, GNOME , , , ,

12 Responses

  1. ricochet scrive:

    grazie della spiegazione ;)
    se ti puo’ interessare ho scaricato transset ,ho una lenny, da qui :

    saluti :)

  2. stefanauss scrive:

    Saluti anche a te =)
    Grazie della segnalazione del pacchetto, appena posso proverò ad installarlo su SID ma difficilmente ci saranno problemi per un eseguibile così piccolo. Eppoi se è in Experimental è plausibile entro breve entri direttamente nei repo unstable =D…

  3. ricochet scrive:

    @ stefanauss:
    mi tocca stressarti :|
    ho compilato awn ma al lancio mi dice:
    Error: Screen isn’t composited. Please run compiz (-fusion) or another compositing manager. :F
    credevo che :”Section “Extensions”
    Option “Composite” “Enable”
    EndSection” bastasse……..
    devo mica aggiungere XRender in : Section “Module” ??
    abbi pazienza :)

  4. stefanauss scrive:

    XRender non va aggiunto (non è un modulo) ma do per scontato anche che tu abbia Gutsy o comunque una distro con una versione recente di Xorg (7.2 o 7.3) =)

    Do’ anche per scontato che tu riesca ad eseguire Compiz sul tuo PC, e che quindi con Compiz attivo AWN funzioni. Non sarebbe male nemmeno sapere che driver usi e che scheda hai =). Hai XGL?

    Comunque un piccolo troubleshooting:

    1) Controlla (lo so, è scrupolo puro) di avere avviato il nuovo metacity e non il vecchio.
    2) Controlla che la sezione dello xorg.conf sia esattamente uguale a questa, magari nel post hai scritto in fretta.

    Section “Extensions”
    Option “Composite” “Enable”
    EndSection

    3) Dai l’autogen.sh a metacity e controlla che l’output sia questo:

    prefix: /usr
    source code location: .
    compiler: gcc

    GConf: yes
    XFree86 Xinerama: yes
    Solaris Xinerama: no
    Startup notification: yes
    Compositing manager: yes
    Session management: yes
    Shape extension: yes
    Resize-and-rotate: yes
    Xsync: yes
    Render: yes
    Xcursor: yes

    In particolare la parte in grassetto.
    Fammi sapere =)

  5. ricochet scrive:

    @stefanauss: allora per disintossicarmi un po’ da ubuntu :) ho deciso di mettere debian sul portatile (in effetti non mi sono allontanato di molto !!)
    ho messo compiz-git ma dopo poco ho tolto tutto, in piu’ occasioni ho avuto modo di provare quanto appesantisca e per vedere ogni tanto il cubo che gira mi sembra un po’ poco, discorso a parte è sicuramente il movimento delle finestre……sta di fatto che ho messo metacity-svn su un SO da cui compiz era statp rimosso il giorno prima, casca qui l’asino ??!!
    p.s. ho il portatile a lavoro quindi fino a domani sono senza……..
    p.s.s. la scheda video è intel
    Grazie dell’aiuto ;)

  6. stefanauss scrive:

    Ok =) quindi compiz fungeva bene.
    Ad ogni modo i piccoli controlli rimangono validi, specialmente il 2 (AWN credo proprio faccia questo controllo) e il 3 (potresti non avere esattamente tutte le dipendenza; questo è possibile perchè trovandomi già un sacco di *-dev installati potrei aver perso qualche dipendenza fondamentale richiesta dal nuovo metacity dimenticandomi di segnalarla nel post)

  7. ricochet scrive:

    Rieccomi, spero tu abbia passato buone feste!!!
    Trovato l’intoppo, era qui:
    Compositing manager: no !!!!!!!
    hai voglia che avant non voleva partire……. :O
    Tutto Risolto, mille grazie per le dritte :)

  8. stefanauss scrive:

    Grande =) Buon compositing.

  9. DnaX scrive:

    Sono l’unico che con il nuovo metacity va più lento? nonostante la cpu stia veramente bassa…

  10. stefanauss scrive:

    No bhè, anche a me. Su hardy alpha 3 con driver “nv”. Secondo me può dipendere molto anche dal driver e più in generale dalla configurazione, a questo stadio dello sviluppo.

  11. DnaX scrive:

    Io uso i driver ati e con xcompomgr e compiz è sempre andato tutto bene. Solo che vedendo l’entusiasmo di Cimi al progetto l’ho voluto provare. Premetto che ho scaricato un pacchetto per Arch che ho trovato sul repository di Cimi e ho lanciato l’eseguibile metacity dal suo interno. Magari devo mettere qualche libreria nel sistema?

  12. LuNa scrive:

    per debian sid:

    http://freshmeat.net/redir/transset-df/55892/url_tgz/transset-df-6.tar.gz

    spacchettare, make, make install (niente configure)

    $ transset-df 0.75

    :D

Leave a Reply