Alternância de GPU em notebooks Core-i

Este artigo apresenta uma solução para o problema de alternância entre GPUs em notebook com processadores da linha Core-i, que possuem uma placa gráfica discreta ATI no Ubuntu 10.10, evitando a necessidade de se alterar a placa padrão através da BIOS (com reinício do sistema necessário) e dando uma opção nos casos em que a escolha através de BIOS não é possível.

[ Hits: 21.865 ]

Por: Diego C. Sampaio em 11/11/2010


Introdução



ATENÇÃO: Esse artigo utiliza como distro o Ubuntu 10.10, mas pode ser adaptado com facilidade a qualquer distro que utilize o kernel 2.6.35 ou superior com debug habilitado, ou mesmo uma versão anterior que tenha o módulo vga_switchroo compilado e o debug habilitado.

O script aqui apresentado considera um computador com processador da linha Core-i e uma placa gráfica discreta da ATI. Placas gráficas Nvidia ainda não são suportadas.

No início do segundo semestre de 2010, uma série de notebooks baseados nos novos processadores Core-i da Intel fizeram sua entrada no mercado nacional, em especial os da linha dv4 da HP. Esses notebooks utilizam-se de uma tecnologia recente para GPUs (unidades de processamento gráfico, ou placas de vídeos) conhecida por "Hybrid Card", cuja função é tentar otimizar o uso da energia no computador.

A tecnologia Hibryd Card consiste de uma GPU discreta (offbord), em geral da série HD 4000 da ATI, combinada a uma GPU integrada (onbord) localizada no próprio processador da linha Core-i. A ideia é que, quando se estiver utilizando aplicações menos exigentes graficamente, ou mesmo quando o notebook estiver funcionando sem cabo de força conectado, a GPU integrada, que tem um consumo de energia dramaticamente menor e um desempenho gráfico também inferior, seja utilizada. E, no momento em que se necessitar de mais poder gráfico, ou quando o notebook estiver conectado a tomada, a GPU discreta seja utilizada.

No Windows, a própria ATI providencia junto com seu driver um software que realiza a mudança tanto automaticamente, baseando-se no fato do notebook estar ou não conectado a tomada, quanto manualmente, caso o usuário queira mudar de GPU independente desse fator. A mudança é imediata e não há necessidade de reiniciar o computador ou mesmo de sair do ambiente gráfico.

Já no Linux, e consequentemente no Ubuntu, não há solução para realizar a mesma tarefa. Esse artigo propõe uma solução para realizar a alternância de GPU no Linux Ubuntu da forma mais próxima possível a que ela acontece no Windows.

O módulo vga_switcheroo

Até o kernel 2.6.33, não havia maneira de se realizar alternância entre GPUs a não ser através da seleção da placa padrão na BIOS, solução que não funcionava para os notebooks HP (e outros) devido ao bloqueio da mesma pelo fabricante.

Isso acontecia por não haver suporte no kernel pra essa ação. A partir do kernel 2.6.34 foi criado um módulo, o vga_switcheroo, que podia ser adicionado ao kernel e futuramente estaria presente por padrão no kernel 2.6.35, que visa permitir a troca a quente de GPU, ou seja, com o sistema rodando e sem necessidade de alteração nas configurações da BIOS. E é esse modulo que iremos utilizar.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Preparando o ambiente
   3. O script
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Criando uma ISO bootável do OpenBSD

Configurando OpenSSH no Windows Server 2003 para autenticação por chave (sem senha)

Multi-head usando udev e Xnest

Fazendo o bash contar piadas

Impressora PDF via Samba para estações Windows

  
Comentários
[1] Comentário enviado por pgbatera em 19/11/2010 - 20:14h

Diego,

Estou com o seguinte problema...

Tenho o Ubuntu 10.10 instalado e o kernel 2.6.35-22... também já desinstalei o driver da ATI e mesmo assim o arquivo "vgaswitcheroo" não existe em /sys/kernel/debug

O que fazer? Mesmo desinstalando o driver da ATI ele não aparece.

[2] Comentário enviado por gustoceano em 30/01/2011 - 16:12h

Ola Diego C. Sampaio.

Gostei muito do artigo sobre a alternância de GPU no linux para aqueles que possuem uma placa de vídeo dedicada em sistemas com processador core_i. Ainda mais para aqueles que possuem um notebook da HP, no qual não há a possibilidade de alternar via Bios.
O teu artigo ajudo muito a resolver este problema em meu HP. Também contribui para a diminuição da temperatura do computador. No meu caso ao iniciar o computador as duas GPUs estavam ligadas, provocando o aumento de temperatura da máquina (65 graus para o core_i e 72 graus para o ati). Atualmente a temperatura do pressador core_i5 fica em 48 graus em dias muito quentes para operações básicas (email, músicas, openoffice e etc).
Penso que teu artigo pode também ser lincado com aqueles que apresentam soluções para aquecimento excessivo.

Mais uma vez muito obrigado.

Gustavo Q. Oliveira.

[3] Comentário enviado por sml em 10/03/2011 - 15:51h

Parabéns Diego, o artigo está realmente muito bom!

[4] Comentário enviado por Tthomas M O em 29/10/2011 - 11:14h

Bom dia pessoal, estavo rodando o script ai deu essa menssagem "gnome-session-save: comando não encontrado", alguem sabe a solução para o problema???
o not (HP dm4 1075), atualmente esta usando a IGD, entre 75º/80º.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts