Jocuri

Cum se arată FPS Counter în jocurile Linux

Cum se arată FPS Counter în jocurile Linux
Jocurile cu Linux au primit un impuls major când Valve a anunțat suportul Linux pentru clientul Steam și jocurile acestora în 2012. De atunci, multe jocuri AAA și indie s-au îndreptat către Linux și numărul de utilizatori care joacă pe Linux a crescut considerabil.

Odată cu creșterea jocurilor Linux, mulți utilizatori au început să caute modalități adecvate de a afișa contorul „cadre pe secundă” (FPS) ca o suprapunere la rularea jocurilor Linux. Un contor FPS ajută la îmbunătățirea performanței jocurilor care rulează, precum și la evaluarea comparativă a capacității generale a unui PC de a juca jocuri la diferite rezoluții.

Din păcate, nu există o singură modalitate unificată de a afișa contorul FPS în toate jocurile Linux, care este independent de tehnologiile de bază pe care rulează un joc. Renderele și API-urile diferite au moduri diferite de a afișa contorul FPS. Acest ghid va explica diverse metode care pot fi utilizate pentru a afișa un contor FPS în jocurile Linux.

Metoda 1 (Steam)

Note de compatibilitate:

Steam pentru Linux include un contor FPS încorporat care poate fi activat din setări. Aceasta este probabil una dintre cele mai compatibile opțiuni care funcționează cu majoritatea jocurilor Linux. Cu toate acestea, am avut unele probleme cu jocurile cu motor Unity care nu afișau contorul FPS încorporat. Această opțiune necesită, de asemenea, să aveți un cont Steam și un client Steam instalat pe sistemul dvs.

Steam vă permite chiar să adăugați jocuri care nu au fost achiziționate de la Steam în biblioteca de jocuri, iar contorul FPS încorporat funcționează și în aceste jocuri. Pentru a adăuga un joc non-steam, faceți clic pe „Jocuri”, apoi faceți clic pe „Adăugați un joc non-steam în Biblioteca mea”, așa cum se arată în captura de ecran de mai jos:

Navigați la locația fișierelor dvs. de joc și apoi comutați opțiunea „Toate fișierele” din partea de jos.

Selectați executabilul jocului și apoi faceți clic pe „ADAUGĂ PROGRAME SELECTATE” așa cum se arată în captura de ecran de mai jos:

Dacă doriți să rulați un joc numai Windows în stratul de compatibilitate Steam al Proton, va trebui să activați o opțiune suplimentară în proprietățile jocului.

Am adăugat executabilul SuperTuxKart în Biblioteca Steam, iar contorul FPS funcționează bine și aici. Rețineți că orice joc terță parte adăugat în biblioteca Steam nu ar trebui să aibă spații în calea lor de localizare a fișierului.

Metoda 2 (LibGL)

Note de compatibilitate:

LibGL este o bibliotecă Mesa care expune API-urile OpenGL aplicațiilor și jocurilor și este inclusă în aproape toate distribuțiile Linux implicit. Folosind această bibliotecă și un alt pachet care creează un HUD pe ecran vizibil, vom afișa un contor FPS în jocurile Linux. Rulați următoarea comandă pentru a instala pachetul necesar:

sudo apt instalează xosd-bin

Pentru a afișa contorul FPS în jocurile native Linux, utilizați comanda de mai jos după înlocuirea / path / to / executable cu propria cale executabilă a jocului. Puteți afla mai multe despre toate opțiunile osd-cat de aici.

LIBGL_SHOW_FPS = 1 / cale / către / executabil 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

Pentru a afișa contorul FPS în jocurile Windows care rulează pe Linux prin Wine, folosiți comanda de mai jos după înlocuirea / path / to / executable cu propria cale executabilă a jocului.

WINEDEBUG = fps wine / path / to / executable 2> & 1 | tee / dev / stderr |
sed -u -n -e '/ trace / s /.* aproximativ // p '| osd_cat --lines = 1 --color = galben
--contur = 1 --pos = sus --align = centru

Dacă utilizați un prefix Wine, comanda ar fi (înlocuiți / cale / la / vin / prefix și / cale / la / executabil):

WINEDEBUG = fps WINEPREFIX = / cale / către / vin / prefix vin
/ cale / către / executabil 2> & 1 | tee / dev / stderr | sed -u -n -e '/ trace / s /
.* aproximativ // p '| osd_cat --lines = 1 --color = yellow --outline = 1 --pos = top
--align = centru

Această metodă are o mică limitare. În timp ce puteți personaliza osd-cat HUD, acesta rămâne într-o poziție fixă ​​pe zona de afișare, fără a lua în considerare geometria ferestrei de joc. În captura de ecran de mai sus, contorul FPS este afișat deasupra ferestrei jocului, nu în interiorul acestuia. Jocurile care rulează pe ecran complet nu sunt afectate de acest lucru.

