Kako prikazati števec FPS v igrah Linux

How Show Fps Counter Linux Games



Igre z Linuxom so dobile velik napredek Napovedal ventil Podpora Linuxa za odjemalca Steam in njihove igre v letu 2012. Od takrat je veliko iger AAA in indie prišlo do Linuxa, število uporabnikov, ki igrajo na Linuxu, pa se je znatno povečalo.

Z rastjo iger na Linuxu so mnogi uporabniki začeli iskati ustrezne načine za prikaz števca sličic na sekundo (FPS) kot prekrivnega elementa pri izvajanju iger Linux. Števec FPS pomaga pri prilagajanju zmogljivosti tekaških iger in pri merjenju splošne sposobnosti računalnika za igranje iger z različnimi ločljivostmi.







Na žalost ni enotnega načina prikaza števca FPS v vseh igrah Linuxa, ki je neodvisen od osnovnih tehnologij, na katerih igra teče. Različni upodabljalniki in API -ji imajo različne načine prikaza števca FPS. Ta priročnik bo razložil različne metode, ki jih je mogoče uporabiti za prikaz števca FPS v igrah Linux.



Opombe o združljivosti:



  • Deluje z igrami OpenGL in Vulkan.
  • Deluje z domačimi igrami in Proton Proton je združljiv sloj, vključen v Steam za izvajanje iger Windows v Linuxu. Temelji na Vino , DXVK in D9VK odprtokodni projekti z dodatnimi popravki in novimi funkcijami, ki so jih dodali razvijalci Valve/Wine.
  • Deluje z igrami, kupljenimi v Steamu, ali igrami tretjih oseb, ki jih je uporabnik dodal v Steam.
  • Preizkušeno delo z integriranimi grafičnimi karticami Intel in AMD.
  • Nepreverjeno s karticami NVIDIA, ker nimam kartice NVIDIA. Toda po forumih skupnosti Steam vgrajen števec fps dobro deluje na karticah NVIDIA.

Steam za Linux vključuje vgrajen števec FPS, ki ga lahko preklopite iz nastavitev. To je verjetno ena najbolj združljivih možnosti, ki deluje z večino iger Linux. Vendar sem imel nekaj težav, ko igre Unity Engine niso prikazale vgrajenega števca FPS. Ta možnost zahteva tudi, da imate v sistemu nameščen račun Steam in odjemalca Steam.







Steam vam celo omogoča, da v knjižnico iger dodate igre, ki jih niste kupili pri Steamu, vgrajen števec FPS pa deluje tudi v teh igrah. Če želite dodati igro, ki ni steam, kliknite Igre in nato Dodaj igro, ki ni Steam, v mojo knjižnico, kot je prikazano na spodnjem posnetku zaslona:

Poiščite lokacijo datotek z igrami in nato na dnu preklopite možnost Vse datoteke.

Izberite izvedljivo igro in kliknite DODAJ IZBRANE PROGRAME, kot je prikazano na spodnjem posnetku zaslona:

Če želite zagnati igro samo za Windows v sloju združljivosti Steam Proton, morate v lastnostih igre omogočiti dodatno možnost.

V knjižnico steam sem dodal izvedljivo datoteko SuperTuxKart, števec FPS pa tudi tukaj dobro deluje. Upoštevajte, da igre drugih proizvajalcev, dodane v knjižnico Steam, ne smejo vsebovati presledkov na poti do lokacije datoteke.

Metoda 2 (LibGL)

Opombe o združljivosti:

  • Deluje samo z igrami OpenGL.
  • Deluje z domačimi igrami in vinskimi igrami.
  • Preizkušeno delo z integriranimi grafičnimi karticami Intel in AMD z odprtokodnimi gonilniki.
  • Nepreverjeno s karticami NVIDIA, ker nimam kartice NVIDIA. Vendar bi moral delovati z grafičnimi procesorji NVIDIA z odprtokodnimi gonilniki.

LibGL je knjižnica Mesa, ki odpira API -je OpenGL aplikacijam in igram in je privzeto vključena v skoraj vse distribucije Linuxa. S to knjižnico in drugim paketom, ki na vidnem zaslonu ustvari HUD, bomo v igrah Linux prikazali števec FPS. Za namestitev zahtevanega paketa zaženite naslednji ukaz:

sudoaptnamestitexosd-bin

Če želite prikazati števec FPS v domačih igrah Linux, uporabite spodnji ukaz, potem ko zamenjate/path/to/executable z lastno potjo izvedljive igre. Več o vseh možnostih osd-cat lahko izveste iz tukaj .

LIBGL_SHOW_FPS = 1/pot/do/izvedljivo 2> & 1 |
tee /dev /stderr | sed -u -n -e '/^ libGL: FPS = /{s/.* ([^]* ) =/ 1/; p}' |
osd_cat -linije = 1 -barva = rumena -obris = 1 -poz = zgoraj -poravnava = levo

Če želite prikazati števec FPS v igrah Windows, ki se izvajajo v Linuxu prek Wine, uporabite spodnji ukaz, potem ko zamenjate/path/to/executable s svojo potjo izvedljive igre.

WINEDEBUG = fps wine/path/to/executable 2> & 1 | tee /dev /stderr |
sed -u -n -e '/trace/s /.* približno // p' | osd_cat -linije = 1 -barva = rumena
-outline = 1 --pos = top --align = center

Če uporabljate predpono Wine, bi bil ukaz (replace/path/to/wine/predpono in/path/to/izvršljivo):

WINEDEBUG = fps WINEPREFIX =/pot/do/vino/vino s predpono
/path/to/izvršljivo 2> & 1 | tee /dev /stderr | sed -u -n -e '/ trace/ s/
.*približno // p '| osd_cat -linije = 1 -barva = rumena -obris = 1 -poz = vrh
--align = središče

Ta metoda ima majhne omejitve. Medtem ko lahko prilagodite osd-cat HUD, ostane na fiksnem položaju na območju prikaza, ne da bi upošteval geometrijo okna igre. Na zgornjem posnetku zaslona je števec FPS prikazan nad oknom igre, ne znotraj njega. Na igre, ki se izvajajo v celozaslonskem načinu, to ne vpliva.

Metoda 3 (Gallium3D)

  • Deluje samo z igrami OpenGL.
  • Deluje z domačimi igrami in vinskimi igrami.
  • Preizkušeno delo z grafičnimi karticami AMD z odprtokodnimi gonilniki.
  • Podpora Gallium3D za Intel je v teku, zato še ne deluje.
  • Nepreverjeno s karticami NVIDIA, ker nimam kartice NVIDIA. Ker je odprtokodni gonilnik NVIDIA omogočen Gallium3D, bi morala ta metoda delovati.
  • Galij3D je API, ki olajša razvoj gonilnikov za grafične kartice z zagotavljanjem nabora standardnih knjižnic in vmesnikov. Odprtokodni gonilniki AMD in NVIDIA temeljijo na Gallium3D.

    Če želite prikazati števec FPS v domačih igrah Linuxa, uporabite spodnji ukaz, potem ko zamenjate/path/to/executable s svojo izvedljivo potjo igre:

    GALLIUM_HUD='preprosto, fps' /pot/do/izvedljivo

    Če želite prikazati števec FPS v igrah Windows, ki se izvajajo v Linuxu prek Wine, uporabite spodnji ukaz, potem ko zamenjate/path/to/executable s svojo potjo izvedljive igre.

    GALLIUM_HUD='preprosto, fps' vino /pot/do/izvedljivo

    Če uporabljate predpono Wine, bi bil ukaz (replace/path/to/wine/predpono in/path/to/izvršljivo):

    GALLIUM_HUD = 'preprosto, fps' WINEPREFIX =/pot/do/vino/predpono vino/pot/do/izvršljivo

    Na zgornjem posnetku zaslona uporabljam prilagojeno spremenljivko GALLIUM_HUD, ki prikazuje tudi temperature GPU -ja in CPE -ja. Ta ukaz po meri je za različne konfiguracije računalnika drugačen. Če želite prebrati več o vseh možnostih prilagajanja, zaženite ukaze:

    sudoaptnamestitenamizni pripomočki
    GALLIUM_HUD=pomočglxgears

    Samo za referenco, tukaj je ukaz po meri, ki sem ga uporabil na zgornjih posnetkih zaslona:

    GALLIUM_HUD='preprosto, fps; sensors_temp_cu-amdgpu-pci-1c00.temp1;
    sensors_temp_cu-k10temp-pci-00c3.Tdie '
    /pot/do/izvedljivo

    Metoda 4 (Vulkanova prekrivna tabela)

    Opombe o združljivosti:

    • Deluje samo z igrami Vulkan.
    • Deluje samo z Ubuntu 19.10+ in drugimi distribucijami z najnovejšo Meso z vulkansko prekrivno plastjo.
    • Deluje z domačimi igrami in Steam Proton igrami, ki delujejo s podporo DXVK/D9VK.
    • Deluje z igrami Wine, ki delujejo z DXVK/D9VK lib.
    • Delovni status za Wine's neznan Vkd3d . Ker je to plast Vulkan, bi morala delovati s čimer koli, če je Mesa zgrajena s podporo VK_LAYER_MESA_overlay.
    • Preizkušeno delo z grafičnimi karticami AMD in integriranimi karticami Intel z odprtokodnimi gonilniki.
    • Nepreverjeno s karticami NVIDIA, ker nimam kartice NVIDIA. Ker je to plast Vulkan, bi morala delovati s čimer koli, če je Mesa zgrajena s podporo VK_LAYER_MESA_overlay.

    Prekrivna miza Vulkan je nova plast Vulkan, dodana nedavnim različicam Mesa. Prikazuje različne informacije o izvajani aplikaciji s prekrivanjem.

    Če želite prikazati števec FPS v domačih igrah Linuxa, uporabite spodnji ukaz, potem ko zamenjate/path/to/executable s svojo izvedljivo potjo igre:

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_ prekrivanje VK_LAYER_MESA_OVERLAY_CONFIG = položaj = zgoraj levo/pot/do/izvršljivo

    Če želite prikazati števec FPS v igrah Windows, ki se izvajajo v operacijskem sistemu Linux prek Wine in DXVK, uporabite spodnji ukaz, potem ko zamenjate/path/to/executable z lastno potjo za izvedbo igre:

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_ prekrivanje VK_LAYER_MESA_OVERLAY_CONFIG = položaj = zgornje levo vino/pot/do/izvršljivo

    Če uporabljate predpono Wine, bi bil ukaz (replace/path/to/wine/predpono in/path/to/izvršljivo):

    VK_INSTANCE_LAYERS = prekrivanje VK_LAYER_MESA_
    VK_LAYER_MESA_OVERLAY_CONFIG = položaj = zgoraj levo
    WINEPREFIX =/pot/do/vino/predpona vino/pot/do/izvršljivo

    5. metoda (DXVK HUD)

    Opombe o združljivosti:

    • Deluje samo z igrami Vulkan, ki se izvajajo v Wine in Proton z DXVK/D9VK lib.
    • Preizkušeno delo z AMD in integriranimi grafičnimi karticami Intel z odprtokodnimi gonilniki.
    • Nepreverjeno s karticami NVIDIA, ker nimam kartice NVIDIA. Izvorna koda vsebuje zaveze, ki omenjajo podporo NVIDIA, zato bi morala ta metoda delovati.

    DXVK ponuja prevodni sloj na osnovi Vulkana za D3D10 in D3D11, ki uporabnikom omogoča igranje iger Direct3D 10/11 v Linuxu. D9VK uporablja zaledje DXVK za zagotavljanje dodatne izvedbe Direct3D9, ki jo je mogoče uporabiti za igranje iger, zgrajenih na D3D9.

    Če želite prikazati števec FPS v igrah DXVK, ki se izvajajo v Linuxu prek Wine, uporabite spodnji ukaz, potem ko zamenjate/path/to/executable z lastno potjo izvedljive igre:

    DXVK_HUD= fpsvino /pot/do/izvedljivo

    Če uporabljate predpono Wine, bi bil ukaz (replace/path/to/wine/predpono in/path/to/izvršljivo):

    DXVK_HUD= fpsWINEPREFIX=/pot/do/vino/predponovino /pot/do/izvedljivo

    To označuje konec te objave. Za zaključek bi omenil eno majhno podrobnost, ki je bila zgoraj izpuščena. Vse zgoraj opisane metode brez pare bodo delovale tudi za igre Steam. Morate zamenjati/pot/do/izvršljivo ali vino/pot/do/izvršljivo ali WINEPREFIX =/pot/do/vino/predpono vino/pot/do/izvršljivo z % ukazom % v istih ukazih, ki so bili uporabljeni zgoraj. Samo dodajte celoten ukaz za zagon možnosti v lastnostih igre v aplikaciji Steam, kot je prikazano na spodnjem posnetku zaslona: