Solución a problemas de rendimiento en Gnome Shell con Nvidia 7100

Más que un problema de Gnome Shell parece ser una cuestión del driver de Nvidia en Ubuntu 11.10, así que el fix debería valer tanto si usas Gnome como si estás con Unity. Igualmente podría valer para otras tarjetas Nvidia, aunque no lo puedo confirmar.

Desde que hice upgrade a Ubuntu 11.10 e instalé Gnome Shell, a pesar de que en general todo funciona correctamente, al abrir el overview (el menú de Gnome Shell donde tenemos la lista de ventanas abiertas y podemos acceder a nuestras aplicaciones) la transición era insufrible. La animación hacía una o dos pausas, y hasta el alt+tab se volvió inusable al tardar varios segundos en mostrar la lista de ventanas.

Dado que tengo Gnome Shell corriendo de forma totalmente fluida en un laptop con una tarjeta de vídeo Intel GM965, el problema tenía que estar en la tarjeta Nvidia.

1. Instalar el controlador propietario

Es posible que también funcione con el driver libre Nouveau, pero con esta configuración puedo garantizar al menos que a mi me funciona.

Pulsamos en nuestro nombre arriba a la derecha para desplegar el menú, y seleccionamos “Configuración del sistema”.

Seleccionamos “Controladores adicionales” en la segunda fila de opciones. Se abrirá un diálogo informando de que se están buscando controladores para nuestro hardware y en unos segundos tendremos esta ventana:

Si ya tenemos un punto verde a la izquierda de la opción en la que pone [Recomendado] no hará falta que hagamos nada más, y podemos seguir con el punto 2.

Si no, seleccionamos esa opción y hacemos click en “Activar” abajo a la derecha. Tras pedirnos el password de nuestro usuario descargará e instalará automáticamente el nuevo driver. Una vez terminado cerramos todo y vamos al siguiente punto.

2. Cambiar la configuración de memoria en la BIOS

Por alguna extraña razón la configuración por defecto del UMA Frame Buffer Size no funciona correctamente en Ubuntu 11.10, así que vamos a cambiarlo por otro valor que sí nos funcionará.

Reiniciamos el PC y entramos en el menú de configuración de la BIOS (normalmente pulsando la tecla “del” o “supr” al arrancar, en la pantalla te pondrá qué tecla debes pulsar). Las opciones pueden variar ligeramente dependiendo de la versión de BIOS, pero deberemos buscar en primer lugar algo del estilo de “Advanced chipset features”:

Dentro de ese apartado buscamos dónde cambiar el Frame Buffer Size, y ajustamos su valor a 128MB (normalmente usando las teclas + y – para movernos entre los valores disponibles):

Pulsamos la tecla Esc hasta volver a la pantalla inicial de la configuración de la BIOS y seleccionamos “Save & Exit Setup”:

El PC se reiniciará y estaremos de nuevo en nuestro escritorio Gnome Shell, pero sin los problemas anteriores de lag en las transiciones.

Así iba antes:

Así va ahora:

Aun se echa de menos un poco más de fluidez en las animaciones para llegar al nivel de Gnome2 con Compiz (o al de Gnome Shell en mi laptop), pero a diferencia de antes de aplicar este fix la respuesta del alt+tab y de la tecla “Super” para abrir el overview es instantánea.