Metoda 3 (Gallium3D)

  • Funcționează numai cu jocuri OpenGL.
  • Funcționează cu jocuri native și jocuri Wine.
  • Testat lucrul cu plăci grafice AMD cu drivere open source.
  • Suportul Gallium3D pentru Intel este în curs de desfășurare, deci nu funcționează încă.
  • Netestat cu carduri NVIDIA deoarece nu dețin un card NVIDIA. Deoarece driverul open source NVIDIA este activat Gallium3D, această metodă ar trebui să funcționeze.
  • Gallium3D este un API care facilitează dezvoltarea de drivere pentru plăci grafice, oferind un set de biblioteci și interfețe standard. Driverele open source AMD și NVIDIA sunt construite pe Gallium3D.

    Pentru a afișa contorul FPS în jocurile native Linux, utilizați comanda de mai jos după înlocuirea / path / to / executable cu propria cale executabilă a jocului:

    GALLIUM_HUD = "simplu, fps" / cale / către / executabil

    Pentru a afișa contorul FPS în jocurile Windows care rulează pe Linux prin Wine, folosiți comanda de mai jos după înlocuirea / path / to / executable cu propria cale executabilă a jocului.

    GALLIUM_HUD = "simplu, fps" vin / cale / către / executabil

    Dacă utilizați un prefix Wine, comanda ar fi (înlocuiți / cale / la / vin / prefix și / cale / la / executabil):

    GALLIUM_HUD = "simplu, fps" WINEPREFIX = / cale / la / vin / prefix vin / cale / la / executabil

    În captura de ecran de mai sus, folosesc o variabilă GALLIUM_HUD personalizată, care arată și GPU și temperaturile procesorului. Această comandă personalizată este diferită pentru diferite configurații ale computerului. Pentru a citi mai multe despre toate opțiunile de personalizare, rulați comenzile:

    sudo apt instalează mesa-utils
    GALLIUM_HUD = help glxgears

    Doar ca referință, iată comanda personalizată pe care am folosit-o în capturile de ecran de mai sus:

    GALLIUM_HUD = "simplu, fps; sensors_temp_cu-amdgpu-pci-1c00.temp1;
    sensors_temp_cu-k10temp-pci-00c3.Tdie "/ cale / către / executabil

    Metoda 4 (Mesa Vulkan Overlay)

    Note de compatibilitate:

    Suprapunerea Mesa Vulkan este un nou strat Vulkan adăugat la versiunile recente ale Mesa. Afișează diverse informații despre aplicația care rulează utilizând o suprapunere.

    Pentru a afișa contorul FPS în jocurile native Linux, utilizați comanda de mai jos după înlocuirea / path / to / executable cu propria cale executabilă a jocului:

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG = poziție = stânga sus / cale / către / executabil

    Pentru a afișa contorul FPS în jocurile Windows care rulează pe Linux prin Wine și DXVK, utilizați comanda de mai jos după ce ați înlocuit / path / to / executable cu propria cale executabilă a jocului:

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG = poziție = vin stânga-sus / cale / către / executabil

    Dacă utilizați un prefix Wine, comanda ar fi (înlocuiți / cale / la / vin / prefix și / cale / la / executabil):

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay
    VK_LAYER_MESA_OVERLAY_CONFIG = poziție = sus-stânga
    WINEPREFIX = / cale / la / vin / prefix vin / cale / la / executabil

    Metoda 5 (DXVK HUD)

    Note de compatibilitate:

    DXVK oferă un strat de traducere bazat pe Vulkan pentru D3D10 și D3D11, permițând utilizatorilor să joace jocuri Direct3D 10/11 pe Linux. D9VK folosește backend-ul DXVK pentru a oferi o implementare Direct3D9 suplimentară care poate fi utilizată pentru a juca jocuri construite pe D3D9.

    Pentru a afișa contorul FPS în jocurile DXVK care rulează pe Linux prin Wine, utilizați comanda de mai jos după înlocuirea / path / to / executable cu propria cale executabilă a jocului:

    DXVK_HUD = fps vin / cale / către / executabil

    Dacă utilizați un prefix Wine, comanda ar fi (înlocuiți / cale / la / vin / prefix și / cale / la / executabil):

    DXVK_HUD = fps WINEPREFIX = / cale / către / vin / prefix vin / cale / către / executabil

    Aceasta marchează sfârșitul acestei postări. În concluzie, aș menționa un mic detaliu omis de mai sus. Toate metodele non-steam explicate mai sus vor funcționa și pentru jocurile Steam. Trebuie să înlocuiți „/ cale / către / executabil” sau „vin / cale / către / executabil” sau „WINEPREFIX = / cale / către / vin / prefix vin / cale / către / executabil” cu „comanda%%” în aceleași comenzi folosite mai sus. Doar adăugați comanda completă pentru a lansa opțiuni în proprietățile jocului din aplicația Steam, așa cum se arată în captura de ecran de mai jos:

    Vulkan for Linux Users
    With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But...
    OpenTTD vs Simutrans
    Creating your own transport simulation can be fun, relaxing and extremely enticing. That's why you need to make sure that you try out as many games as...
    OpenTTD Tutorial
    OpenTTD is one of the most popular business simulation games out there. In this game, you need to create a wonderful transportation business. However,...