Ciao!
Premetto che sono totalmente ignorante per quanto riguarda linux, ma l'idea che mi sono fatto è che compiz e blender non possano girare insieme, perchè usano le stesse librerie (opengl se non sbaglio) o, in ogni caso, vanno in conflitto: questo succede, credo, a prescindere dai driver della scheda video che usi. Infatti io pure ho una Ati (9200 se 128 mb) che, essendo abbastanza vecchia, non mi ha richiesto l'installazione di alcun driver (su "gestore driver con restrizioni" mi dice che il mio hardware non ha bisogno di usare nessun driver con restrizioni!!!) e il compiz funziona molto bene, seppure con qualche scattosità ogni tanto, ma anche a me blender da i tuoi stessi problemi: bug a non finire!
Sul forum ci sono molte discussioni sull'impossibilità di usare insieme blender e compiz, tipo queste:
http://forum.ubuntu-it.org/viewtopic.php?t=75105http://forum.ubuntu-it.org/viewtopic.php?t=71234http://forum.ubuntu-it.org/viewtopic.php?t=161952Dato che non mi volevo rassegnare a rinunciare al compiz, che, lo ammetto candidamente, è stato una delle principali molle che mi ha fatto passare a linux, da totale newbe (si dice così??) quale sono, ho provato a cercare una soluzione: penso di averla in parte trovata e, se ti interessa, la sottopongo anche a te!
Partendo dalla consapevolezza che compiz e blender fanno a cazzotti, volevo aprire una finestra nel quale girasse un altro gestore di finestre, ad esempio metacity che, avevo letto su non mi ricordo quale intervento del forum, non dava di questi problemi: su linux questo è possibile!!!
Il programma che permette di fare questo si chiama xinit che, se non ho capito male, è quello che fa partire il server X all'avvio di Ubuntu; altro strumento indispensabile è Xnest che crea sessioni del server X "annidate" ("nest" in inglese vuol dire "nido" e "X" si riferisce al server X) ed è quello che materialmente apre la finestra.
L'ispirazione per questa soluzione mi è venuta principalmente da questi due siti:
http://telperion.wordpress.com/2007/05/ ... -finestra/dove si usa Xnest per creare una finestra all'interno della quale viene aperto gimp che quindi è "costretto" a rimanere in una sola finestra (e non nelle almeno 3 che in effetti diventano difficilmente gestibili),
http://www.tevac.com/article.php?story= ... 5143141525dove è spiegato esattamente quello che volevo fare io, con l'unica difficoltà di essere una guida per mac e quindi ci ho messo un po' ad adattarla per linux.
Fatte queste lunghe e forse inutili premesse ti spiego esattamente quello che ho fatto:
- per prima cosa mi sono assicurato con synaptic di avere installati sia xinit che Xnest (sulla mia Ubuntu 7.10 c'erano già);
- con gedit (naturalmente va bene qualunque text editor) ho creato un file salvandolo nella mia cartella "home" con il nome .xinitrc.metacity nel quale ho scritto:
blender -W --display :1 &
metacity --display :1
- ho aperto un terminale e ho inserito il seguente comando (dando poi invio):
xinit ~/.xinitrc.metacity -- /usr/bin/Xnest :1 -ac -name Blender -geometry 1020x710
Cerco di spiegarti cosa fa questo comando:
xinit va a cercare nella home il file .xinitrc.metacity ed esegue tutti i comandi che ci sono al suo interno in una finestra che apre con Xnest (/usr/bin/Xnest è il percorso dove si trova Xnest); è importante che, sia nel file .xinitrc.metacity, sia nel comando che dai da terminale, ci siano gli stessi numeri dopo il carattere ":", questo perchè esso definisce il display sul quale verrà aperta la finestra di Xnest (":0" è il dispay di partenza dove gira al server X all'avvio di ubuntu, ":1", ":2", ":3", ... sono i successivi, quindi se ti dovesse dare un errore perchè ti dice che il display 1 è gia occupato, puoi cambiare nel .xinitrc e nel comando da terminale ":1" con un altro dispay). Nella riga di comando da terminale i caratteri successivi a "/usr/bin/Xnest :1" servono:
-ac --> risolve dei problemi di permessi (senza non partirebbe niente)
-name (...) --> intesta la finestra di Xnest che si apre col nome digitato (nel nostro caso: Blender)
-geometry (...)x(...) --> assegna la grandezza della finestra da aprire: questa ti conviene adattarla alla risoluzione del tuo schermo o comunque alla grandezza che ti è più comoda.
Volevo farti notare che questo metodo può risultare utile in molte occasioni e per molte altre applicazioni, in particolare se crei un file .xinitrc scrivendoci all'interno:
xterm -display :1
e da terminale dai lo stesso comando di prima dove al posto di "~/.xinitrc.metacity" metti "~/.xinitrc", all'interno della finestra di Xnest non ti si apre blender, ma un terminale (xterm è proprio il comando per aprire un terminale per il server X) all'interno del quale puoi dare qualunque comando con la certezza che esso verrà eseguito solo all'interno della finestra che hai aperto con Xnest: da un certo punto di vista è come se avessi un altro computer quasi completamente indipendente dal primo da utilizzare a tuo piacimento per poter usare qualunque gestore di finestre, o programma, o, adirittura, penso che si possa provare kde senza rinunciare a gnome o viceversa (naturalmente devi averli scaricati entrambi per poterli fare partire)!!
Aggiungo che questa naturalmente è solo la traccia che ti consiglio di seguire, perchè a me, facendo così, funziona, ma se tu trovi un metodo che ti è più congeniale o che trovi più pratico sei liberissimo di fare diversamente (e ci mancherebbe, dirai tu!!); in particolare mi riferisco al fatto che non è strettamente necessario creare il file .xinitrc per far funzionare xinit (per maggiori chiarimenti ti rimando alla pagina di man di xinit, tra l'altro tradotta malissimo, che puoi trovare qui:
http://www.pluto.it/files/ildp/man/man1/xinit.1.html ).
PROBLEMI:
unico più o meno grave problema che per ora ho riscontrato in questo metodo e che ancora non sono riuscito a risolvere è che su display alternativi a quello di partenza (cioè il ":0"), la tastiera non ha più le impostazioni dei tasti in italiano e questo può generare qualche scomodità.
In ogni caso, utilizzando il metodo che ti ho spiegato, mi funziona tutto e blender non mi da più problemi e se ne sta buono buono nella sua finestra!
Spero di esserti stato di aiuto, di essere stato sufficientemente chiaro, ma di non averti annoiato con eccessive spiegazioni: la risoluzione di questo problema mi ha portato via parecchio tempo, ma averlo forse risolto almeno per il momento, mi ha entusiasmato molto, soprattutto perchè ho imparato moltissime cose in più su linux (anche se non ho fatto altro che incominciare a grattare sulla punta dell'iceberg) e in particolare ho capito quella che ritengo la quintessenza del software libero che non vuol dire "gratis", ma "libero" da qualunque limite!!!
Ho cercato di essere il più esauriente possibile anche perchè spero che qualunque neofita come me che abbia questo stesso problema, leggendo questo intervento possa risolverlo e contemporaneamente capire quello che sta facendo, cosa che spesso nelle guide ho notato che manca!
Ricambio gli auguri!!
A presto!