Meu sistema tem uma GPU
memória de vídeo compartilhada. Estou usando o Fedora 27. Algumas linhas importantes da lspci
saída são as seguintes.
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
0a:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Sun LE [Radeon HD 8550M / R5 M230]
O que entendi de "Como verifico se meu sistema oferece suporte à aceleração de hardware? É na CPU ou na placa-mãe?" é que é um aplicativo que decide se usar renderização baseada em hardware ou software.
Isso é suportado pelo fato de Google Chrome
ter uma opção para desativar a renderização de hardware.
Mas, ao iniciar um aplicativo, gnome 3
todos os aplicativos têm a opção de iniciar usando gráficos dedicados.
Então, eu tenho duas perguntas
- Quem decide qual renderização será usada (
Gnome 3
somente o iniciador ou o aplicativo ou outra coisa)? - Como verificar qual renderização um aplicativo em execução está usando?
Qualquer explicação sobre isso é muito apreciada.
Há uma série de questões aqui.
Primeiro, os aplicativos podem suportar uma variedade de métodos de renderização, por exemplo , OpenGL e renderização de software. Se um aplicativo for renderizado em software, nenhuma aceleração de hardware será usada (ou minimamente, por exemplo , para operações de blitting etc.); geralmente é isso que acontece quando você seleciona a renderização de software em aplicativos que a suportam (Chrome, muitos jogos mais antigos). Se um aplicativo for renderizado usando OpenGL ou algo parecido, a aceleração dependerá do hardware disponível e se os drivers e bibliotecas apropriados estão instalados. Na maioria dos casos, você obterá aceleração de hardware, especialmente se estiver usando o GNOME 3, pois isso requer aceleração de hardware (portanto, se o GNOME 3 iniciar no modo não clássico, você tem certeza de que alguma forma de aceleração de hardware está disponível).
Em segundo lugar, em um sistema como o seu com duas GPUs, a aceleração pode ser fornecida pela GPU integrada ou pela GPU dedicada. Isso geralmente não é controlado por aplicativos, mas pelo kernel, usando o switcheroo VGA . As versões recentes do GNOME têm suporte para iniciar aplicativos usando a GPU integrada ou a GPU dedicada explicitamente; é isso que determina a opção "Iniciar usando placa gráfica dedicada" (consulte esta postagem do blog para obter detalhes). Se você iniciar um aplicativo OpenGL “normalmente”, ele será acelerado por hardware, usando sua GPU integrada (Intel); se você iniciá-lo usando “Launch using Dedicated Graphics Card”, ele será acelerado por hardware, usando sua GPU dedicada (AMD).
Para determinar se um aplicativo em execução está usando renderização de hardware, pelo menos ao usar drivers não proprietários, você pode encontrar o ID do processo do aplicativo e executar
(substituindo
${pid}
pelo valor apropriado). Se isso resultar em uma linha contendo algo como/dev/dri/card0
, o aplicativo está sendo executado usando renderização de hardware (e o número da placa informará qual GPU está usando - combine os valores/dev/dri/by-path
com os identificadores PCI); caso contrário, não é.