viernes, 10 de febrero de 2012

Aliens come!

:: Este post es relacionado con uno de mis principales amores informáticos, Linux!, hace un par de días me tuve que pelear con un equipo XPS15 para poder configurar correctamente la tarjeta de video, la cual con los drivers propietarios de NVIDIA no funciona, duré horas tratando de buscar la solución, hasta que se me ocurrió conocer un poco más acerca de la tarjeta de video con la que cuenta el equipo, y resultó ser una tarjeta Nvidia GeForce GT525M. Buena tarjetita ¬¬ pero bastante problemática, y es así por que cuenta con una tecnología que yo desconocía de nombre Optimus, que son dos tarjetas de video en una sola, una tarjeta intel y una tarjeta nvidia que por el momento no tiene soporte para linux por parte de Nvidia.


Entonces... manos a la obra.
Todo esto que escribiré a continuación fue extraído de un blog llamado soluciones ubuntu.



1. Verificar que ambas tarjetas están activas:

lspci -vnnn | grep VGA


2. Si utilizaste alguna vez una versión de bumblebee hay que eliminar las instalaciones anteriores:

Los siguientes comandos ejecutarlos siendo Dios!!!!...

Bueno no tanto =), solo root

apt-get install ppa-purge

ppa-purge ppa:mj-casalogic/bumblebee

ppa-purge ppa:mj-casalogic/ironhide

wget https://raw.github.com/Bumblebee-Project/Bumblebee/master/cleanup

chmod +x cleanup

./cleanup --force


3. Agregar PPAs necesarios
El PPA nuevo de bumblebee sería (ojo que la informacion desplegada ya se incluye en el paso 2, así que no es necesario repetirlo).

Solo ejecutarlo si no se tenía ninguna instalación de bumblebee anteriormente:


add-apt-repository ppa:bumblebee/stable


Y para mantener las ultimas actualizaciones de Xorg o drivers de nvidia (necesario para HW reciente!):


add-apt-repository ppa:ubuntu-x-swat/x-updates

Un problema que se me presento al agregar este repositorio fue el siguiente: 

E: Type 'ain' is not known on line 3 in source list /etc/apt/sources.list.d/ubuntu-x-swat-x-updates-oneiric.list

Que solucione simplemente editando el archivo y eliminando dicha linea:

gedit /etc/apt/sources.list.d/ubuntu-x-swat-x-updates-oneiric.list


4. Instalar paquetes:



apt-get update && sudo apt-get install bumblebee


5. Configurar lo necesario
5.1 Agregarse uno mismo al grupo de usuarios de bumblebee


usermod -a -G bumblebee sb


reemplazando "sb" por el nombre de usuario con el que están firmados al equipo. Prestar particular atención a la opción -a, pues sino se coloca el comando -a uno se remueve de todos los grupos! o_O


5.2 Reiniciar el equipo y listo!


5.3 Testear el funcionamiento
La forma mas sencilla es utilizar el comando optirun 


glxgears
299 frames in 5.0 seconds = 59.686 FPS
299 frames in 5.0 seconds = 59.629 FPS
299 frames in 5.0 seconds = 59.630 FPS
299 frames in 5.0 seconds = 59.632 FPS


optirun glxgears
1649 frames in 5.0 seconds = 329.431 FPS
1742 frames in 5.0 seconds = 348.273 FPS
1855 frames in 5.0 seconds = 370.857 FPS
2081 frames in 5.0 seconds = 415.743 FPS


6. Administración de Energia.

Según el autor del blog, su equipo ya administra bien las tarjetas de video, pero aún se sigue calentando, si a alguien le sucede lo mismo, abajo están las instrucciones para habilitar el manejo de energía.

ADVERTENCIA: Esto no esta soportado por bumblebee! Procesa bajo tu propio riesgo!

6.1 Leer el disclaimer


6.2 Instalar paquetes necesarios

apt-get install acpi-call-tools

6.3 Editar archivo 'bumblebee.conf' y fijar en Y los valores del manejo de energía

gedit /etc/bumblebee/bumblebee.conf

cambiar:

STOP_SERVICE_ON_EXIT=Y
ENABLE_POWER_MANAGEMENT=Y

Ojo!, Si no existen las líneas anteriores colocarlas al final del archivo bumblebee.conf

6.4 Crear archivos de texto llamados cardon y cardoff en la carpeta de configuración

gedit /etc/bumblebee/cardoff


gedit /etc/bumblebee/cardon


¿Que información deben llevar los archivos anteriores?
Dejemos un momento la configuración de los archivos cardon y cardoff y sigamos con la instalación del acpi_call.

Instalamos acpi_call lo cual hacemos de la siguiente forma:

apt-get install git 

git clone http://github.com/mkottman/acpi_call.git 

cd acpi_call 

make 

insmod acpi_call.ko 

Para revisar el status de los dispositivos VGA, ejecutar el siguiente comando: 

lspci -vnnn | grep VGA 

Desconecta la laptop, haz click en el indicador de batería y toma nota del tiempo restante de batería que le queda al equipo desconectado 

Ahora corre el siguiente script: 

./test_off.sh 

Si logras ver el mensaje "works!" al final del resultado que arrojó el script, ese es el método para configurar los archivos cardon y cardoff.

El contenido de cardoff en mi caso sería:
\_SB.PCI0.PEG0.PEGP._OFF

Y el contenido de cardon en mi caso sería:

\_SB.PCI0.PEG0.PEGP._ON


Update: 28 de Junio 2012.
Con el contenido que aparece al ejecutar el script ./test_off.sh podemos llenar los archivos que quedaron pendientes en el punto 6.4 de esta guía.


Revisa nuevamente el status de la batería, verás que ha cambiado, ahora marcará de 1 a 3 horas extra de energía.

Ahora pueden probar la tarjeta gráfica nvidia con el siguiente comando:

Para revisar que tu tarjeta está apagada ejecuta:

lspci -vnnn | grep VGA

Verás que la nvidia no muestra la leyenda [VGA connector] en color rojo

Ahora ejecuta:

optirun glxspheres

Espera que se abra una ventana con la imagen de unas esferas girando.

Ahora vuelve a ejecutar el comando 

lspci -vnnn | grep VGA

Y verás que la tarjeta nvidia ahora tiene al final de la línea la palabra [VGA connector] en color rojo lo que indica que está en funcionamiento.

Al cerrar la ventana de las esferas si vuelves a ejecutar el comando 

lspci -vnnn | grep VGA

Observarás que la tarjeta se desactiva correctamente.

Enjoy!