Como desabilitar meu APU e usar o driver de código aberto GPU (AMD Radeon)?

1

Estou usando o Ubuntu 1410 (Kernel v3.13)

#uname -r
3.13.0-27-generic

Estou tentando desativar a APU (ou seja, o driver de software gráfico da Intel) e usar a GPU (ou seja, o driver de código aberto Xorg para Radeon). Mas eu falhei.

De todos os links que visitei, só descobri que a GPU foi desativada (por exemplo, DynOff )

#sudo cat /sys/kernel/debug/vgaswitcheroo/switch
[sudo] password for mgelbana: 
0:IGD:+:Pwr:0000:00:02.0
1:DIS: :DynOff:0000:01:00.0

DIS: Placa gráfica discreta

IGD: Placa gráfica integrada

Eu também habilitei o gerenciamento dinâmico de energia (DPM) da radeon nos parâmetros do kernel (ou seja, radeon.dpm = 1 )

GRUB_CMDLINE_LINUX_DEFAULT="drm.debug=0xe plymouth:debug radeon.dpm=1"

Para saber qual driver está funcionando no momento, abro Settings > Details do Ubuntu e verifico as seguintes informações na seção Visão geral :

Graphics: Intel® Ivybridge Mobile

Então, como habilitar o driver Radeon de código aberto?

    
por Muhammad Gelbana 13.11.2014 / 12:14

1 resposta

1

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 :

  1. 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 hexadecimais id e

  2. 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 ...).

    
por Rmano 13.11.2014 / 13:44