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:

    Mecanismos de jogos gratuitos e de código aberto para o desenvolvimento de jogos Linux
    Este artigo cobrirá uma lista de mecanismos de jogo gratuitos e de código aberto que podem ser usados ​​para desenvolver jogos 2D e 3D no Linux. Exist...
    Tutorial de Shadow of the Tomb Raider para Linux
    Shadow of the Tomb Raider é a décima segunda adição à série Tomb Raider - uma franquia de jogos de ação e aventura criada pela Eidos Montreal. O jogo ...
    Como aumentar o FPS no Linux?
    FPS significa Quadros por segundo. A tarefa do FPS é medir a taxa de quadros em reproduções de vídeo ou desempenho de jogos. Em palavras simples, o nú...