Hybrid Graphics – Solución a dos placas de video en Linux (vga_switcheroo)

Linux puede traer algunos problemas en aquellas notebooks que poseen dos placas de video, ya que de no estar configurado correctamente el kernel posiblemente las active a las dos (en vez de a una sola). Esto impacta directamente en el rendimiento de la batería y el recalentamiento de la máquina.

Carlos Fioriti es uno de los ganadores de nuestra competencia semanal: «Compartí lo que sabés sobre Linux«. ¡Felicitaciones! ¿Ansioso por participar y hacer tu aporte a la comunidad, como lo hizo Carlos?

Existe un grave problema para los usuarios de Linux que posean notebooks con procesadores intel core i3, core i5 y core i7. Dichos equipos tienen dos placas de video para lograr un mejor rendimiento. Una, llamada “integrada” que está dentro del procesador para manejo de gráficos estándar como dibujo de la interfaz y cosas simples. La otra, llamada “discreta” es una placa poderosa que puede ser usada en casos donde sea necesario utilizar gráficos de alto rendimiento como por ejemplo los requeridos por juegos.

En mi caso particular el procesador es un Intel Core i5-2430M Dual-Core 2.40GHz que posee una placa de video “integrada” y una placa de video “discreta” AMD Radeon HD 6630.

El mal manejo por parte del kernel de esta característica (“Hybrid Graphics”) genera dos problemas. El primero es que el sistema arranca con ambas placas de video encendidas y el ventilador de la placa “discreta” trabajando al 100%. Esto provoca que haya un consumo de energía sobremedido y que la duración de la batería se acorte. El segundo problema se da a causa del recién mencionado: se genera mucho calor, que hasta llega a calentar el teclado y parte de la estructura de la notebook.

Para solucionar este tema recorrí varios sitios, blogs y foros en español y en inglés donde pude recoger experiencias de unos cuantos usuarios que por sí solas no solucionaban el problema pero en conjunto sí lo hacen. Les dejo la solución.

Antes de comenzar, asegúrense de tener instalados los paquetes debug del kernel y debugfs funcionando. En algunas distros no viene por default. Para comprobar que todo está ok y poder avanzar con los pasos pueden probar ver el contenido del archivo /sys/kernel/debug/vgaswitcheroo/switch. Si no lo tienen en su sistema, no podrán modificar la configuración.

Pasos a seguir

1.- Habilitar permisos para realizar el switch:

sudo su
chown -R nombreDeUsuario:nombreDeUsuario /sys/kernel/debug
chown nombreDeUsuario:nombreDeUsuario /sys/kernel/debug/vgaswitcheroo/switch
exit

2.- Encender la placa de video que está apagada (no está generando salida de video actualmente).

echo ON > /sys/kernel/debug/vgaswitcheroo/switch

Conectar la salida de video a la placa integrada.

echo IGD > /sys/kernel/debug/vgaswitcheroo/switch

Conectar la salida de video a la placa discreta.

echo DIS > /sys/kernel/debug/vgaswitcheroo/switch

Apagar la placa de video que está “desconectada” actualmente.

echo OFF > /sys/kernel/debug/vgaswitcheroo/switch

Ver el estado actual de la configuración de vga_switcheroo:

cat /sys/kernel/debug/vgaswitcheroo/switch

Generará una salida como esta:

0:IGD:+:Pwr:0000:00:02.0 --> placa integrada encendida (Pwr) y utilizándose (+).
1:DIS: :Off:0000:01:00.0 --> placa discreta apagada (Off)

Y con este set de instrucciones podremos realizar todos los cambios que necesitemos para lograr un mejor consumo de energía, menor cantidad de calor, y poder seleccionar qué placa de video utilizar a gusto. Espero que sea de utilidad para alguien que se encuentre con este problema.


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   vma1994 dijo

    En debian wheezy no está el archivo vgaswicheroo como puedo controlar la gráfica híbrida?

  2.   Raul Aguiar dijo

    Para que las configuraciones no se pierdan al reiniciar facil, lo integras en el rc.local y voilá.

  3.   sergio dijo

    y como lo integras en el rc.local?? yo estoy en fedora 17 y busco como generar un script de bash que se ejecute al inicio, pero el problema viene al hacer sudo su, que pide contraseña y no se como hacer para que sea automatica… podrian hacer un tuto de como hacer que sea automatico al inicio??

  4.   Diego Armando Perdomo dijo

    Otra cosa después de aplicar esta solución al reproducir un vídeo lo hace a mayor velocidad alguna solución? tengo instalado linux mint 13, mi pc es un dell procesador intel core i7

  5.   Usemos Linux dijo

    Creo que acá vas a encontrar lo que buscás, en el apartado «script for use during bootup»
    https://help.ubuntu.com/community/HybridGraphics
    Saludos! Pablo.

  6.   Diego Armando Perdomo dijo

    Saludos: Muy interesante tu aporte, pero como logro que esta configuración no se pierda al reiniciar el PC?