Configurar Hybrid Graphics y reducir Temperatura en Arch Linux

Este Post contiene las intrucciones para configurar correctamente Hybrid Graphics, ya sea Intel/ATI o INTEL/Nvidia así como la reduccion de temperatura en equipos con Procesador Core iX en Arch Linux

Instrucciones

Drivers Soportados:
xf86-video-nouveau
xf86-video-ati
xf86-video-intel

Paso 1

Obtener la lista proveedores gráficos:
$ xrandr --listproviders

Si la salida es parecida a la siguiente efectuamos el paso 2:
Providers: number : 2
Provider 0: id: 0x7d cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 3 outputs: 4 associated providers: 1 name:Intel
Provider 1: id: 0x56 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 6 outputs: 1 associated providers: 1 name:radeon

Paso 2

Descargamos el Script para habilitar la tarjeta de Gráficos Discretos:
$ wget https://www.dropbox.com/s/p2kbq7mrg30cimy/ATI_Enable.sh

Paso3

Editamos el Script:
$ nano ATI_Enable.sh

Original:
#!/bin/bash
xrandr --setprovideroffloadsink ID_ATI ID_INTEL
sleep 1
echo "Habilitando..."
glxinfo | grep "OpenGL renderer"
DRI_PRIME=1 glxinfo | grep "OpenGL renderer"

Editado:
#!/bin/bash
xrandr --setprovideroffloadsink 0x55 0x7c
echo "Habilitando..."
sleep 1
echo "Proveedor Grafico: "
glxinfo | grep "OpenGL renderer"
echo "Proveedor Grafico Discreto: "
DRI_PRIME=1 glxinfo | grep "OpenGL renderer"

Paso 4

Damos permisos de ejecución y ejecutamos:
$ sudo chmod +x ATI_Enable.sh && ./ATI_Enable

**IMPORTANTE: Agrega script al arranque del sistema Info: Aprende Como Hacerlo

Descargar Scripts para Encendido y apagado de tarjeta discreta:
$ sudo su
# cd /usr/bin
# wget https://www.dropbox.com/s/rcvbvl081gt059x/ATI_Off
# wget https://www.dropbox.com/s/9l44p2l75nertr9/ATI_On
# chmod +x ATI_Off
# chmod +x ATI_On

Por defecto ambas tarjetas encienden en la carga del Kernel y de ahora en adelante para apagar la tarjeta discreta bastará con abrir una terminal y teclear $ sudo ATI_Off en caso de ser requerido podemos encenderla con $ sudo ATI_On

**Recomiendo apagar la tarjeta discreta cuando no se vaya a utilizar para mejorar las temperaturas de trabajo en el equipo (reduce aproximadamente 10 ~ 20 ºC).

La temperatura se puede revisar Instalanado paquete lm_sensors (Le damos YES a todo lo que pregunte)
$ sudo pacman -S lm_sensors && sudo sensors-detect

Ahora sólo es necesario ejecutar “sensors” para obtener info de temperaturas:
$ sensors

Paso Extra

Ejecuta el monitor de frecuencia (se detiene con Ctrl+C):
$ watch grep "cpu MHz" /proc/cpuinfo

Información del CPU y escalado de frecuencia:
$ cpupower frequency-info

Si tienes problema con el controlador intel_pstate o notas que las frecuencias de tu procesador son elevadas a pesar de no estar realizando tareas que lo demanden:

Vamos a deshabilitar intel_pstate del Kernel y vamos a cargar acpi-cpufreq que es el driver que se utilizaba en kernels anteriores al 3.9

$ sudo nano /etc/default/grub

Buscamos la linea similar a:
GRUB_CMDLINE_LINUX_DEFAULT="quiet "

Y agregamos intel_pstate=disable

Así:

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_pstate=disable"
Guardamos (Ctrl+O)

Reconfiguramos el Grub:
grub-mkconfig -o /boot/grub/grub.cfg

**Esto tendrá efecto hasta el siguiente reinicio, recuerda que la tarjeta discreta se enciende automáticamente.

Hemos terminado!!


13 comentarios

  1.   manuelperezf dijo

    gran post, alguien lo adapta para Debian o Ubuntu ?

    1.    GenzoDany dijo

      En Debian y Ubuuntu basta con instalar los drivers de Intel y después los privativos de ATI Catalyst, después de ello desde el panel de administración Catalyst es posible realizar el switcheo, el pasó extra funciona igual en Debian o Ubuntu, saludos!

  2.   usemoslinux dijo

    Buen aporte! Estaba buscando algo como esto. 🙂

    1.    GenzoDany dijo

      Gracias =D

  3.   geronimo dijo

    interesante ,,, menos mal que tengo intel ,,

  4.   Telpalbrox dijo

    En primer lugar muy buen post. Quería preguntar una cosa. Tengo un portátil hp con una tarjeta intel HD 3000 y una AMD Radeon HD 6490M ¿Por qué cuando ejecuto el comando “xrandr –listproviders” obtengo esta salida:
    Providers: number : 1
    Provider 0: id: 0x45 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 2 outputs: 4 associated providers: 0 name:Intel

    En “Providers: number : 1” ¿no deberían ser 2?
    En windows y el ubuntu con el driver propietario si me funciona la gráfica AMD, pero no he conseguido hacerla funcionar en Arch. También he intentado instalar catalyst siguiendo las instrucciones de la wiki, pero no lo he conseguido. Añadir que la tarjeta Intel si que funciona.

    1.    GenzoDany dijo

      tienes instalado el driver xf86-video-intel y el xf86-video-ati ?

  5.   Leproso_Ivan dijo

    Me perdí en el paso de Intel/ATI e Intel/nVidia. Tengo una nVidia 8200M G? Será útil aplicar esta guía?

    1.    x11tete11x dijo

      si tenes una placa discreta intel y una dedicada nvidia, entonces si

  6.   aioria dijo

    Buen post… Gracias por compartir…

  7.   eliotime3000 dijo

    WTF?!

    ¿Cómo hiciste para poner el reproductor antiguo de Youtube?

    1.    GenzoDany dijo

      el mismo blog a la hora de agregar el video te da la herramienta para crear swf que reproducirá tu video, realmente no es nativo de youtube es un reproductor empotrado

  8.   Fega dijo

    Buen post! He estado teniendo problemas de temperatura con Arch Linux en las últimas semanas. Tengo Arch Linux en Dual Boot con Windows 7 y me pasaba que apenas iniciaba Arch la temperatura se disparaba y no solo del CPU sino también de las placas de puertos USB y la HDD cosa que no pasaba con Windows. Arch Linux se ha salvado de ser desinstalado de mi notebook gracias a tu post! 🙂 Saludos

Deja un comentario

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