Com o crescimento dos jogos do Linux, muitos usuários começaram a procurar maneiras adequadas de exibir "quadros por segundo" (FPS) Contador como uma sobreposição na execução de jogos do Linux. Um contador de FPS ajuda a ajustar o desempenho dos jogos de corrida, bem como em benchmarking, a capacidade geral de um PC de jogar em diferentes resoluções.
Infelizmente, não existe uma maneira unificada de exibir contador de fps em todos os jogos do Linux, independentemente das tecnologias subjacentes em que um jogo está sendo executado. Diferentes renderizadores e APIs têm maneiras diferentes de exibir contador de fps. Este guia explicará vários métodos que podem ser usados para exibir um contador de FPS em jogos Linux.
Método 1 (vapor)
Notas de compatibilidade:
O vapor para Linux inclui um contador de FPS embutido que pode ser alternado a partir de configurações. Esta é provavelmente uma das opções mais compatíveis que funciona com a maioria dos jogos do Linux. No entanto, tive alguns problemas com os jogos de motores da Unity não exibindo o contador de FPS embutido. Esta opção também exige que você tenha uma conta de vapor e um cliente de vapor instalado em seu sistema.
O Steam até permite que você adicione jogos não comprados do Steam à Biblioteca de Jogos e o contador de FPS embutido também nesses jogos. Para adicionar um jogo não a vapor, clique em "Games" e clique em "Adicionar um jogo ininterrupto à minha biblioteca", como mostrado na captura de tela abaixo:
Navegue até a localização dos seus arquivos de jogo e depois alterne a opção "Todos os arquivos" na parte inferior.
Selecione o jogo executável e clique em "Adicionar programas selecionados", como mostrado na captura de tela abaixo:
Se você deseja executar um jogo apenas com Windows na camada de compatibilidade de prótons do Steam, você precisará ativar uma opção adicional nas propriedades do jogo.
Eu adicionei o executável SuperTuxkart na biblioteca Steam, e o contador FPS está funcionando bem aqui também. Observe que quaisquer jogos de terceiros adicionados à Steam Library não devem ter espaços no caminho da localização do arquivo.
Método 2 (libgl)
Notas de compatibilidade:
Libgl é uma biblioteca Mesa que expõe APIs OpenGL a aplicativos e jogos e está incluído em quase todas as distribuições Linux por padrão. Usando esta biblioteca e outro pacote que cria um HUD em exibição 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 nos jogos nativos do Linux, use o comando abaixo após substituir/caminho/para/executável por seu próprio jogo executável caminho. Você pode saber mais sobre todas as opções de OSD-CAT daqui.
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 = amarelo - -outline = 1 --pos = top --Align = esquerda
Para mostrar o contador do FPS nos jogos do Windows em execução no Linux através do vinho, use o comando abaixo após substituir/caminho/para/executável por seu próprio jogo executável caminho.
WiedeBug = FPS Wine/Path/para/Executável 2> & 1 | Tee /dev /stderr | sed -u -n -e '/ trace/ s/.*aprox // p '| osd_cat -lines = 1 - -cor = amarelo -outline = 1 --pos = top --align = centro
Se você estiver usando um prefixo de vinho, o comando seria (substituir/path/to/wine/prefix e/path/to/executável):
Winedebug = fps wineprefix =/path/to/wine/prefixi wine/path/to/executável 2> & 1 | Tee /dev /stderr | sed -u -n -e '/ trace/ s/.*aprox // p '| osd_cat -lines = 1 - -cor = amarelo -outline = 1 --pos = top --align = 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 FPS é mostrado acima da janela do jogo, não dentro dele. Jogos em execução em tela cheia não são afetados por isso.
Método 3 (Gallium3D)
Notas de compatibilidade:
Gallium3D é uma API que facilita o desenvolvimento de drivers para placas gráficas, fornecendo um conjunto de bibliotecas e interfaces padrão. Os drivers de código aberto da AMD e NVIDIA são construídos em Gallium3D.
Para mostrar o contador de FPS nos jogos nativos do Linux, use o comando abaixo depois de substituir/caminho/para/executável pelo seu próprio caminho executável: caminho:
Gallium_hud = "simples, fps"/path/to/executável
Para mostrar o contador do FPS nos jogos do Windows em execução no Linux através do vinho, use o comando abaixo após substituir/caminho/para/executável por seu próprio jogo executável caminho.
Gallium_hud = "simples, fps" vinho/caminho/para/executável
Se você estiver usando um prefixo de vinho, o comando seria (substituir/path/to/wine/prefix e/path/to/executável):
Gallium_hud = "simples, fps" wineprefix =/path/to/wine/prefix wine/path/to/executável
Na captura de tela acima, estou usando uma variável Gallium_hud personalizada que mostra temperaturas de GPU e 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 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 "/path/to/executável
Método 4 (Sobreposição de Mesa Vulkan)
Notas de compatibilidade:
Mesa Vulkan Sobreposição é uma nova camada de vulkan adicionada a construções recentes de Mesa. Ele exibe várias informações sobre o aplicativo em execução usando uma sobreposição.
Para mostrar o contador de FPS nos jogos nativos do Linux, use o comando abaixo depois de substituir/caminho/para/executável pelo seu próprio caminho executável: caminho:
Vk_instance_layers = VK_LAYER_MESA_OVERLAY VK_LAYER_MESA_OVERLAY_CONFIG = POSICIONE = TOP-LEFT/PATH/TO/TO
Para mostrar o contador do FPS nos jogos do Windows em execução no Linux através do Wine e DXVK, use o comando abaixo após substituir/caminho/para/executável pelo seu próprio caminho executivo de jogo:
Vk_instance_layers = VK_LAYER_MESA_OVERLAY VK_LAYER_MESA_OVERLAY_CONFIG = POSICIONE = WINE/PATH/PATH/PATH/PATH/TO/executável
Se você estiver usando um prefixo de vinho, o comando seria (substituir/path/to/wine/prefix e/path/to/executável):
Vk_instance_layers = VK_LAYER_MESA_OVERLAY VK_LAYER_MESA_OVERLAY_CONFIG = POSIÇÃO = Wineprefix de Top-Left =/Path/To/Wine/Prefix Wine/Path/to/Executável
Método 5 (DXVK HUD)
Notas de compatibilidade:
O DXVK fornece uma camada de tradução baseada em Vulkan para D3D10 e D3D11, permitindo que os usuários joguem jogos diretos de 10/11 no Linux. O D9VK usa o back -end DXVK para fornecer uma implementação direta 3D9 adicional que pode ser usada para jogar jogos construídos no D3D9.
Para mostrar o contador do FPS nos jogos DXVK em Linux através do vinho, use o comando abaixo após substituir/caminho/para/executável pelo seu próprio caminho executável:
Dxvk_hud = FPS Wine/Path/para/executável
Se você estiver usando um prefixo de vinho, o comando seria (substituir/path/to/wine/prefix e/path/to/executável):
Dxvk_hud = fps wineprefix =/path/to/wine/prefix wine/path/to/executável
Isso marca o final deste post. Para concluir, eu mencionaria um pequeno detalhe omitido de cima. Todos os métodos não-lados explicados acima também funcionarão para jogos a vapor. Você deve substituir "/path/to/executável" ou "wine/path/to/executável" ou "wineprefix =/path/to/wine/prefixi wine/path/to/executável" com "%comando%" no mesmos comandos usados acima. Basta adicionar o comando completo para iniciar as opções nas propriedades do jogo no aplicativo Steam, conforme mostrado na captura de tela abaixo:
Nova atualização: Método 6 (Mangohud)
Mangohud é um contador de fps universal para Linux que mostra quadros de tempo real por segundo para quase todos os jogos que podem ser executados no Linux. Funciona com jogos nativos e baseados em vinho e funciona bem com os renderizadores OpenGL e Vulkan. Além do FPS, ele mostra cargas de CPU e GPU também. Aqui está uma pequena animação mostrando como ela se parece como uma sobreposição (créditos do GIF):
Mangohud foi integrado ao console de jogos portátil baseado em Linux da Valve, chamado "Steam Deck" (lançado em 2022). Está disponível nos repositórios padrão da versão mais recente do Ubuntu, para que você possa instalá -lo executando o comando abaixo:
$ sudo apt install mangohud
Você pode instalar a versão mais recente dele no Ubuntu e em outras distribuições Linux, baixando sua mais nova compilação daqui. Depois de baixado, extraia o arquivo e execute o seguinte comando para instalá -lo:
$ ./Mangohud-setup.SH install
Agora você pode usar o mangohud com qualquer jogo Linux executando um comando no formato a seguir (substitua o caminho do arquivo):
$ mangohud/caminho/para/game/executável/arquivo
Se você estiver executando um jogo do cliente Steam, acesse a caixa de diálogo Propriedades do jogo clicando com o botão direito do mouse em um título de jogo instalado. No campo "Opções de lançamento", adicione o seguinte comando para ativar o mangohud para esse jogo:
$ mangohud %comando %
Por padrão, Mangohud mostra métricas detalhadas de jogos, como mostrado na animação acima. Se você deseja personalizar o tamanho e o layout da sobreposição, pode ajustar seu extenso arquivo de configuração seguindo as instruções oficiais disponíveis aqui.