Como lidar com placas gráficas híbridas usando o PRIME

O processamento gráfico híbrido consiste em uma solução envolvendo 2 GPUs gráficas — cada qual dedicada a uma determinada tarefa.
O suporte a este tipo de solução ainda é experimental no Linux, mas está avançando a cada dia.
Se você tem um notebook com uma configuração deste tipo, sugere-se que você instale a versão mais atual do kernel ou use a versão mais atual da sua distribuição GNU/Linux favorita.

O PRIME GPU offloading e o Reverse PRIME são um conjunto de tentativas para dar suporte muxless a sistemas de processamento gráfico híbrido dentro do kernel Linux.
Se você tiver instalados o DRI2 e um kernel atual, provavelmente poderá usar o recurso.

Em notebooks, configurações híbridas de processamento gráfico tem várias utilidades. Uma delas é prover poder de processamento avançado em 3D quando o equipamento estiver ligado na tomada — uma vez que, nestas atividades, o consumo de energia é maior.
Quando você estiver em deslocamento e sem a possibilidade de usar o laptop conectado à rede elétrica, este se limita a fazer uso da GPU interna/integrada, com menos poder de processamento e, portanto, bem mais econômica.

A idéia é semelhante a dos carros híbridos movidos a combustíveis derivados de petróleo/energia elétrica.

Outro cenário é o uso predominante da GPU integrada que, além de mais econômica, esquenta menos. O calor interno é uma das maiores preocupações dos projetistas do seu notebook.
Quando a carga de trabalho aumenta, a segunda GPU é mais eficiente na execução das tarefas e no consumo.
A AMD, bem como a NVIDIA, oferece placas gráficas híbridas em conjunto com a Intel.
Uma dos efeitos indesejados de uma má configuração é as 2 placas ficarem ligadas simultaneamente, causando o sobreaquecimento e ruído excessivo, causado pela ventoinha (fan).
Como consequência do sobreaquecimento, o BIOS reduz o clock do processador, velocidade do disco rígido etc. para proteger o computador.
laptop dell inspiron 14 5000 special edition amd radeon and intel core i7 badge
Este post irá abordar a configuração de um hardware de processamento gráfico híbrido AMD/Intel em um notebook com a distro GNU/Linux Debian 9 “Stretch”, com kernel 4.5, com o GNOME (sem o Wayland).
Os procedimentos podem ser aplicados, com as devidas adequações, a outras placas de vídeo e a outras distros Linux — sem problemas! 😉
Clique nos links para obter informações mais detalhadas sobre o assunto em questão e dê uma olhada no final do arquivo para encontrar as referências deste texto.
Se você quiser compartilhar com os outros leitores, os detalhes de como está lidando com sua configuração híbrida, use a sessão de comentários.
O hardware examinado consiste em uma configuração de processamento gráfico híbrido, composta por uma placa Intel Broadwell U, com 256 MiB RAM e uma AMD/ATI Radeon R7 M260/265 com 2 GiB, que fazem parte de uma das edições do laptop Dell Inspiron 14 5000.

A GPU ou placa gráfica secundária é comumente chamada, também, de add-on card, discrete card, GPU secundária etc. Apesar do que estas nomenclaturas possam dar a entender, ela é, na maioria das vezes, a GPU mais poderosa.

Pôr este hardware para funcionar, sem usar software proprietário, vai ser algo muito difícil.
Mas vamos começar trabalhando com o que a gente tem — uma instalação padrão do Debian 9 “non-free”, que já vem com alguns firmwares e aplicativos proprietários mínimos para rodar o principal destas GPUs.
Para medir o desempenho do sistema, vamos fazer uso do glmark2 e do Unigine — este segundo é uma ferramenta de benchmarking que ajuda a levar a sua GPU ao stress extremo.

Como obter informações e diagnosticar suas placas gráficas

Com a ferramenta lshw, somado ao comando grep, é possível inquirir o seu sistema para obter dados dos seus componentes.
Veja alguns exemplos de funcionamento:

sudo lshw -short | grep display
/0/100/2                  display        Broadwell-U Integrated Graphics
/0/100/1c.4/0             display        Topaz XT [Radeon R7 M260/M265]

Pra ficar bem claro, a primeira (Intel Broadwell), é a placa integrada à placa-mãe. A segunda (Radeon), é a placa secundária, com recursos de renderização avançados 3D.
Tecnicamente, a segunda GPU é chamada discrete GPU.
Use a opção ‘-class’ para obter informações mais detalhadas, com o lshw

sudo lshw -class display
  *-display               
       description: VGA compatible controller
       product: Broadwell-U Integrated Graphics
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 09
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:50 memory:c1000000-c1ffffff memory:d0000000-dfffffff ioport:5000(size=64)
  *-display UNCLAIMED
       description: Display controller
       product: Topaz XT [Radeon R7 M260/M265]
       vendor: Advanced Micro Devices, Inc. [AMD/ATI]
       physical id: 0
       bus info: pci@0000:04:00.0
       version: 00
       width: 64 bits
       clock: 33MHz
       capabilities: pm pciexpress msi cap_list
       configuration: latency=0
       resources: memory:b0000000-bfffffff memory:c0000000-c01fffff ioport:3000(size=256) memory:c2000000-c203ffff memory:c2040000-c205ffff

Acima, o termo UNCLAIMED pode significar que o kernel não reconhece os drivers instalados da placa, que os módulos não estão carregados ou, simplesmente, que ela não está em uso.
O comando lspci pode dar uma pista sobre se os módulos relativos ao dispositivo estão carregados ou não:

sudo lspci -knn | grep -A 2 -i "display\|vga"

… e parece que sim.

00:02.0 VGA compatible controller [0300]: Intel Corporation Broadwell-U Integrated Graphics [8086:1616] (rev 09)
	Subsystem: Dell Broadwell-U Integrated Graphics [1028:0643]
	Kernel driver in use: i915
	Kernel modules: i915
--
04:00.0 Display controller [0380]: Advanced Micro Devices, Inc. [AMD/ATI] Topaz XT [Radeon R7 M260/M265] [1002:6900]
	Subsystem: Dell Topaz XT [Radeon R7 M260/M265] [1028:0643]
	Kernel modules: amdgpu

Note que a linha kernel driver in use está presente para a placa gráfica integrada Intel, mas não para a segunda placa.
O comando xrandr, tão útil para configurar o monitor, pode ser usado para listar os dispositivos provedores de gráficos:

xrandr --listproviders 
Providers: number : 1
Provider 0: id: 0x48 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 4 outputs: 5
 associated providers: 0 name:Intel

Como você pode ver, o xrandr não consegue estabelecer contato com a segunda provedora gráfica, ou graphic provider. Ele só enxerga a primeira.
Neste caso, é necessário carregar o módulo de kernel ‘amdgpu’:

sudo modprobe amdgpu

Se o módulo amdgpu não estiver instalado, veja, a seguir, como fazer isso.

Como encontrar software de drivers, bibliotecas e módulos nos repositórios Debian para a minha GPU

Você pode usar o ‘apt search’ para fazer uma busca por itens instaláveis, nos repositórios para a sua placa.

apt search amdgpu

Você pode obter informações detalhadas sobre qualquer item, usando o comando ‘apt show’:

apt show firmware-amd-graphics

A linha de comando acima irá mostrar uma relação (bem extensa) de chipsets suportados pelos firmwares contidos no pacote.
Para instalar o pacote, use o apt:

sudo apt install firmware-amd-graphics

Reinicie o sistema, após a instalação para poder ver a segunda placa:

xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x78 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 4 outputs: 5 associated providers: 0 name:Intel
Provider 1: id: 0x4f cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 0 outputs: 0 associated providers: 0 name:TOPAZ @ pci:0000:04:00.0

Como direcionar a execução de programas para a placa gráfica secundária

Para continuar, é necessário mais um curto procedimento, com o uso do xrandr.
No resultado, logo acima, cada Provider tem um código id em hexadecimal (0x78 e 0x4f).
Esta informação é que será usada no comando abaixo:

xrandr --setprovideroffloadsink 0x4f 0x78

Agora é possível usar o glxinfo para obter informações sobre o segundo provedor gráfico:

DRI_PRIME=1 glxinfo | grep -i "opengl renderer"
_
OpenGL renderer string: Gallium 0.4 on AMD ICELAND (DRM 3.1.0, LLVM 3.8.0)

Se apareceu a palavra “AMD”, no meu caso, então o procedimento correu como esperado.
Daqui para frente, e possível direcionar a execução do glmark2 e de qualquer outro aplicativo para a discrete GPU, agregando o comando “DRI_PRIME”:

DRI_PRIME=1 glmark2
_

ou para a GPU integrada …

DRI_PRIME=0 glmark2
_

Avalie os scores.
Após o “DRI_PRIME”, é possível executar qualquer outro programa que necessita do processamento 3D, inclusive o steam:

DRI_PRIME=1 steam
_

Conclusão

Esta abordagem, por um lado, ajuda a obter controle sobre a GPU discrete.
Mas o resultado para mim não foi bom e traz o inconveniente de ter que repetir o processo ‘xrandr –setprovideroffloadsink’, a cada vez que eu reiniciar a máquina.
Se o resultado for bom para você, então é melhor colocar este comando na inicialização — isto resolve o inconveniente.
Você ainda pode elaborar scripts curtos que executem o “DRI_PRIME=1” junto ao comando de execução de seus aplicativos (jogos) que fazem uso de renderização 3D.
Se você não conseguiu resolver o seu problema, espero que este texto tenha te dado algumas ferramentas para entender melhor o seu hardware, para prosseguir pesquisando.

Referẽncias

https://wiki.debian.org/AtiHowTo#Supported_Devices

Linux no Notebook Dell Inspiron 14 5448

As máquinas Dell são conhecidas por serem razoavelmente amigáveis com quem prefere usar uma das várias distribuições Linux.
Este post tem como objeto de análise um laptop Dell Inspiron 14 série 5000 Special Edition ou apenas Dell Inspiron 5448.
Conforme é possível observar no site oficial da Canonical, a máquina tem compatibilidade com o sistema operacional Ubuntu 14.04 LTS “Trusty Tahr”, condicionada a você manter a versão que vem pré-instalada no sistema.
Isto quer dizer que você pode ter dificuldades para configurar alguns detalhes do hardware (como o sistema híbrido de GPUs).
Se você não estiver disposto a se dar ao trabalho de configurar manualmente parte do sistema de hardware do seu laptop Dell, não remova a versão do sistema operacional que já vem instalada nele.

Faça backup do Ubuntu presente no seu laptop

Quando você liga um laptop Dell, pela primeira vez, ele dá início ao processo de pré-instalação e personalização do seu sistema.
Veja a animação no vídeo abaixo:

Durante o procedimento, ele irá pedir para você inserir um pendrive em branco para fazer o backup do sistema. Isto permite que você possa reinstalar sempre que precisar a distro Ubuntu certificada para o seu modelo.
Dell Inspiron 14 5000 series modelo 5448

Como funciona o Dell com outras versões do Linux

O Ubuntu 14.04 LTS, padrão que pode ser baixado do site da Canonical, funciona bem e já vem com uma série de drivers proprietários prontos para uso.
Mas, o openSUSE Leap 42.2 foi o que funcionou melhor, de acordo com os meus testes — sempre desconsiderando a GPU híbrida, que só é adequadamente reconhecida com a versão pré-instalada do Ubuntu.
No Ubuntu 16.04 LTS “Xenial Xerus”, os drivers proprietários da AMD foram removidos, o que te obriga a baixá-los do site da companhia, neste link: http://support.amd.com/pt-br/download/linux — este e outros links para downloads estão organizados ao final do texto, na seção “Referências”.
Você também pode usar o driver proprietário amdgpu, disponível nos repositórios mais atuais.
Instalar o Debian pode ser uma tarefa um pouco mais difícil, contudo.
Será necessário instalar a partir de uma imagem non-free, com os firmwares proprietários.
Se você tiver interesse na leitura, o post O que fazer após instalar o Debian foi baseado nesta máquina — e este texto é uma ramificação daquele.
O que resta fazer, depois da configuração básica do Debian 8.4, neste notebook, é configurar estes 3 itens:

  1. Touchpad — para que sejam aceitos todos os gestos de toques.
  2. Placa de rede Intel 7265 — para ter uma conexão melhor.
  3. Processamento gráfico híbrido Intel Broadwell/Radeon R7 M260/M265 — ou você usa o driver opensource ou baixa e instala o proprietário.

Este texto se baseia na distribuição GNU/Linux Debian 8.4 “Jessie” (com kernel 3.16). Mas devo avisar que o Debian 9 “Stretch” (com kernel 4.5), que está (na data deste post) em modo de desenvolvimento testing apresentou melhor desempenho, mais estabilidade e menos trabalho para instalar.
Em contraste com o kernel presente no Jessie, a versão presente no Stretch, traz drivers mais atuais e melhor suporte para os componentes do Dell Inspiron 5448.

Uma breve análise do notebook Dell Inspiron 14 série 5000

Este Inspiron, vem com 8 GiB de memória, processador Intel i7-5500U 2.40G
Trata-se de uma máquina com 2 aspectos muito interessantes e que chamam a atenção imediata no site de vendas da Dell:

  • Armazenamento híbrido — O SSHD de 1 TiB vem acompanhado de uma unidade SSD de 8 GiB, que funciona automaticamente como um cache.
    A depender do tipo de atividades que você for exercer nesta máquina, levando em conta que o sistema de cache tem seu ápice em atividades repetitivas ou previsíveis, vai ter a impressão de que a unidade inteira é um SSD de um 1 TiB.
    Programas pesados, que abrem arquivos grandes, como o Audacity, o Gimp, o Openshot etc. são muito rápidos nesta configuração de hardware.
    O recurso de hibernação (no Debian 9) funcionou de primeira, o que permite que ela volte instantaneamente deste estado.
  • Processamento gráfico híbrido — O objetivo de se ter 2 unidades de processamento gráfico, nesta máquina é a economia de energia e não, exatamente, o desempenho superior.
    Vários fabricantes de laptops desenvolveram tecnologias de uso de 2 placas gráficas em um único computador.
    Uma, básica, voltada para o uso trivial, do dia a dia, sem estar conectado à tomada e com baixíssimo consumo de energia.
    A outra é voltada para atividades que exijam maior performance.
    Esta tecnologia é bem suportada no Windows, mas ainda é experimental no Linux.

    Chamamos de processamento gráfico híbrido uma configuração de 2 placas gráficas, com diferentes habilidades e consumo de energia.

    Na configuração deste laptop a concepção é usar a GPU integrada Intel Broadwell-U como a principal unidade, para realizar as tarefas mais básicas.
    A unidade secundária, chamada discrete unit é voltada para renderização 3D e outras tarefas mais pesadas.

O comando lshw pode ser invocado, com a opção ‘-short’ para obter um resumo do hardware integrado:

sudo lshw -short

(Em destaque, os itens que vão ter nossa atenção na configuração pós-instalação.

H/W path        Device     Class          Description
=====================================================
                           system         Computer
/0                         bus            Motherboard
/0/0                       memory         7923MiB System memory
/0/1                       processor      Intel(R) Core(TM) i7-5500U CPU @ 2.40G
/0/100                     bridge         Broadwell-U Host Bridge -OPI
/0/100/2                   display        Broadwell-U Integrated Graphics
/0/100/3                   multimedia     Broadwell-U Audio Controller
/0/100/14                  bus            Wildcat Point-LP USB xHCI Controller
/0/100/14/0     usb2       bus            xHCI Host Controller
/0/100/14/1     usb1       bus            xHCI Host Controller
/0/100/14/1/5              communication  Bluetooth wireless interface
/0/100/14/1/7              generic        USB2.0-CRW
/0/100/14/1/8              multimedia     Integrated_Webcam_HD
/0/100/16                  communication  Wildcat Point-LP MEI Controller #1
/0/100/1b                  multimedia     Wildcat Point-LP High Definition Audio
/0/100/1c                  bridge         Wildcat Point-LP PCI Express Root Port
/0/100/1c.2                bridge         Wildcat Point-LP PCI Express Root Port
/0/100/1c.2/0   eth0       network        RTL8101E/RTL8102E PCI Express Fast Eth
/0/100/1c.3                bridge         Wildcat Point-LP PCI Express Root Port
/0/100/1c.3/0   wlan0      network        Wireless 7265
/0/100/1c.4                bridge         Wildcat Point-LP PCI Express Root Port
/0/100/1c.4/0              display        Topaz XT [Radeon R7 M260/M265]
/0/100/1d                  bus            Wildcat Point-LP USB EHCI Controller
/0/100/1d/1     usb3       bus            EHCI Host Controller
/0/100/1d/1/1              bus            USB hub
/0/100/1f                  bridge         Wildcat Point-LP LPC Controller
/0/100/1f.2                storage        Wildcat Point-LP SATA Controller [AHCI
/0/100/1f.3                bus            Wildcat Point-LP SMBus Controller
/0/2            scsi0      storage        
/0/2/0.0.0      /dev/sda   disk           1TB ST1000LM014-1EJ1

A configuração deste notebook é boa para uso comum e até para a maioria dos jogos nativos Linux, mas não é satisfatória para rodar jogos mais exigentes.
Laptops da Dell, para gamers tem preços iniciais 50% mais caros que este — e podem chegar a 5 vezes o seu valor .
Mais informações sobre a configuração gráfica, serão abordadas mais pra frente, ainda neste post.

O touchpad do Dell Inspiron

O touchpad, no Debian 8.4 GNOME, já “nasce” funcionando. Basta ativar o “clique com um toque” no painel de configuração.
gnome - touchpad - toque para clicar
Depois disto, ele entenderá os gestos no touchpad, da seguinte forma:

  • 1 toque = 1 clique com o botão principal (esquerdo) do mouse
  • 1 toque com 2 dedos simultâneos = 1 clique com o botão secundário (direito) do mouse
  • 1 toque com 3 dedos simultâneos = 1 clique com o botão do meio do mouse. Usualmente serve para colar o texto que se encontra na área de transferência

Se você ainda tiver problemas com o touchpad no GNOME ou no XFCE, instalar o pacote kde-config-touchpad, pode resolver:

sudo aptitude update
aptitude install kde-config-touchpad

Configuração da placa de rede

Sem a instalação de um pacote de firmwares proprietários, este equipamento fica com uma configuração de rede muito instável — além de lenta, cai o tempo inteiro.
Intel wireless adapter
O chip de rede sem fio Intel Dual Band Wireless-AC 7265 oferece suporte ao padrão 802.11ac, a 2 x 2 Wi-Fi e contém um adaptador Bluetooth 4.0.
Você pode encontrar os drivers específicos para a sua placa de rede Intel na sessão de links ao final do texto ou nos repositórios da sua distro.
Para fazer a instalação via aptitude, informe o nome do pacote:

sudo aptitude install firmware-iwlwifi

O pacote traz suporte a dezenas de outros firmwares e hardware de rede wireless da Intel. Use o comando show, para ver a relação completa:

aptitude show firmware-iwlwifi

Você terá um desempenho melhor da placa de rede, se usar um kernel mais atual. Portanto, este passo não é necessário no Debian 9.

Como configurar o processamento gráfico híbrido no seu notebook

Na configuração padrão, do Jessie, o sistema reconhece, mas não habilita adequadamente a segunda GPU — AMD Radeon R7 M260/265 com processador Topaz XT.
Quando a carga de trabalho da GPU se torna muito elevada, o X11 “apaga” e volta para a tela de autenticação do GNOME.
Para começar a abordar o problema, é preciso instalar o pacote de suporte open source.
Uma busca pelo driver proprietário da AMD, para as suas GPUs, mostra que eu já o tenho instalado no sistema (veja o destaque):

aptitude search fglrx
p   boinc-client-fglrx                                                 - metapackage for AMD/ATI fglrx-savvy BOINC client and manager                 
i A fglrx-atieventsd                                                   - events daemon for the non-free ATI/AMD RadeonHD display driver               
v   fglrx-atieventsd-virtual	-                                                                              
i   fglrx-control                                                      - control panel for the non-free ATI/AMD RadeonHD display driver               
v   fglrx-control-virtual                                              -                                                                              
i   fglrx-driver                                                       - non-free ATI/AMD RadeonHD display driver
v   fglrx-kernel-15.12                                                 -                                                                              
v   fglrx-kernel-15.9                                                  -                                                                              
v   fglrx-kernel-dkms                                                  -                                                                              
i   fglrx-modules-dkms                                                 - dkms module source for the non-free ATI/AMD RadeonHD display driver          
p   fglrx-source                                                       - kernel module source for the non-free ATI/AMD RadeonHD display driver        
i A glx-alternative-fglrx                                              - allows the selection of FGLRX as GLX provider                                
i A libfglrx                                                           - non-free ATI/AMD RadeonHD display driver (runtime libraries)                 
i A libfglrx-amdxvba1                                                  - AMD XvBA (X-Video Bitstream Acceleration) backend for VA API                 
v   libfglrx-virtual                                                   -                                                                              
i A libgl1-fglrx-glx                                                   - proprietary libGL for the non-free ATI/AMD RadeonHD display driver           
v   libgl1-fglrx-glx-virtual                                           -                                                                              
v   xserver-xorg-video-fglrx                                           -                                                                              

Desempenho da placa gráfica Intel Broadwell U

A avaliação do desempenho (ou benchmarking) foi feita com o glmark2.
Contudo, no Debian 8.4 Jessie, a performance da placa foi insatisfatória — obtive um ridículo score 68.
Em contraste, logo após a instalação do Debian 9 Stretch – também sem qualquer configuração adicional – obtive um score 540 — um índice 7,9 vezes superior!
Não há dúvida. O Debian certo para este laptop, é o Stretch.
Note que ambos os scores se referem ao desempenho da placa Intel (integrada). É necessária alguma configuração extra (que não será abordado aqui) para pôr a segunda GPU para funcionar.
A Intel Broadwell U, com apenas 256 MiB de memória RAM, foi capaz de rodar um benchmark completo da Unigine, em modo Extreme.
No que toca a GPU discrete, da AMD, com os aplicativos proprietários, disponíveis no site, há várias possibilidades interessantes. Entre estas, cito:

  1. optar por uma ou outra GPU para trabalhar
  2. permitir que o sistema selecione automaticamente a GPU a ser usada, em função da carga de trabalho ou da necessidade de economizar energia, quando o notebook estiver fora da tomada

E a ventoinha que não pára?

Outra reclamação recorrente, no site da comunidade de usuários Dell, é a ventoinha interna que, alegadamente (entre usuários Windows principalmente), funciona sem necessidade e em excesso.
Preliminarmente, tenho 2 coisas a falar sobre isto:

  1. Vejo problema maior em ventoinhas que não funcionam. Aí, sim! Você tem um perigo real pela frente.
    O barulho não é tão alto e, quem mora em lugar quente, deveria usar uma base com cooler, para não sobrecarregar o fan e proteger seu sistema.
  2. Há usuários cuidadosos e perdulários …
    Sabemos que há pessoas que usam o notebook sobre o colo e/ou sobre a cama, tampando o sistema de exaustão e fazendo-o trabalhar dobrado.

Na minha humilde opinião, o equipamento não tem problemas relacionados ao sistema de refrigeração e achei justificadas todas as vezes em que o fan era ligado no máximo.

Conclusão

O Dell Inspiron 14 serie 5000, modelo 5448, é satisfatoriamente compatível com Linux.
O melhor cenário, atualmente, é na instalação do openSUSE Leap 42.2 ou mantendo o Ubuntu 14.04 LTS que já vem instalado.
O Debian 8.4 pode dar algum trabalho para ser configurado e o Ubuntu 16.04 LTS pode ter um excelente desempenho, com a instalação dos drivers proprietários disponíveis na página da empresa — o que você precisa, não tem nos repositórios da Canonical.
Não experimentei o equipamento com o Fedora, mas vejo esta possibilidade com otimismo.
Em ordem de preferência, se fosse escolher hoje, as melhores distros Linux para esta máquina são, as já citadas, Leap, Trusty Tahr e Stretch.
Ao dar uma olhada no fórum oficial da comunidade de usuários DELL, é perceptível que os usuários Windows também têm alguns problemas de compatibilidade com os equipamentos da empresa.
Nada é perfeito para ninguém. Não há por que ter inveja (nem pena) — eles pagam mais caro e recebem menos tratamento respeitoso de volta da parte das empresas.


Leia mais artigos sobre produtos Dell, no site.

Referências

Como baixar, compilar e instalar fácil o glmark2 no Debian

O glmark2 é um aplicativo popular, de código aberto, usado para avaliar o desempenho da placa gráfica no sistema, com suporte a OpenGL 2.0 e OpenGLES 2.0.
A ferramenta está disponível para as plataformas GNU/Linux e Android.
Se você usa Ubuntu ou openSUSE, recomendo ler o post Guia para testar a performance do seu sistema com OpenGL, onde abordo a instalação do glmark2 nestas duas distros, a partir de seus repositórios específicos.
Naquele post, abordo também algumas dicas de uso do glmark2 —. Sugiro ler enquanto instala.
O glmark2 foi desenvolvido pela equipe da Linaro, com o objetivo de oferecer uma ferramenta de fácil uso para fazer benchmarking de unidades de processamento gráfico (GPUs) em hardware ARM, para sistemas embarcados.
Enquanto o aplicativo está disponível nos repositórios de outras distros, (Ubuntu, openSUSE etc), no Debian será necessário baixar e compilar o código fonte.
Se você é iniciante, no Linux, não se preocupe — por que é fácil.

Se você conhece os benefícios de baixar o código e compilá-lo no seu sistema e deseja usar este processo no Ubuntu, fique à vontade. Vai funcionar perfeitamente.

OpenGL oficial logo

Como preparar o ambiente para tratar o código

Para poder compilar código em seu sistema é necessário ter algumas ferramentas de desenvolvimento.
Neste caso, precisamos do git, do g++ e de algumas bibliotecas apropriadas.
Abra um terminal e instale-as:

sudo aptitude update
sudo aptitude install git g++ build-essential pkg-config

Com este comando, você estabelece um ambiente de desenvolvimento bem básico voltado para C++.
A seguir, instale as ferramentas de desenvolvimento X11 e OpenGL:

sudo aptitude install libx11-dev libgl1-mesa-dev

… e os headers de desenvolvimento para imagens JPEG e PNG:

sudo aptitude install libjpeg-dev libpng12-dev

Como baixar o código do glmark2

Agora já é possível receber o código e trabalhar em cima dele.
Para fazer o download, podemos usar o git ou ir até o site oficial do glmark2 e baixar o código.
Para baixar o código para dentro da minha pasta bin/ vou proceder da seguinte maneira:

cd ~/bin
git clone https://github.com/glmark2/glmark2.git
cd glmark2/

Como configurar, compilar e instalar

O glmark2 usa o sistema de desenvolvimento WAF, baseado no Python.
Este sistema requer uma instalação funcional Python 2.x.
A versão binária, disponível nos repositórios das outras distros, vem com suporte ao X11, Wayland e Mir.
A que nós vamos compilar, terá suporte apenas ao X11 e OpenGL:

./waf configure --with-flavors=x11-gl

Parte da graça de compilar um programa a partir do código fonte é poder retirar o que não é necessário, enxugar o código e ter um executável/binário mais rápido e eficiente.
As outras opções, caso queira acrescentar suporte a mais tecnologias, são as que seguem:

./waf configure --with-flavors=drm-gl,drm-glesv2,mir-gl,mir-glesv2,wayland-gl,wayland-glesv2,x11-gl,x11-glesv

Note que cada uma destas outras opções demanda um conjunto adicional de bibliotecas de suporte. Se você não as tiver, irá obter mensagens de erro ou avisos de que algo está faltando.
Quando terminar esta parte, construa o código e instale o binário:

./waf build -j 4
sudo ./waf install

Por fim, aplique o procedimento do stripping, que irá reduzir o tamanho final do binário e, portanto, torná-lo mais rápido.

sudo strip -s /usr/local/bin/glmark2

O processo está finalizado e você já pode rodar o glmark2 para verificar os resultados.

glmark2

Para concluir, você pode rodar o autoremove do aptitude e apagar o diretório com os fontes do glmark2 — mas, neste último caso, você terá que baixar tudo de novo, para fazer alguma alteração posterior no programa.

Referências

https://github.com/glmark2/glmark2.
http://fixmynix.com/how-to-install-glmark2-from-source-in-debian/.

Como testar o desempenho da placa gráfica no Linux usando o Unigine

O Unigine Heaven e o Unigine Valley são ferramentas de benchmarking proprietárias, de código fechado, desenvolvidas pela empresa russa Unigine.
A companhia focaliza o universo das soluções de alta performance, em 3D real-time.
Com a exibição de mundos 3D virtuais e gráficos impactantes a ferramenta é capaz de testar todo o potencial do seu hardware o que inclui o desempenho da sua GPU (placa gráfica).

Os softwares de benchmarking, alvos deste post, são multiplataforma e rodam no Linux, Windows e MacOS.

Unigine logo
A empresa desenvolve softwares para a AMD, NVIDIA, para a plataforma PLAYSTATION etc.
Neste texto, vou mostrar como baixar e rodar o programa de testes gráficos da empresa.
O download pode ser feito direto no site da empresa, aqui.
Outras opções de download, via torrent:

Os dois têm funcionamento semelhante (quase igual).
Saliento que o post é baseado em uma máquina rodando com uma placa gráfica Intel (integrada à placa mãe) comum, sob o OpenSUSE Leap 42.1.
unigine Heaven main screen
Há algumas opções a mais, presentes no Valley — mas ambos fazem uma análise profunda do desempenho gráfico do seu sistema.
Nenhum deles “deu pau” nas minhas máquinas de testes. Quando a exigência é muito grande para o seu hardware, o programa tende a finalizar a bateria e voltar para o menu inicial graciosamente.
Recomendo iniciar os testes com as opções mínimas ou Basic.
Observe, no canto superior esquerdo da tela, à medida em que o vídeo é exibido, a taxa de FPS.
Você pode ver mais informações no canto inferior direito da tela, se clicar no botão Benchmark, no canto superior esquerdo.

Como instalar o Unigine Benchmark tool

Feito o download, abra um terminal e vá até o diretório em que o pacote baixado se encontra. Trata-se de um pacote comprimido que se auto-extrai.
Para poder executá-los, é necessário dar-lhes permissões de execução:

chmod +x Unigine_Valley-1.0.run Unigine_Heaven-4.0.run

em seguida, execute os dois pacotes .run:

Unigine_Heaven-4.0.run; Unigine_Valley-1.0.run

Para executar o Heaven, dê o seguinte comando:

cd Unigine_Heaven-4.0/
./heaven

Para executar o Valley, dê o seguinte comando:

cd Unigine_Valley-1.0/
./valley

Conheça outras formas de testar suas placas gráficas no Linux.
Se quiser comentar sobre os resultados, logo abaixo, sinta-se à vontade.
unigine running benchmark tests