Beryl e Xgl. Installazione facilitata e migrazione da Compiz.

Ciao a tutti, andando in giro per la rete, in cerca di nuove modifiche e miglioramenti da apportare alla mia Edgy Eft, sono incappato nel wiki di beryl.

beryl

Di seguito, una veloce traduzione del testo prelevato dal sito di http://wiki.beryl-project.org/index.php/Install/Ubuntu/Edgy/XGL

Traduzione (mia, perdonate la sintassi):

Introduzione:

Installare Xgl e Beryl in Kubuntu o Ubuntu Edgy Eft è semplice. Iniziare a farlo funzionare non sarà molto complicato, ma comunque con questo how-to vi risulterà più facile. Se precedentemente hai usato compiz, l’uso di beryl ti risulterà abbastanza famigliare. Se intendi aggiornare / semplificare / inserire altre istruzioni a quelle già presenti in questa pagina, registrati sul nostro sito, effettua il log in e aggiungi i tuoi suggerimenti.Buona fortuna! (Parla ovviamente del wiki, non del mio blog).

Nota: Lennart Hansen ha scritto una guida completamente grafica, con Beryl e Xgl su Ubuntu Edgy Eft con scheda grafica ATI. Questo è descritto in varie screenshots ed è stato fatto per chi non intende usare il terminale con riga di comando.

Suggerimenti: Si potrebbe realizzare una sezione sulla migrazione da un setup effettuato con Compiz, includendo quali pacchetti devono essere per prima rimossi, fin da quando si è in Compiz, per evitare conflitti.

Drivers per Schede Grafiche e Accelerazione Video 3D

Nota: Se hai usato in precedenza Xgl con compiz, sarebbe meglio che tu salti questo passaggio.

Il server Xgl X richiede l’accelerazione video 3D. Molte schede grafiche supportano automaticamente l’accelerazione 3D usando Edgy Eft; altre schede grafiche richiedono alcuni piccoli settaggi in più.

Puoi controllare se il rendering diretto è stato abilitato, digitando:

$ glxinfo | grep direct

in un terminale. Se il comando risponde:

direct rendering: Yes

Per le schede grafiche ATI puo controllare con:

“fglrxinfo”

ora sei pronto ad installare Xgl and Beryl. Se quando descritto sopra non appare, devi prima installare il driver giusto per la tua scheda grafica. Seguite le istruzioni riportate sulla guida ufficiale Ubuntu Desktop Guide, per installare i driver delle schede grafiche Nvidia o ATI, o controllate il Wiki ATI Linux Drivers Wiki per i drivers fglrx delle schede ATI.

Migrazione dal Compiz di QuinnStorm

Se hai installato la versione QuinnStorm di Compiz sul tuo sistema e desideri migrare a Beryl, è preferibile prima disinstallare Compiz e successivamente installare Beryl. Per farlo, usate semplicemente Synaptic (GNOME) o Adept (KDE) per rimuovere compiz, compiz-gnome ed i meta-pacchetti gset-compiz oppure usate questo comando a terminale:

$ sudo apt-get remove compiz compiz-gnome gset-compiz

e continuate a seguire la parte restante di questo tutorial.

Aggiungere i repositories del Progetto Beryl.

Ora aggiungete i repositories del Progetto Beryl al file /etc/apt/sources.list. Questo può essere fatto usando le interfacce grafiche Synaptic o Adept graphical, oppure da linea di comando. La linea da aggiungere è questa:

deb http://ubuntu.beryl-project.org/ edgy main

Per sistemi con architettura amd64, aggiungere alla linea ‘main-edgy-amd64’ così:

deb http://ubuntu.beryl-project.org/ edgy main-edgy main-edgy-amd64

Nota: Alcuni mirrors sono utilizzabili solo se la tua connessione è lenta o il tuo host ricerca gli host primari a bassa velocità. La lista dei mirrors utilizzabili include:

deb http://www.beerorkid.com/compiz edgy main-edgy
deb http://media.blutkind.org/xgl/ edgy main-edgy
deb http://compiz-mirror.lupine.me.uk/ edgy main-edgy
deb http://ubuntu.compiz.net/ edgy main-edgy
deb http://beryl.xglusers.de/ edgy main-edgy (main-edgy-amd64)

Nota: Io credo che tutti i mirrors dovrebbero essere deb http://address edgy main per funzionare correttamente.

I pacchetti nelle repository utilizzano una segnatura (firma) che deve essere verificata per considerare i pacchetti validi.
Per aggiungere la chiave gpg alla tua catena delle chiavi, devi inserirla in Synaptic / Adept oppure esegui il seguente comando:

$ wget http://beryl-mirror.lupine.me.uk/1609B551.gpg -O- | sudo apt-key add –

Successivamente, comanda ad apt di ricercare il nuovo software nei nuovi repository, eseguendo il seguente comando:

$ sudo apt-get update

Bene ! Il nuovo software, prelevato dai repository dovrebbe ora essere utilizzabile.

Installazione di Xgl e Beryl.

Usa Synaptic o Adept per installare il pacchetto xserver-xgl, oppure usa questa linea di comando:

$ sudo apt-get install xserver-xgl

Successivamente, installa i pacchetti beryl ed emerald-themes, con il comando:

$ sudo apt-get install beryl emerald-themes

Nota: beryl è un metapacchetto che necessita l’installazione delle sue dipendenze (beryl-core, beryl-plugins, beryl-manager, beryl-settings) e seleziona all’uso emerald decorator ma non emerald-themes.

Configurazione.

Ci sono molti modi per effettuare un login in una sessione Xgl ed avviare Beryl composite manager. Controlla qui quale è il modo che più preferisci.

Aggiungi una Sessione Xgl.

Aggiungere una Sessione separata di Xgl (gdm o kdm) alla tua pagina di login screen è un sistema alquanto raccomandato per vari motivi, in quanto ti permette ad ogni login di scegliere con estrema facilità la modalità desiderata e di impostarne quella standard per ogni sessione di Xorg. Dopo tutto questo, Xgl comunque non è capace di impostare tutte le varie opzioni del server standard Xorg. Alcune applicazioni (come ad esempio i giochi OpenGL) potebbero non funzionare correttamente in una sessione Xgl; ricordati che Beryl composite manager è ancora un progetto al quale molti programmatori si stanno dando da fare per renderlo performante. Se durante l’uso incontrerai dei problemi o degli errori di programmazione, potrai sempre effettuare il logout e rientrare con la tua vecchia sessione Gnome funzionante.

Per aggiungere una sessione X alla tua pagina di login, occorre effettuare il lavoro in due fasi: per prima cosa dobbiamo creare uno script di avvio che avii una sessione Xgl con i nostri comandi desktop. Poi, creeremo un file che usi questo nuovo script di avvio, per scegliere la sesione xGl.

Lo script di avvio: Usa il tuo editor di testo preferito e crea un file chiamato startxgl.sh nella tua path, come questo:

$ sudo gedit /usr/local/bin/startxgl.sh

Nota: Il contenuto delle variabili dello script dipende dalle variabili di avvio del tuo desktop e dalla scheda grafica che hai in uso. Comunque, utenti con vari altri window managers, possono aggiungere questi script di avvio a seconda della scheda grafica usata.

GNOME & scheda gafica Nvidia

#!/bin/sh
/usr/bin/Xgl :1 -fullscreen -ac -br -accel xv:fbo -accel glx:pbuffer &
sleep 4
export DISPLAY=:1
exec gnome-session

Per chi usa KDE, cambiare l’ultima riga in :

exec startkde

GNOME & cheda grafica ATI

#!/bin/sh
Xgl -fullscreen :1 -ac -br -accel glx:pbuffer -accel xv:pbuffer &
sleep 4
export DISPLAY=:1
exec gnome-session

Nota: Se si verificano dei problemi con gliscript originali, provate ad usare questo:

#!/bin/sh
Xgl :1 -fullscreen -ac -br -accel glx:pbuffer -accel xv:pbuffer &
sleep 4
export DISPLAY=:1
exec gnome-session

Per chi usa KDE, cambiare l’ultima riga in:

exec startkde

Note per gli utenti: Non sei felice con Xgl? Vuoi provare AIGLX?

Per me, con Ubuntu Edgy, XGL non lavora correttamente dopo l’aggiornamento, ma con i driver beta nVidia installati, uso il supporto built-in AiGLX support con xorg 7.1.1; cambiando lo scrpt di avvio si avrà:

GNOME

#!/bin/sh
beryl-manager
sleep 4
exec gnome-session

Per chi usa KDE, cambiare l’ultima riga in:

exec startkde

Rendere lo script eseguibile: Assicurarsi di aver configurato correttamente i permessi allo script, utilizzando Nautilus o Konqueror oppure semplicemente digitando questo comando nel terminale:

$ sudo chmod a+x /usr/local/bin/startxgl.sh

NOTA IMPORTANTE Ho notato recentemente che se noi avviamo Gnome/KDE in questo modo, possiamo perdere i font o la configurazione del pointer del mouse, sino a che non vengano caricati da Xgl. Il modo corretto che avevo trovato era di usare “exec /etc/X11/Xsession” al posto di gnome-session oppure startkde. – Lesterchakyn

Creazione della sessione di ingresso al login: Per creare il login entry, creare un nuovo file chiamato /usr/share/xsessions/xgl.desktop ed inserire questo al suo interno:

[Desktop Entry]
Encoding=UTF-8
Name=Xgl
Exec=/usr/local/bin/startxgl.sh
Icon=
Type=Application

Nota: La variabile Name=Xgl è la descrizione della sessione che poi leggeremo nel menu del login, e potete cambiarla con il ome che più vi aggrada, come ad esempio ‘Xgl-Gnome’ oppure ‘Xgl-Beryl’ se cosi più vi piace.

Bene!

Quando sceglieremo la selezione GDM o KDM, ora noi avremo la possibilità di sceglire una nuova sessione chiamata ‘Xgl’; Effetando un login in questa sessione, Xgl si sarà avviato ed utilizzerà le variabili come una sessione standard di Xorg X (utilizzando, il DISPLAY: 1) e caricando le tue variabili del desktop. Effettuando un login in una sessione normale, noteremo che avremo un desktop non accelerato, nessuna accelerazione per il trouble-shooting ed i vostri programmi si avvieranno diversamente da quanto avrete riscontrato usando Xgl.

Cambiare la modalità standard del login

Per GNOME: Invece di agiungere una sessione separata di avvio, si può modificare la modalità standard di avvio della sessione X. Questo non è raccomandato per la maggior parte degli utenti (vedi di seguito). Rimane comunque più funzionale anzichè aggiugere una sessione separata per avviare il server X con Beryl, per vari motivi.

Prima cosa cambia gdm.conf-custom:

$ sudo nano /etc/gdm/gdm.conf-custom

Andate alla fine del file ed aggiungete:

0=Xgl
[server-Xgl]
name=Xgl server
command=/usr/bin/Xgl :0 -fullscreen -ac -accel glx:pbuffer -accel xv:fbo
flexible=true

Quando andrete a riavviare oppure a riavviare solo il server grafico (CTRL+ALT+BKSPACE), il server Xgl dovrebbe riavviarsi correttamente.

Avviare Beryl

Adesso è giunto il momento di installare Beryl. Aprire un terminale e scrivere:

$ beryl-manager

Il più delle volte questo funziona correttamente, prima vedrete lo splash screen di Beryl e le vostre finestre diventeranno flessibili! Nella vostra barra di sistema (system tray) dovrebbe comparire l’icona di Beryl – una gemma rossa – che potete usare per configurare i vari settaggi di beryl e dei temi di emerald. Selzionate con un click ‘Beryl settings manager’ oppure Emerald, il manager dei temi. E’ comunque previsto l’uso di un altro window manager (metacity per esempio), nel caso che Beryl vada in crash.

Se non riuscite a visualizzare immediatamente lo splash screen di Beryl, puoi chiedere al manager di Beryl di caricare l’applicazione Beryl – click destro sulla gemma rossa, aprite “Select Window Manager” e selezionate “Beryl” -. Se ancora non va, ci sono altri problemi da risolvere ! Comunque, ricontrollate tutta la procedura effettuata sino a qui, per cercare qualche errore ortografico nei files di configurazione.

Canali IRC

Gli utenti Ubuntu possoro richiedere un aiuto sui canali #ubuntu-xgl oppure #xgl sull’ irc://irc.freenode.net/

Aggiungere Beryl alla Session Startup

Prendiamo per certo che tutto funzioni regolarmente, ora potete scegliere che Beryl Manager si avii automaticamente ogni volta che entrate nella vostra sessione Xgl.

GNOME

Nota: Questo metodo aggungerà beryl-manager ad gni sessione gnome, nonsolo nella sessione di Xgl. Non è la soluzione miglore, per questo motivo consiglio di tenere le sessioni Xorg e Xgl separate tra loro. Vedere in seguito.

* Andare in Systema → Preferenze → Sessioni
* Selezionare la tabella ‘Programmi d’avvio’
* Fare un click sul pulsante ‘Aggiungi’ e scrivere beryl-manager nella riga di comando.
* Fare un click su ‘Chiudi’

In aggiunta:

1) Se dopo aver avviato Beryl le decorazione delle finestre non si riescono a visualizzare, provate ad aggiungere beryl-xgl alla lista dei programmi in avvio automatico. Vedere la sessione Soluzione dei Problemi, descritta di seguito.

2) Potrebbe venir visualizzata una linea di comando indicante la versione usata.

Per chi usa KDE

Aggiungere beryl-manager al sistema di avvio automatico di KDE. Aprire un terminale e creare il seguente symlink:

$ ln -s /usr/bin/beryl-manager ~/.kde/Autostart/beryl-manager

Aggiungere Beryl ad una sessione già esistente.

Per chi usa GNOME

Per avviare beryl-manager solamente quando la sessione “xgl” si è avviata, ho modificato uno script, come descritto dal Wiki di Gentoo Wiki scripts.so:

Creare lo script: Usate il vostro editor di testo preferito per creare uno script chiamato start_beryl.sh. Posizionatevi e createlo direttamente in /usr/local/bin/ in questo modo:

$ sudo gedit /usr/local/bin/start_beryl.sh

Inserite nel file questo codice:

#!/bin/bash
#
# Start beryl-manager within gnome-session
#
if [ `ps -A -o comm | grep -c ‘^Xgl$’` == “1” ]; then
DISPLAY=:1 beryl-manager
DISPLAY=:1 beryl-xgl
else echo “${0}: Error: beryl-manager not launched. Xgl not running?”
fi

poi salvare il file ed uscite.

Rendete lo script eseguibile: Usate i permessi visualizzabili con Nautilus or Konqueror o semplicemente inserire questo in una riga del terminale:

$ sudo chmod a+x /usr/local/bin/start_beryl.sh

Aggiungete lo script alla sessione di startup:

* Andate su Sistema → Preferenze → Sessioni
* Posizionatevi sulla Tabella ‘Programmi d’avvio’
* Fare un click sul pulsante ‘Aggiungi’ ed inserire /usr/local/bin/start_beryl.sh nella riga di comando
* Fare un click su ‘Chiudi’

Ora, effettuate un logout ed avviare una sessione. Quando si avvierà una sessione Gnome, lo script controllerà se XGL è partito, ed allora, se sarete in una sessione Xgl, lancerà beryl-manager.

Per chi usa KDE, cercate direttamente nel wiki di Gentoo.

Il Wiki di Gentoo offre vari script di startup che permettono di avviare beryl o compiz solo se si è precedentemente avviato il server Xgl. Se questo script viene aggiunto ad una sessione di programmi GNOME or KDE’s con autostart, beryl non si avvierà sinoa che non si sarà avviato una sessione Xgl – una soluzione molto elegante per automatizzare l’avvio di beryl. Comunque, questi scripts sono stati scritti per compiz e includono anche altre soluzioni per risolvere problemi inerenti font e relative tastiere che a volte non funzionano correttamente dopo l’avvio di Beryl. Vi prego, ognuno testi questi scripts e occupi del tempo per scrivere se quanti di questi funzionino we quali invece no, indicandolo nella sezione Troubleshooting sottostante. Grazie all’aiuto di tutta la comunità!

Inoltre, lo script sopra menzionato per avviare beryl in gnome lavora anche quando viene aggiunto nell’autostart di KDE.

Troubleshooting

Qui trovate alcuni tips and tricks che sono stati presi dal forum di beryl.

Le decorazioni delle finestre non vengono visualizzate. Cosa è andato storto?

Prova ad avviare beryl-xgl. Apri un terminale e scrivi:

$ beryl-xgl

Se questo ha risplto il problema, aggiungi beryl-xgl in Programmi d’avvio, presente nelle Sessioni Gnome. Con KDE Autostart usa il sistema indicato in precedenza.

Aiuto, i bordi delle finestre sono molto fini, ma gli oggetti delle fiestre, i dialog box, le icone etc. vengono visualizzate / non vengono viste correttamente / solo effetivamente grige / come i temi del 1990/ come quando esistono problemi con gtk-1. Che cosa è accaduto?

Come descritto in vari post del forum, vi sono vari modi di risilvere il problema:

1) Prova ad eseguire gnome-settings-daemon da un terminale:

$ gnome-settings-daemon &

Ora dovresti vedere gli oggetti e le tue icone. Per avviare questo comando all’avvio della sessione, vai in Sistema → Preferenze → Sessioni, vai nela tabella “Programmi d’avvio”, click sul pulsante “Aggiungi” e digita gnome-settings-daemon nella rga di comando della finestra. Poi Esci.

2) Se stai usando lo script startxgl.sh descritto in precedenza e sta usando GNOME, prova a rimpiazzare il comando finale exec gnome-session con exec dbus-launch –exit-with-session gnome-session

#!/bin/sh
Xgl -fullscreen :1 -ac -accel glx:pbuffer -accel xv:pbuffer & sleep 2 && DISPLAY=:1
exec dbus-launch –exit-with-session gnome-session

3) Disabilitare lo splash screen di Beryl in Beryl Settings Manager.

Quando io seleziono la sessione sul pannello GNOME, ottengo un effetto zoom prima dei bellisimi efetti di XGL. Come posso evitare che ciò accada?

Devi disabilitare le animazioni dei pannelli. Premi Alt+F2 per aprire la Finestra “Esegui Applicazioni” e digita “gconf-editor”. Dal gconf-editor browser, naviga fino a apps -> panel -> global. Disabilità le animazioni. Chiudi la finestra di gconf-editor; l’animazione dei pannelli non ci sarà e avrai risolto il problema.

Ho aggiunto beryl-manager e beryl-xgl al mio avvio automatico dei programmi della sessione, ed ora non riesco ad effettuare il login dentro la mia sessione X. Come posso rimuovere i due programmi dall’avvio automatico?

Nel caso che tu abbia problemi di avvio dopo l’inserimento di beryl-manager e di beryl-xgl nella sessione GNOME (come potrebbe accadere di vedere un cubo bianco o schermo bianco dopo la visualizzazione del logo di Beryl) non c’è nessuna GUI per poterli rimuovere, prova a rimuovere le variabili di autostart manualmente, così:

Premi Ctrl-Alt-F2 ed enra in una console. Effettua il Login come di solito e digita:

cd ~/.config/autostart
rm beryl-manager.desktop beryl-xgl.desktop

Ora dovresti riuscire ad effettuare un login nella tua sessione X premendo Ctrl-Alt-F7 (per ritornare sul display grafico) premi Ctrl-Alt-Backspace (per riavviare il server X). Se la tua sessione non sia avvia per niente, digita:

$ sudo /etc/init.d/gdm start

nel terminale.

Mi accade che emerald si avvia due volte durante il login, e ci sono due instanze di emerald che girano, questo causa alcuni problemi. Come posso sistemare questo problema?

Crea un nuovo script di startup contenente il seguiente codice:

beryl-manager &
killall emerald
emerald &

Rendilo eseguibile ed aggiungilo ai Programmi d’avvio della sessione di GNOME o di autostart di KDE.

La mie applcazioni preferite con accelerazione hardware (google earth per esempio) non funzionano bene con Beryl. Che posso fare?

Prova aggiungendo DISPLAY=:0 davanti al comando; ad esempio:

$ DISPLAY=:0 googleearth

vedi http://wiki.beryl-project.org/index.php/Troubles/Xgl#Error_on_running_hardware_accerlated_3d-applications, [6]

XGL si avvia correttamente, ma il window manager (gnome o kde) si blocca allo startup.

Può questa applicazione funzionare con un utente e non con altri? Per provare, elimina .beryl-managerrc a chi non funziona.

$ rm ~/.beryl-managerrc

Perchè Beryl funzionando in Xgl con la mia scheda grafica ATI a volte pianta il sistema?

Se le crashes accadono durante l’esecuzione di applicazioni OpenGL, prova a cambiare da “-accel glx:pbuffer” a “-accel glx:fbo” sulla linea di configurazione di Xgl.

Se le crashes accadono, ad esempio, con le finestre flessibili, o per altre ragioni non conosciute e si usa un chipset basato su architettura r200, si può scaricare la patche Edgy Xgl deb per il chipset posseduto che lavori eliminando un noto bug con il driver fglrx per schede r200 chipset-based (ad esempio Mobility Radeon 9000). The file deb lo trovate su http://misha680.googlepages.com/xgl-edgy.zip.

Sperando di esservi stato utila anche questa volta, visauto ed alle prossime, Paolettopn.

8 Risposte

  1. Ciao Paoletto,
    grazie mille per questo consiglio:
    $ DISPLAY=:0 googleearth

    mi è stato utilissimo.
    Aldo😀

  2. Ciao Aldo,

    sono contento che tu abbia risolto e ti sia stato utile.

    Purtroppo, come saprai leggendo il mio blog, sono nuovamente senza il mio fidato Laptop Acer, inviato ancora alla casa madre di Milano per risolvere alcuni malfunzionamenti.

    Appena ritornerà il ‘figliol prodigo’ farò altri esperimenti con Beryl e li posterò qui, per la gioia di altri utenti.

    Alle prossime, Paolettopn.

  3. Ciao a tutti, ecco il mio problema quando lancio beryl-manager:

    Detected xserver : AIGLX

    Checking Display :0.0 …

    Checking for XComposite extension : passed (v0.3)
    Checking for XDamage extension : passed
    Checking for RandR extension : passed
    Checking for XSync extension : passed

    Checking Screen 0 …

    Checking for GLX_SGIX_fbconfig : passed
    Checking for GLX_EXT_texture_from_pixmap : passed
    Checking for non power of two texture support : passed
    Checking maximum texture size : failed

    Root window size (800/600) is bigger then maximum texture size (512×512)

    X Error of failed request: GLXBadContext
    Major opcode of failed request: 143 (GLX)
    Minor opcode of failed request: 4 (X_GLXDestroyContext)
    Serial number of failed request: 39
    Current serial number in output stream: 41
    Window manager warning: “” found in configuration database is not a valid value for keybinding “toggle_shaded”

    qualcuno mi può dare una mano?

  4. Ciao Franz08,

    da ciò che hai postato sembrerebbe che il tuo Pc abbia la risoluzione video settata a 800×600, mentre l’applicazione richiede 512×512 massimo !

    Che cosa hai toccato, per esempio nel xorg.conf ?

    Qui c’è qualcosa che veramente non và, non voglio pensare che tu intenda installare Linux su un Pc con video 800×600!!

    Prossimamente posta i dati del Pc che intendi usare, CPU, RAM, sch.VIDEO, ecc. , cosi da capire su cosa stai lavorando e soprattutto come….

    Alle prossime, Paolettopn.

  5. ciao, purtroppo è proprio così… ho un sempron 2800 con 512 mb di ram che uso solo per… “navigare” e fare qualche “download”… monta una matrox g400 ma il video 14” arriva a 800×600 a 85Hz… reggerebbe anche il 1024×768 ma sfarfalla con solo 60Hz.
    Non credo proprio di aver toccato l’xorg.conf…

  6. Ciao,

    ora le cose mi sono più chiare. Sarà un pochino difficile usare Beryl con l’hardware che stai utilizzando, in quanto la configurazione mi sembra un pochino bassa.

    Prova a vedere se trovi qualche soluzione qui:
    http://wiki.beryl-project.org/wiki/Installazione/Ubuntu

    Fammi sapere,

    Paolettopn.

Lascia un commento

Effettua il login con uno di questi metodi per inviare il tuo commento:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: