Jak zobrazit čítač FPS v hrách pro Linux

How Show Fps Counter Linux Games



Linuxové hry dostaly velký tlak, když Oznámil Valve Podpora Linuxu pro klienta Steam a jejich hry v roce 2012. Od té doby se mnoho AAA a indie her dostalo do Linuxu a počet uživatelů, kteří hrají na Linuxu, se výrazně zvýšil.

S růstem hraní na Linuxu začalo mnoho uživatelů hledat vhodné způsoby, jak zobrazit čítač snímků za sekundu (FPS) jako překrytí spuštěných her pro Linux. Počitadlo FPS pomáhá při vylepšení výkonu spuštěných her a při srovnávání celkové schopnosti počítače hrát hry v různých rozlišeních.







Bohužel neexistuje jediný jednotný způsob zobrazení čítače FPS ve všech hrách Linux, který je nezávislý na základních technologiích, na kterých hra běží. Různé renderery a API mají různé způsoby, jak zobrazit čítač FPS. Tato příručka vysvětlí různé metody, které lze použít k zobrazení čítače FPS ve hrách pro Linux.



Poznámky ke kompatibilitě:



  • Funguje s hrami OpenGL a Vulkan.
  • Funguje s nativními hrami a Proton Proton je vrstva kompatibility zahrnutá ve službě Steam pro spouštění her systému Windows v systému Linux. Je to založeno na Víno , DXVK a D9VK open source projekty s dalšími opravami a novými funkcemi přidanými vývojáři Valve/Wine.
  • Funguje s hrami zakoupenými ve službě Steam nebo hrami třetích stran přidanými do služby Steam uživatelem.
  • Testováno fungování s integrovanými grafickými kartami Intel a AMD.
  • Nezkoušeno s kartami NVIDIA, protože nevlastním kartu NVIDIA. Ale podle komunitních fór Steam funguje vestavěný čítač fps na kartách NVIDIA.

Steam pro Linux obsahuje vestavěný čítač FPS, který lze přepínat z nastavení. Toto je pravděpodobně jedna z nejvíce kompatibilních možností, která funguje s většinou her pro Linux. Měl jsem však nějaké problémy s tím, že hry Unity engine nezobrazovaly vestavěný čítač FPS. Tato možnost také vyžaduje, abyste ve svém systému měli nainstalovaný účet Steam a klienta Steam.







Steam vám dokonce umožňuje přidat do knihovny her hry, které nebyly zakoupeny ve službě Steam, a integrovaný čítač FPS funguje i v těchto hrách. Chcete-li přidat hru, která není ve službě Steam, klikněte na Hry a poté klikněte na Přidat hru, která není ve službě Steam, do mé knihovny, jak ukazuje obrázek níže:

Vyhledejte umístění herních souborů a ve spodní části přepněte možnost Všechny soubory.

Vyberte spustitelný soubor hry a poté klikněte na PŘIDAT VYBRANÉ PROGRAMY, jak ukazuje následující obrázek:

Pokud chcete spustit hru pouze pro Windows ve vrstvě kompatibility Protonu Steam, budete muset ve vlastnostech hry povolit další možnost.

Přidal jsem spustitelný soubor SuperTuxKart v Steam Library a čítač FPS funguje dobře i zde. U všech her třetích stran přidaných do knihovny Steam by v cestě k umístění souborů neměly být mezery.

Metoda 2 (LibGL)

Poznámky ke kompatibilitě:

  • Funguje pouze s hrami OpenGL.
  • Funguje s nativními hrami a Wine hrami.
  • Testováno fungování s integrovanými grafickými kartami Intel a AMD s ovladači open source.
  • Nezkoušeno s kartami NVIDIA, protože nevlastním kartu NVIDIA. Mělo by však fungovat s grafickými kartami NVIDIA s ovladači open source.

LibGL je knihovna Mesa, která zpřístupňuje API OpenGL aplikacím a hrám a ve výchozím nastavení je součástí téměř všech distribucí Linuxu. Pomocí této knihovny a dalšího balíčku, který vytváří HUD na viditelném displeji, ukážeme čítač FPS v hrách Linux. Chcete -li nainstalovat požadovaný balíček, spusťte následující příkaz:

sudovýstižnýNainstalujtexosd-bin

Chcete -li zobrazit čítač FPS v nativních hrách pro Linux, použijte níže uvedený příkaz po nahrazení/path/to/executable vlastní spustitelnou cestou hry. Můžete se dozvědět více o všech možnostech osd-cat z tady .

LIBGL_SHOW_FPS = 1/cesta/do/spustitelný 2> & 1 |
tričko /dev /stderr | sed -u -n -e '/^ libGL: FPS = /{s/.* ([^]* ) =/ 1/; p}' |
osd_cat --lines = 1 --color = žlutá --outline = 1 --pos = top --align = vlevo

Chcete -li zobrazit počitadlo FPS ve hrách Windows běžících na Linuxu přes Wine, použijte následující příkaz po nahrazení/path/to/executable vlastní spustitelnou cestou hry.

WINEDEBUG = fps víno/cesta/do/spustitelný 2> & 1 | tričko /dev /stderr |
sed -u -n -e '/trace/s /.* přibližně // p' | osd_cat --lines = 1 --color = žlutá
--outline = 1 --pos = top --align = střed

Pokud používáte předponu Wine, příkaz by byl (nahradit/cesta/do/víno/předpona a/cesta/do/spustitelný soubor):

WINEDEBUG = fps WINEPREFIX =/cesta/k/víno/předpona víno
/cesta/k/spustitelný 2> & 1 | tričko /dev /stderr | sed -u -n -e '/ trasování/ s/
.*přibližně // p '| osd_cat --lines = 1 --color = žlutá --outline = 1 --pos = top
--align = střed

Tato metoda má malé omezení. OSD-cat HUD si můžete přizpůsobit, ale zůstane na pevném místě v oblasti zobrazení, aniž by zohlednil geometrii okna hry. Na výše uvedeném snímku obrazovky je čítač FPS zobrazen nad oknem hry, nikoli uvnitř něj. Hry běžící na celé obrazovce tím nejsou ovlivněny.

Metoda 3 (Gallium3D)

  • Funguje pouze s hrami OpenGL.
  • Funguje s nativními hrami a Wine hrami.
  • Testováno fungování s grafickými kartami AMD s open source ovladači.
  • Podpora Gallium3D pro Intel pokračuje, takže zatím nefunguje.
  • Nezkoušeno s kartami NVIDIA, protože nevlastním kartu NVIDIA. Vzhledem k tomu, že NVIDIA open source ovladač podporuje Gallium3D, měla by tato metoda fungovat.
  • Gallium3D je API, které usnadňuje vývoj ovladačů pro grafické karty poskytnutím sady standardních knihoven a rozhraní. Open source ovladače AMD a NVIDIA jsou postaveny na Gallium3D.

    Chcete -li zobrazit čítač FPS v nativních hrách pro Linux, použijte následující příkaz po nahrazení/path/to/executable vlastní spustitelnou cestou hry:

    GALLIUM_HUD='jednoduché, fps' /cesta/na/spustitelný

    Chcete -li zobrazit počitadlo FPS ve hrách Windows běžících na Linuxu přes Wine, použijte následující příkaz po nahrazení/path/to/executable vlastní spustitelnou cestou hry.

    GALLIUM_HUD='jednoduché, fps' víno /cesta/na/spustitelný

    Pokud používáte předponu Wine, příkaz by byl (nahradit/cesta/do/víno/předpona a/cesta/do/spustitelný soubor):

    GALLIUM_HUD = 'jednoduchý, fps' WINEPREFIX =/cesta/k/víno/předpona víno/cesta/k/spustitelný

    Na výše uvedeném snímku obrazovky používám přizpůsobenou proměnnou GALLIUM_HUD, která také ukazuje teploty GPU a CPU. Tento vlastní příkaz se liší pro různé konfigurace PC. Chcete -li si přečíst více o všech možnostech přizpůsobení, spusťte příkazy:

    sudovýstižnýNainstalujtestolní náčiní
    GALLIUM_HUD=Pomocglxgears

    Jen pro informaci, zde je vlastní příkaz, který jsem použil na výše uvedených screenshotech:

    GALLIUM_HUD='simple, fps; sensor_temp_cu-amdgpu-pci-1c00.temp1;
    sensor_temp_cu-k10temp-pci-00c3.Tdie '
    /cesta/na/spustitelný

    Metoda 4 (Tabulka překrytí Vulkan)

    Poznámky ke kompatibilitě:

    • Funguje pouze s hrami Vulkan.
    • Funguje pouze s Ubuntu 19.10+ a dalšími distribucemi s nejnovější verzí Mesa s vulkanovou překryvnou vrstvou.
    • Funguje s nativními hrami a hrami Steam Proton běžícími s podporou DXVK/D9VK.
    • Funguje s hrami Wine běžícími na libech DXVK/D9VK.
    • U Wine’s pracovní stav neznámý Vkd3d . Protože se jedná o vrstvu Vulkan, měla by fungovat s čímkoli, pokud je Mesa postavena s podporou VK_LAYER_MESA_overlay.
    • Testována práce s grafickými kartami AMD a integrovanými kartami Intel s ovladači open source.
    • Nezkoušeno s kartami NVIDIA, protože nevlastním kartu NVIDIA. Protože se jedná o vrstvu Vulkan, měla by fungovat s čímkoli, pokud je Mesa postavena s podporou VK_LAYER_MESA_overlay.

    Překryvný stůl Vulkan je nová vrstva Vulkan přidaná do nedávných verzí Mesa. Pomocí překrytí zobrazuje různé informace o spuštěné aplikaci.

    Chcete -li zobrazit čítač FPS v nativních hrách pro Linux, použijte následující příkaz po nahrazení/path/to/executable vlastní spustitelnou cestou hry:

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG = pozice = vlevo nahoře/cesta/do/spustitelný

    Chcete -li zobrazit čítač FPS ve hrách Windows běžících na Linuxu přes Wine a DXVK, použijte následující příkaz po nahrazení/path/to/executable vlastní spustitelnou cestou hry:

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG = position = top-left wine/path/to/executable

    Pokud používáte předponu Wine, příkaz by byl (nahradit/cesta/do/víno/předpona a/cesta/do/spustitelný soubor):

    VK_INSTANCE_LAYERS = překrytí VK_LAYER_MESA_
    VK_LAYER_MESA_OVERLAY_CONFIG = pozice = vlevo nahoře
    WINEPREFIX =/cesta/k/víno/předpona víno/cesta/k/spustitelný soubor

    Metoda 5 (DXVK HUD)

    Poznámky ke kompatibilitě:

    • Funguje pouze s hrami Vulkan běžícími ve Wine a Proton s liby DXVK/D9VK.
    • Testována práce s AMD a integrovanými grafickými kartami Intel s open source ovladači.
    • Nezkoušeno s kartami NVIDIA, protože nevlastním kartu NVIDIA. Zdrojový kód obsahuje závazky, které zmiňují podporu NVIDIA, takže tato metoda by měla fungovat.

    DXVK poskytuje překladovou vrstvu na bázi Vulkan pro D3D10 a D3D11, která umožňuje uživatelům hrát hry Direct3D 10/11 na Linuxu. D9VK používá backend DXVK k poskytnutí další implementace Direct3D9, kterou lze použít k hraní her postavených na D3D9.

    Chcete -li zobrazit čítač FPS ve hrách DXVK běžících na Linuxu přes Wine, použijte následující příkaz po nahrazení/path/to/executable vlastní spustitelnou cestou hry:

    DXVK_HUD= fpsvíno /cesta/na/spustitelný

    Pokud používáte předponu Wine, příkaz by byl (nahradit/cesta/do/víno/předpona a/cesta/do/spustitelný soubor):

    DXVK_HUD= fpsWINEPREFIX=/cesta/na/víno/předponavíno /cesta/na/spustitelný

    To znamená konec tohoto příspěvku. Na závěr bych zmínil jeden malý detail shora vynechaný. Všechny výše popsané metody bez páry budou fungovat i pro hry Steam. Musíte nahradit/cesta/do/spustitelný soubor nebo víno/cesta/do/spustitelný soubor nebo WINEPREFIX =/cesta/do/víno/předpona víno/cesta/do/spustitelný soubor příkazem % ve stejných příkazech použitých výše. Stačí přidat úplný příkaz ke spuštění možností ve vlastnostech hry v aplikaci Steam, jak ukazuje obrázek níže: