giovedì 29 dicembre 2011

Vivere serenamente con Compiz, Ubuntu Oneiric e Nvidia

Scrivo questo hint nella speranza di salvare la vita a milioni di persone e dopo aver ravvisato, nella Rete, la totale assenza di soluzioni ad un fastidioso problema che attanagliava la mia macchina da quando ho arditamente upgradato ad Ubuntu 11.10 (aka Gattopardo Onirico).
Da alcuni giorni sentivo la ventola del processore girare vorticosamente, a circa 3000 RPM contro gli usuali 2000 RPM (+50%); mi sono quindi subito accorto che il processore scalava alla massima frequenza, anche in momenti di apparente inattività. Questo produceva ovviamente maggiore rumorosità, maggiore usura meccanica, maggior consumo energetico a discapito dell'amato ambiente e, ovviamente, un sensibile calo prestazionale.
Inoltre non si potevano non notare alcuni glitches grafici che rendevo in alcuni casi la Dash di Unity inutilizzabile.

Conoscendo i miei polli, mi è bastato un htop per avere conferma che il colpevole era il processo compiz, il quale occupava costantemente il 98% della CPU. Poiché sul portatile, corredato da analoga configurazione software, il problema non si verificava, ho subito (giustamente) accusato i driver grafici Nvidia che, anche dopo l'aggiornamento, persistevano nella criticità.
Utilizzare il CPU-scaling per ridurre la frequenza del processore non poteva essere la soluzione, per l'ovvia necessità di potenza di calcolo in determinate situazioni (es. video HD); né tantomeno si poteva regredire alla versione non accelerata del Desktop Environment (Ubuntu 2D), per una questione di orgoglio (e di funzionalità).
Mi sono allora ricordato che il compositing di Compiz passa attraverso le librerie OpenGL, quindi è bastato settarne i relativi parametri.

Ecco quindi la soluzione, semplice ed efficace:
  • da terminale apri nvidia-settings (se necessario con privilegi di root)
  • apri la scheda OpenGL settings
  • abilita il Sync to Vblank
La tua vita è già cambiata in meglio!


marco brandolini