Eu só encontrei uma maneira de ativá-lo dinamicamente quando necessário; esta resposta é uma reformulação / reestruturação das minhas duas respostas anteriores aqui e aqui --- estes foram mais orientados sobre os sensores de temperatura na placa ATI, então acho que vale a pena postar esta resposta aqui.
No kernel recente (3.13+), o driver discreto é normalmente desativado:
[:~/Pictures/2014] 1 % sudo cat /sys/kernel/debug/vgaswitcheroo/switch
0:DIS: :DynOff:0000:01:00.0
1:IGD:+:Pwr:0000:00:02.0
... mas pronto para começar quando necessário. Para habilitar o descarregamento de tarefas gráficas para o cartão discreto, você tem que habilite-o antes :
-
Relacione os provedores gráficos:
xrandr --listproviders
que dá:
Providers: number : 2 Provider 0: id: 0x79 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 2 outputs: 4 associated providers: 0 name:Intel Provider 1: id: 0x53 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 4 outputs: 0 associated providers: 0 name:radeon
... e em algum momento entradas duplicadas com o mesmo
id
. Anote os códigos hexadecimaisid
e -
ative-os:
xrandr --setprovideroffloadsink 0x53 0x79
(você tem que substituir os códigos dos provedores da ATI e Intel, nessa ordem --- pelo menos eu acho)
Agora você pode ativar o cartão para um aplicativo gráfico definindo a variável de ambiente DRI_PRIME
. Por exemplo, abrindo outras janelas e iniciando glxgears
:
DRI_PRIME=1 glxgears -info
e verifique novamente enquanto o acima está sendo executado , você deve ter:
[:~/Pictures/2014] % sudo cat /sys/kernel/debug/vgaswitcheroo/switch
0:DIS: :DynPwr:0000:01:00.0
1:IGD:+:Pwr:0000:00:02.0
, o que significa que o cartão está ligado.
Muita informação é desta entrada no fórum do Arch e esta página de documentação do Arch (procure Arch pela qualidade da documentação e por tê-la atualizada ...).