Hvordan vise FPS -teller i Linux -spill

How Show Fps Counter Linux Games



Linux -spill fikk et stort trykk når Ventil kunngjort Linux -støtte for Steam -klient og spillene deres i 2012. Siden den gang har mange AAA- og indiespill kommet til Linux, og antall brukere som spiller på Linux har økt betraktelig.

Med veksten av Linux -spill begynte mange brukere å lete etter riktige måter å vise rammer per sekund (FPS) -teller som et overlegg på å kjøre Linux -spill. En FPS -teller hjelper til med å tilpasse ytelsen til kjørende spill, så vel som å sammenligne en PCs generelle evne til å spille spill i forskjellige oppløsninger.







Dessverre er det ingen enhetlig måte å vise FPS -teller i alle Linux -spill som er uavhengig av underliggende teknologier et spill kjører på. Ulike gjengivere og APIer har forskjellige måter å vise FPS -teller på. Denne guiden vil forklare forskjellige metoder som kan brukes til å vise en FPS -teller i Linux -spill.



Kompatibilitetsmerknader:



  • Fungerer med OpenGL- og Vulkan -spill.
  • Fungerer med innfødte spill og Proton Proton er et kompatibilitetslag som er inkludert i Steam for å kjøre Windows -spill i Linux. Det er basert på Vin , DXVK og D9VK åpen kildekode -prosjekter med flere oppdateringer og nye funksjoner lagt til av Valve/Wine -utviklere.
  • Fungerer med spill som er kjøpt på Steam eller tredjeparts spill som er lagt til Steam av brukeren.
  • Testet å jobbe med integrerte Intel- og AMD -grafikkort.
  • Uprøvd med NVIDIA -kort siden jeg ikke eier et NVIDIA -kort. Men ifølge Steam-fellesskapsfora fungerer den innebygde fps-telleren fint på NVIDIA-kort.

Steam for Linux inkluderer en innebygd FPS-teller som kan byttes fra innstillinger. Dette er sannsynligvis et av de mest kompatible alternativene som fungerer med de fleste Linux -spill. Imidlertid hadde jeg noen problemer med Unity-motorspill som ikke viste den innebygde FPS-telleren. Dette alternativet krever også at du har en Steam -konto og Steam -klient installert på systemet ditt.







Steam lar deg til og med legge til spill som ikke er kjøpt fra Steam i spillbiblioteket, og den innebygde FPS-telleren fungerer også i disse spillene. For å legge til et spill uten damp, klikk på Spill og klikk deretter på Legg til et spill uten damp i biblioteket mitt, som vist på skjermbildet nedenfor:

Bla til plasseringen av spillfilene dine, og velg deretter Alle filer -alternativet nederst.

Velg spillet som kan kjøres, og klikk deretter på LEGG TIL UTVALGTE PROGRAMMER som vist på skjermbildet nedenfor:

Hvis du vil kjøre et Windows -spill i Steams Proton -kompatibilitetslag, må du aktivere et ekstra alternativ i spillegenskaper.

Jeg har lagt til SuperTuxKart kjørbar i steam Library, og FPS -telleren fungerer bra her også. Vær oppmerksom på at tredjeparts spill som er lagt til Steam -biblioteket, ikke skal ha mellomrom i filplasseringsbanen.

Metode 2 (LibGL)

Kompatibilitetsmerknader:

  • Fungerer bare med OpenGL -spill.
  • Fungerer med innfødte spill og vinspill.
  • Testet å jobbe med integrerte Intel- og AMD -grafikkort med drivere med åpen kildekode.
  • Uprøvd med NVIDIA -kort siden jeg ikke eier et NVIDIA -kort. Det bør imidlertid fungere med NVIDIA GPUer med åpen kildekode -drivere.

LibGL er et Mesa -bibliotek som avslører OpenGL APIer for apper og spill, og det er inkludert i nesten alle Linux -distribusjoner som standard. Ved å bruke dette biblioteket og en annen pakke som lager en HUD på synlig skjerm, viser vi en FPS -teller i Linux -spill. Kjør følgende kommando for å installere den nødvendige pakken:

sudopassendeinstallerexosd-bin

For å vise FPS -teller i innfødte Linux -spill, bruk kommandoen nedenfor etter å ha byttet ut/banen/til/kjørbar med din egen kjørbare bane for spill. Du kan vite mer om alle osd-cat-alternativer fra her .

LIBGL_SHOW_FPS = 1/path/to/executable 2> & 1 |
tee /dev /stderr | sed -u -n -e '/^ libGL: FPS = /{s/.* ([^]* ) =/ 1/; p}' |
osd_cat --lines = 1 --farge = gul -disposisjon = 1 --pos = topp --align = venstre

For å vise FPS -teller i Windows -spill som kjører på Linux via Wine, bruker du kommandoen nedenfor etter at du har byttet/path/to/executable med din egen kjørbare bane for spill.

WINEDEBUG = fps wine/path/to/executable 2> & 1 | tee /dev /stderr |
sed -u -n -e '/trace/s /.* ca // p' | osd_cat --lines = 1 --farge = gul
-disposisjon = 1-pos = topp-juster = midt

Hvis du bruker et Wine -prefiks, vil kommandoen være (erstatt/path/to/wine/prefix og/path/to/executable):

WINEDEBUG = fps WINEPREFIX =/path/to/wine/prefix wine
/path/to/executable 2> & 1 | tee /dev /stderr | sed -u -n -e '/ trace/ s/
.*ca. // p '| osd_cat --lines = 1 --farge = gul -disposisjon = 1 --pos = topp
--juster = senter

Denne metoden har en liten begrensning. Mens du kan tilpasse osd-cat HUD, forblir den på en fast posisjon på displayområdet uten å ta hensyn til geometrien til spillvinduet. På skjermbildet ovenfor vises FPS -telleren over spillvinduet, ikke inne i det. Spill som kjøres i fullskjerm påvirkes ikke av dette.

Metode 3 (Gallium3D)

  • Fungerer bare med OpenGL -spill.
  • Fungerer med innfødte spill og vinspill.
  • Testet å jobbe med AMD -grafikkort med åpen kildekode -drivere.
  • Gallium3D -støtte for Intel pågår, så det fungerer ikke ennå.
  • Uprøvd med NVIDIA -kort siden jeg ikke eier et NVIDIA -kort. Siden NVIDIA åpen kildekode -driver er Gallium3D aktivert, bør denne metoden fungere.
  • Gallium3D er et API som gjør det lettere å utvikle drivere for grafikkort ved å tilby et sett med standardbiblioteker og grensesnitt. AMD og NVIDIA åpen kildekode -drivere er bygget på Gallium3D.

    For å vise FPS -teller i innfødte Linux -spill, bruk kommandoen nedenfor etter å ha byttet ut/banen/til/kjørbar med din egen kjørbare bane for spill:

    GALLIUM_HUD='enkelt, fps' /sti/til/kjørbar

    For å vise FPS -teller i Windows -spill som kjører på Linux via Wine, bruker du kommandoen nedenfor etter at du har byttet/path/to/executable med din egen kjørbare bane for spill.

    GALLIUM_HUD='enkelt, fps' vin /sti/til/kjørbar

    Hvis du bruker et Wine -prefiks, vil kommandoen være (erstatt/path/to/wine/prefix og/path/to/executable):

    GALLIUM_HUD = 'enkel, fps' WINEPREFIX =/path/to/wine/prefix wine/path/to/executable

    På skjermbildet ovenfor bruker jeg en tilpasset GALLIUM_HUD -variabel som også viser GPU- og CPU -temperaturer. Denne egendefinerte kommandoen er forskjellig for forskjellige PC -konfigurasjoner. For å lese mer om alle tilpasningsalternativer, kjør kommandoer:

    sudopassendeinstallerebord-redskaper
    GALLIUM_HUD=hjelpglxgears

    Bare for referanse, her er Custom -kommandoen jeg brukte i skjermbildene ovenfor:

    GALLIUM_HUD='enkel, fps; sensors_temp_cu-amdgpu-pci-1c00.temp1;
    sensors_temp_cu-k10temp-pci-00c3.Tdie '
    /sti/til/kjørbar

    Metode 4 (Vulkan overleggstabell)

    Kompatibilitetsmerknader:

    • Fungerer bare med Vulkan -spill.
    • Fungerer bare med Ubuntu 19.10+ og andre distribusjoner som har siste Mesa med vulkan -overleggslag.
    • Fungerer med innfødte spill og Steam Proton -spill som kjører med DXVK/D9VK -støtte.
    • Fungerer med vinspill som kjører med DXVK/D9VK libs.
    • Arbeidsstatus ukjent for Wine's Vkd3d . Siden dette er et Vulkan -lag, bør det fungere med alt så lenge Mesa er bygget med VK_LAYER_MESA_overlay -støtte.
    • Testet å jobbe med AMD -grafikkort og integrerte Intel -kort med åpen kildekode -drivere.
    • Uprøvd med NVIDIA -kort siden jeg ikke eier et NVIDIA -kort. Siden dette er et Vulkan -lag, bør det fungere med alt så lenge Mesa er bygget med VK_LAYER_MESA_overlay -støtte.

    Vulkan overleggsbord er et nytt Vulkan -lag lagt til de siste byggene av Mesa. Den viser forskjellig informasjon om programmet som kjører ved hjelp av et overlegg.

    For å vise FPS -teller i innfødte Linux -spill, bruk kommandoen nedenfor etter å ha byttet ut/banen/til/kjørbar med din egen kjørbare bane for spill:

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG = posisjon = øverst til venstre/bane/til/kjørbar

    For å vise FPS -teller i Windows -spill som kjører på Linux gjennom Wine og DXVK, bruk kommandoen nedenfor etter å ha byttet ut/banen/til/kjørbar med din egen kjørbare bane for spill:

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG = posisjon = vin øverst til venstre/sti/til/kjørbar

    Hvis du bruker et Wine -prefiks, vil kommandoen være (erstatt/path/to/wine/prefix og/path/to/executable):

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay
    VK_LAYER_MESA_OVERLAY_CONFIG = posisjon = øverst til venstre
    WINEPREFIX =/path/to/wine/prefix wine/path/to/executable

    Metode 5 (DXVK HUD)

    Kompatibilitetsmerknader:

    • Fungerer bare med Vulkan -spill som kjører i Wine og Proton med DXVK/D9VK libs.
    • Testet å jobbe med AMD og integrerte Intel -grafikkort med drivere med åpen kildekode.
    • Uprøvd med NVIDIA -kort siden jeg ikke eier et NVIDIA -kort. Kildekoden har forpliktelser som nevner NVIDIA -støtte, så denne metoden burde fungere.

    DXVK tilbyr et Vulkan-basert oversettelseslag for D3D10 og D3D11 som lar brukerne spille Direct3D 10/11 spill på Linux. D9VK bruker DXVK backend for å tilby en ekstra Direct3D9 -implementering som kan brukes til å spille spill bygget på D3D9.

    For å vise FPS -teller i DXVK -spill som kjører på Linux gjennom Wine, bruk kommandoen nedenfor etter å ha byttet ut/banen/til/kjørbar med din egen kjørbare bane for spill:

    DXVK_HUD= fpsvin /sti/til/kjørbar

    Hvis du bruker et Wine -prefiks, vil kommandoen være (erstatt/path/to/wine/prefix og/path/to/executable):

    DXVK_HUD= fpsWINEPREFIX=/sti/til/vin/prefiksvin /sti/til/kjørbar

    Dette markerer slutten på dette innlegget. Avslutningsvis vil jeg nevne en liten detalj utelatt ovenfra. Alle metodene som ikke er dampet forklart ovenfor, fungerer også for Steam-spill. Du må erstatte/path/to/executable eller wine/path/to/executable eller WINEPREFIX =/path/to/wine/prefix wine/path/to/executable med % command % i de samme kommandoene som ble brukt ovenfor. Bare legg til hele kommandoen for å starte alternativer i spillegenskaper i Steam -appen, som vist på skjermbildet nedenfor: