Hur man visar FPS -räknare i Linux -spel

How Show Fps Counter Linux Games



Linux -spel fick ett stort tryck när Ventil tillkännagav Linux -stöd för Steam -klient och deras spel 2012. Sedan dess har många AAA- och indiespel tagit sig till Linux och antalet användare som spelar på Linux har ökat avsevärt.

Med tillväxten av Linux -spel började många användare leta efter rätt sätt att visa bildrutor per sekund (FPS) -räknare som ett överlägg på att köra Linux -spel. En FPS -räknare hjälper till med att finjustera prestanda för löpande spel och att jämföra en dators övergripande förmåga att spela spel i olika upplösningar.







Tyvärr finns det inget enda enhetligt sätt att visa FPS -räknare i alla Linux -spel som är oberoende av underliggande teknik som ett spel körs på. Olika renderare och API: er har olika sätt att visa FPS -räknare. Den här guiden kommer att förklara olika metoder som kan användas för att visa en FPS -räknare i Linux -spel.



Kompatibilitetsanteckningar:



  • Fungerar med OpenGL- och Vulkan -spel.
  • Fungerar med inhemska spel och Proton Proton är ett kompatibilitetslager som ingår i Steam för att köra Windows -spel i Linux. Det baseras på Vin , DXVK och D9VK öppen källkodsprojekt med ytterligare patchar och nya funktioner tillagda av Valve/Wine -utvecklare.
  • Fungerar med spel köpta på Steam eller tredjepartsspel som lagts till Steam av användaren.
  • Testad att arbeta med integrerade Intel- och AMD -grafikkort.
  • Otestad med NVIDIA -kort eftersom jag inte äger ett NVIDIA -kort. Men enligt Steam-communityforum fungerar den inbyggda fps-räknaren bra på NVIDIA-kort.

Steam för Linux innehåller en inbyggd FPS-räknare som kan växlas från inställningar. Detta är förmodligen ett av de mest kompatibla alternativen som fungerar med de flesta Linux -spel. Men jag hade några problem med Unity-motorspel som inte visade den inbyggda FPS-räknaren. Det här alternativet kräver också att du har ett Steam -konto och en Steam -klient installerad på ditt system.







Steam tillåter dig till och med att lägga till spel som inte köpts från Steam till spelbiblioteket och den inbyggda FPS-räknaren fungerar också i dessa spel. För att lägga till ett icke-steam-spel, klicka på Spel och klicka sedan på Lägg till ett icke-Steam-spel i mitt bibliotek, som visas på skärmdumpen nedan:

Bläddra till platsen för dina spelfiler och växla sedan alternativet Alla filer längst ner.

Välj spelet körbart och klicka sedan på LÄGG TILL VALDA PROGRAM som visas på skärmdumpen nedan:

Om du vill köra ett Windows -spel bara i Steams Proton -kompatibilitetslager måste du aktivera ytterligare ett alternativ i spelegenskaper.

Jag har lagt till SuperTuxKart körbar i steam Library, och FPS -räknaren fungerar bra här också. Observera att spel från tredje part som läggs till i Steam -biblioteket inte får ha några mellanslag i filens sökväg.

Metod 2 (LibGL)

Kompatibilitetsanteckningar:

  • Fungerar endast med OpenGL -spel.
  • Fungerar med inhemska spel och vinspel.
  • Testade att arbeta med integrerade Intel- och AMD -grafikkort med drivrutiner med öppen källkod.
  • Otestad med NVIDIA -kort eftersom jag inte äger ett NVIDIA -kort. Det bör dock fungera med NVIDIA -GPU: er med drivrutiner med öppen källkod.

LibGL är ett Mesa -bibliotek som exponerar OpenGL -API: er för appar och spel och det ingår i nästan alla Linux -distributioner som standard. Med hjälp av detta bibliotek och ett annat paket som skapar en HUD på synlig display, kommer vi att visa en FPS -räknare i Linux -spel. Kör följande kommando för att installera det nödvändiga paketet:

sudobenägenInstalleraxosd-bin

För att visa FPS -räknare i inbyggda Linux -spel, använd kommandot nedan efter att du har ersatt/sökväg/till/körbar med din egen körbara sökväg. Du kan veta mer om alla osd-cat-alternativ från här .

LIBGL_SHOW_FPS = 1/sökväg/till/körbar 2> & 1 |
tee /dev /stderr | sed -u -n -e '/^ libGL: FPS = /{s/.* ([^]* ) =/ 1/; p}' |
osd_cat --lines = 1 --färg = gul --linje = 1 --pos = överst --align = vänster

För att visa FPS -räknare i Windows -spel som körs på Linux via Wine, använd kommandot nedan efter att du har ersatt/sökväg/till/körbar med din egen körbara sökväg.

WINEDEBUG = fps wine/path/to/executable 2> & 1 | tee /dev /stderr |
sed -u -n -e '/trace/s /.* approx // p' | osd_cat --lines = 1 --färg = gul
--kontur = 1 --pos = topp --linj = mitt

Om du använder ett vinprefix är kommandot (ersätt/sökväg/till/vin/prefix och/sökväg/till/körbart):

WINEDEBUG = fps WINEPREFIX =/path/to/wine/prefix wine
/sökväg/till/körbar 2> & 1 | tee /dev /stderr | sed -u -n -e '/ trace/ s/
.*ungefär // p '| osd_cat --lines = 1 --färg = gul --linje = 1 --pos = topp
--justera = mitt

Denna metod har en liten begränsning. Medan du kan anpassa osd-cat HUD, förblir den på en fast position på displayområdet utan att ta hänsyn till spelfönstrets geometri. På skärmdumpen ovan visas FPS -räknaren ovanför spelfönstret, inte inuti det. Spel som körs i helskärm påverkas inte av detta.

Metod 3 (Gallium3D)

  • Fungerar endast med OpenGL -spel.
  • Fungerar med inhemska spel och vinspel.
  • Testade att arbeta med AMD -grafikkort med drivrutiner med öppen källkod.
  • Gallium3D -stöd för Intel pågår, så det fungerar inte än.
  • Otestad med NVIDIA -kort eftersom jag inte äger ett NVIDIA -kort. Eftersom NVIDIA -drivrutinen för öppen källkod är Gallium3D -aktiverad bör denna metod fungera.
  • Gallium3D är ett API som gör det enklare att utveckla drivrutiner för grafikkort genom att tillhandahålla en uppsättning standardbibliotek och gränssnitt. AMD- och NVIDIA -drivrutiner med öppen källkod bygger på Gallium3D.

    För att visa FPS -räknare i inbyggda Linux -spel, använd kommandot nedan efter att du har ersatt/sökväg/till/körbar med din egen körbara sökväg för spel:

    GALLIUM_HUD='enkel, fps' /väg/till/körbar

    För att visa FPS -räknare i Windows -spel som körs på Linux via Wine, använd kommandot nedan efter att du har ersatt/sökväg/till/körbar med din egen körbara sökväg.

    GALLIUM_HUD='enkel, fps' vin /väg/till/körbar

    Om du använder ett vinprefix är kommandot (ersätt/sökväg/till/vin/prefix och/sökväg/till/körbart):

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

    I skärmdumpen ovan använder jag en anpassad GALLIUM_HUD -variabel som också visar GPU- och CPU -temperaturer. Detta anpassade kommando är annorlunda för olika PC -konfigurationer. Om du vill läsa mer om alla anpassningsalternativ kör du kommandon:

    sudobenägenInstallerabordsutrustning
    GALLIUM_HUD=hjälpglxgears

    Bara för referens, här är det anpassade kommandot jag använde i skärmdumparna ovan:

    GALLIUM_HUD='enkel, fps; sensors_temp_cu-amdgpu-pci-1c00.temp1;
    sensors_temp_cu-k10temp-pci-00c3.Tdie '
    /väg/till/körbar

    Metod 4 (Vulkan -överlagringstabell)

    Kompatibilitetsanteckningar:

    • Fungerar endast med Vulkan -spel.
    • Fungerar endast med Ubuntu 19.10+ och andra distributioner med senaste Mesa med vulkanöverlager.
    • Fungerar med inbyggda spel och Steam Proton -spel som körs med DXVK/D9VK -stöd.
    • Fungerar med Wine -spel som körs med DXVK/D9VK libs.
    • Arbetsstatus okänd för Wine’s Vkd3d . Eftersom detta är ett Vulkan -lager bör det fungera med allt så länge Mesa är byggt med stöd för VK_LAYER_MESA_overlay.
    • Testat att arbeta med AMD -grafikkort och integrerade Intel -kort med drivrutiner med öppen källkod.
    • Otestad med NVIDIA -kort eftersom jag inte äger ett NVIDIA -kort. Eftersom detta är ett Vulkan -lager bör det fungera med allt så länge Mesa är byggt med stöd för VK_LAYER_MESA_overlay.

    Vulkan överläggsbord är ett nytt Vulkan -lager som läggs till de senaste byggnaderna av Mesa. Den visar olika information om det körda programmet med hjälp av ett överlägg.

    För att visa FPS -räknare i inbyggda Linux -spel, använd kommandot nedan efter att du har ersatt/sökväg/till/körbar med din egen körbara sökväg för spel:

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG = position = överst till vänster/sökväg/till/körbar

    För att visa FPS -räknare i Windows -spel som körs på Linux via Wine och DXVK, använd kommandot nedan efter att du har bytt ut/sökväg/till/körbar med din egen körbara sökväg:

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG = position = övre vänstra vin/sökväg/till/körbar

    Om du använder ett vinprefix är kommandot (ersätt/sökväg/till/vin/prefix och/sökväg/till/körbart):

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay
    VK_LAYER_MESA_OVERLAY_CONFIG = position = uppe till vänster
    WINEPREFIX =/path/to/wine/prefix wine/path/to/executable

    Metod 5 (DXVK HUD)

    Kompatibilitetsanteckningar:

    • Fungerar endast med Vulkan -spel som körs i Wine och Proton med DXVK/D9VK libs.
    • Testad att arbeta med AMD och integrerade Intel -grafikkort med drivrutiner med öppen källkod.
    • Otestad med NVIDIA -kort eftersom jag inte äger ett NVIDIA -kort. Källkoden har åtaganden som nämner NVIDIA -stöd så den här metoden borde fungera.

    DXVK tillhandahåller ett Vulkan-baserat översättningsskikt för D3D10 och D3D11 så att användare kan spela Direct3D 10/11-spel på Linux. D9VK använder DXVK -backend för att tillhandahålla en ytterligare Direct3D9 -implementering som kan användas för att spela spel som bygger på D3D9.

    För att visa FPS -räknare i DXVK -spel som körs på Linux via Wine, använd kommandot nedan efter att du har bytt ut/sökväg/till/körbar med din egen körbara sökväg:

    DXVK_HUD= fpsvin /väg/till/körbar

    Om du använder ett vinprefix är kommandot (ersätt/sökväg/till/vin/prefix och/sökväg/till/körbart):

    DXVK_HUD= fpsWINEPREFIX=/väg/till/vin/prefixvin /väg/till/körbar

    Detta markerar slutet på detta inlägg. Avslutningsvis vill jag nämna en liten detalj utelämnad ovanifrån. Alla icke-ångmetoder som förklaras ovan fungerar också för Steam-spel. Du måste ersätta/path/to/executable eller wine/path/to/executable eller WINEPREFIX =/path/to/wine/prefix wine/path/to/executable med % command % i samma kommandon som används ovan. Lägg bara till hela kommandot för att starta alternativ i spelegenskaper i Steam -appen, som visas på skärmdumpen nedan: