Jogos

Como mostrar o contador de FPS em jogos Linux

Como mostrar o contador de FPS em jogos Linux
Os jogos Linux tiveram um grande impulso quando a Valve anunciou o suporte Linux para o cliente Steam e seus jogos em 2012. Desde então, muitos jogos AAA e indie chegaram ao Linux e o número de usuários que jogam no Linux aumentou consideravelmente.

Com o crescimento dos jogos Linux, muitos usuários começaram a procurar maneiras adequadas de exibir o contador de “frames por segundo” (FPS) como uma sobreposição em jogos Linux em execução. Um contador de FPS ajuda a ajustar o desempenho de jogos em execução, bem como a comparar a capacidade geral de um PC de jogar em diferentes resoluções.

Infelizmente, não há uma maneira unificada de exibir o contador de FPS em todos os jogos Linux que seja independente das tecnologias subjacentes nas quais um jogo está sendo executado. Diferentes renderizadores e APIs têm diferentes maneiras de exibir o contador de FPS. Este guia irá explicar vários métodos que podem ser usados ​​para exibir um contador FPS em jogos Linux.

Método 1 (Steam)

Notas de compatibilidade:

O Steam para Linux inclui um contador de FPS integrado que pode ser alternado nas configurações. Esta é provavelmente uma das opções mais compatíveis que funcionam com a maioria dos jogos Linux. No entanto, tive alguns problemas com os jogos do motor Unity que não exibiam o contador de FPS integrado. Esta opção também requer que você tenha uma conta Steam e um cliente Steam instalado em seu sistema.

O Steam permite até que você adicione jogos não comprados do Steam à biblioteca de jogos e o contador de FPS integrado também funciona nesses jogos. Para adicionar um jogo não Steam, clique em “Jogos” e depois clique em “Adicionar um jogo não Steam à minha biblioteca”, conforme mostrado na imagem abaixo:

Navegue até o local dos seus arquivos de jogo e, em seguida, alterne a opção “Todos os arquivos” na parte inferior.

Selecione o executável do jogo e clique em “ADICIONAR PROGRAMAS SELECIONADOS” conforme mostrado na imagem abaixo:

Se você deseja executar um jogo somente para Windows na camada de compatibilidade Proton do Steam, você terá que habilitar uma opção adicional nas propriedades do jogo.

Eu adicionei o executável SuperTuxKart na biblioteca do Steam e o contador de FPS também está funcionando bem aqui. Observe que quaisquer jogos de terceiros adicionados à biblioteca do Steam não devem ter nenhum espaço no caminho de localização do arquivo.

Método 2 (LibGL)

Notas de compatibilidade:

LibGL é uma biblioteca Mesa que expõe APIs OpenGL para aplicativos e jogos e está incluída em quase todas as distribuições Linux por padrão. Usando esta biblioteca e outro pacote que cria um HUD em tela visível, mostraremos um contador de FPS em jogos Linux. Execute o seguinte comando para instalar o pacote necessário:

sudo apt install xosd-bin

Para mostrar o contador de FPS em jogos Linux nativos, use o comando abaixo após substituir / path / to / executable pelo seu próprio caminho executável de jogo. Você pode saber mais sobre todas as opções de osd-cat aqui.

LIBGL_SHOW_FPS = 1 / caminho / para / executável 2> & 1 |
tee / dev / stderr | sed -u -n -e '/ ^ libGL: FPS = / s /.* \ ([^] * \) = / \ 1 /; p '|
osd_cat --lines = 1 --color = yellow --outline = 1 --pos = top --align = left

Para mostrar o contador de FPS em jogos do Windows rodando no Linux através do Wine, use o comando abaixo após substituir / path / to / executable pelo seu próprio caminho executável.

WINEDEBUG = fps vinho / caminho / para / executável 2> & 1 | tee / dev / stderr |
sed -u -n -e '/ trace / s /.* aprox // p '| osd_cat --lines = 1 --color = yellow
--contorno = 1 --pos = topo --align = centro

Se você estiver usando um prefixo Wine, o comando seria (substitua / caminho / para / wine / prefixo e / caminho / para / executável):

WINEDEBUG = fps WINEPREFIX = / caminho / para / vinho / prefixo vinho
/ caminho / para / executável 2> & 1 | tee / dev / stderr | sed -u -n -e '/ trace / s /
.* aprox // p '| osd_cat --lines = 1 --color = yellow --outline = 1 --pos = top
--alinhar = centro

Este método tem uma pequena limitação. Embora você possa personalizar o HUD osd-cat, ele permanece em uma posição fixa na área de exibição sem levar em consideração a geometria da janela do jogo. Na captura de tela acima, o contador de FPS é mostrado acima da janela do jogo, não dentro dela. Os jogos em tela cheia não são afetados por isso.

Método 3 (Gallium3D)

  • Funciona apenas com jogos OpenGL.
  • Funciona com jogos nativos e jogos Wine.
  • Testado trabalhando com placas de vídeo AMD com drivers de código aberto.
  • O suporte do Gallium3D para Intel está em andamento, então ainda não está funcionando.
  • Não testado com placas NVIDIA porque não tenho uma placa NVIDIA. Como o driver de código aberto NVIDIA é Gallium3D habilitado, este método deve funcionar.
  • Gallium3D é uma API que torna mais fácil desenvolver drivers para placas gráficas, fornecendo um conjunto de bibliotecas e interfaces padrão. Os drivers de código aberto AMD e NVIDIA são desenvolvidos com base no Gallium3D.

    Para mostrar o contador de FPS em jogos Linux nativos, use o comando abaixo após substituir / path / to / executable pelo seu próprio caminho executável de jogo:

    GALLIUM_HUD = "simples, fps" / caminho / para / executável

    Para mostrar o contador de FPS em jogos do Windows rodando no Linux através do Wine, use o comando abaixo após substituir / path / to / executable pelo seu próprio caminho executável do jogo.

    GALLIUM_HUD = "simples, fps" wine / path / to / executable

    Se você estiver usando um prefixo Wine, o comando seria (substitua / caminho / para / wine / prefixo e / caminho / para / executável):

    GALLIUM_HUD = "simples, fps" WINEPREFIX = / caminho / para / vinho / prefixo vinho / caminho / para / executável

    Na captura de tela acima, estou usando uma variável GALLIUM_HUD personalizada que mostra as temperaturas da GPU e da CPU também. Este comando personalizado é diferente para diferentes configurações de PC. Para ler mais sobre todas as opções de personalização, execute os comandos:

    sudo apt install mesa-utils
    GALLIUM_HUD = ajuda glxgears

    Apenas para referência, aqui está o comando personalizado que usei nas capturas de tela acima:

    GALLIUM_HUD = "simples, fps; sensores_temp_cu-amdgpu-pci-1c00.temp1;
    sensores_temp_cu-k10temp-pci-00c3.Tdie "/ caminho / para / executável

    Método 4 (sobreposição Mesa Vulkan)

    Notas de compatibilidade:

    A sobreposição do Mesa Vulkan é uma nova camada do Vulkan adicionada às compilações recentes do Mesa. Ele exibe várias informações sobre o aplicativo em execução usando uma sobreposição.

    Para mostrar o contador de FPS em jogos Linux nativos, use o comando abaixo após substituir / path / to / executable pelo seu próprio caminho executável de jogo:

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG = posição = canto superior esquerdo / caminho / para / executável

    Para mostrar o contador de FPS em jogos do Windows em execução no Linux por meio do Wine e DXVK, use o comando abaixo após substituir / path / to / executable pelo seu próprio caminho executável do jogo:

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG = posição = vinho / caminho / para / executável superior esquerdo

    Se você estiver usando um prefixo Wine, o comando seria (substitua / caminho / para / wine / prefixo e / caminho / para / executável):

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay
    VK_LAYER_MESA_OVERLAY_CONFIG = posição = superior esquerdo
    WINEPREFIX = / caminho / para / vinho / prefixo vinho / caminho / para / executável

    Método 5 (DXVK HUD)

    Notas de compatibilidade:

    DXVK fornece uma camada de tradução baseada em Vulkan para D3D10 e D3D11, permitindo aos usuários jogar jogos Direct3D 10/11 no Linux. O D9VK usa back-end DXVK para fornecer uma implementação Direct3D9 adicional que pode ser usada para jogar jogos baseados no D3D9.

    Para mostrar o contador de FPS em jogos DXVK em execução no Linux por meio do Wine, use o comando abaixo após substituir / path / to / executable pelo seu próprio caminho executável de jogo:

    DXVK_HUD = fps wine / path / to / executable

    Se você estiver usando um prefixo Wine, o comando seria (substitua / caminho / para / wine / prefixo e / caminho / para / executável):

    DXVK_HUD = fps WINEPREFIX = / caminho / para / vinho / prefixo vinho / caminho / para / executável

    Isso marca o fim desta postagem. Para concluir, eu mencionaria um pequeno detalhe omitido acima. Todos os métodos não Steam explicados acima funcionarão também para jogos Steam. Você deve substituir “/ caminho / para / executável” ou “vinho / caminho / para / executável” ou “WINEPREFIX = / caminho / para / vinho / prefixo vinho / caminho / para / executável” por “% command%” no mesmos comandos usados ​​acima. Basta adicionar o comando completo para iniciar as opções nas propriedades do jogo dentro do aplicativo Steam, conforme mostrado na imagem abaixo:

    Portas de código aberto para motores de jogos comerciais
    Recriações gratuitas, de código aberto e de mecanismo de jogo de plataforma cruzada podem ser usadas para jogar jogos antigos, bem como alguns dos tít...
    Melhores jogos de linha de comando para Linux
    A linha de comando não é apenas sua maior aliada ao usar o Linux - ela também pode ser uma fonte de entretenimento porque você pode usá-la para jogar ...
    Melhores aplicativos de mapeamento de gamepad para Linux
    Se você gosta de jogar no Linux com um gamepad em vez de um teclado típico e sistema de entrada de mouse, existem alguns aplicativos úteis para você. ...