Med tillväxten av Linux-spel började många användare leta efter rätt sätt att visa "frames per second" (FPS) -räknare som ett överlägg på att köra Linux-spel. En FPS-räknare hjälper till att anpassa prestanda för löpande spel såväl som för att benchmarka 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 förklarar olika metoder som kan användas för att visa en FPS-räknare i Linux-spel.
Metod 1 (ånga)
Kompatibilitetsanmärkningar:
- Fungerar med OpenGL- och Vulkan-spel.
- Fungerar med inbyggda spel och Proton Proton är ett kompatibilitetsskikt som ingår i Steam för att köra Windows-spel i Linux. Den är baserad på Wine, DXVK och D9VK open source-projekt med ytterligare korrigeringar och nya funktioner som lagts till av Valve / Wine-utvecklare.
- Fungerar med spel som köpts på Steam eller spel från tredje part som läggs till Steam av användaren.
- Testat att arbeta med integrerade Intel- och AMD-grafikkort.
- Oprövad 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 en majoritet av Linux-spel. Men jag hade några problem med Unity engine-spel som inte visade den inbyggda FPS-räknaren. Detta alternativ kräver också att du har ett Steam-konto och Steam-klient installerat på ditt system.
Steam låter dig till och med 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 spel som inte är ånga, klicka på "Spel" och klicka sedan på "Lägg till ett spel som inte är ånga i mitt bibliotek", som visas i skärmdumpen nedan:
Bläddra till platsen för dina spelfiler och växla sedan alternativet "Alla filer" längst ner.
Välj det körbara programmet och klicka sedan på “LÄGG TILL Valda program” som visas på skärmdumpen nedan:
Om du vill köra ett enda Windows-spel i Steams Proton-kompatibilitetslager måste du aktivera ett ytterligare alternativ i spelegenskaper.
Jag har lagt till SuperTuxKart körbar i ångbiblioteket, och FPS-räknaren fungerar också bra här. Observera att spel från tredje part som läggs till i Steam-biblioteket inte bör ha några mellanslag i filens sökväg.
Metod 2 (LibGL)
Kompatibilitetsanmärkningar:
- Fungerar bara med OpenGL-spel.
- Fungerar med inbyggda spel och vinspel.
- Testat att arbeta med integrerade Intel- och AMD-grafikkort med öppen källkodsdrivrutiner.
- Oprövad 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 som standard i nästan alla Linux-distributioner. Med hjälp av detta bibliotek och ett annat paket som skapar en HUD på synlig display, visar vi en FPS-räknare i Linux-spel. Kör följande kommando för att installera det önskade paketet:
sudo apt installera xosd-binFör att visa FPS-räknare i inbyggda Linux-spel använder du kommandot nedan efter att du har ersatt / path / to / executable med din egen spårbara körsökväg. Du kan veta mer om alla OSD-cat-alternativ härifrån.
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 --color = gul - outline = 1 --pos = top --align = left
För att visa FPS-räknare i Windows-spel som körs på Linux via Wine använder du kommandot nedan efter att du har ersatt / path / to / executable med din egen spårbara körsökväg.
WINEDEBUG = fps vin / sökväg / till / körbar 2> & 1 | tee / dev / stderr |sed -u -n -e '/ spår / s /.* ungefär // p '| osd_cat --lines = 1 - färg = gul
--disposition = 1 --pos = top --align = center
Om du använder ett vinprefix skulle kommandot vara (ersätt / sökväg / till / vin / prefix och / sökväg / till / körbar):
WINEDEBUG = fps WINEPREFIX = / sökväg / till / vin / prefix vin/ sökväg / till / körbar 2> & 1 | tee / dev / stderr | sed -u -n -e '/ spår / s /
.* ungefär // p '| osd_cat --lines = 1 --färg = gul - outline = 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. I skärmdumpen ovan visas FPS-räknare ovanför spelfönstret, inte inuti det. Spel som körs i helskärm påverkas inte av detta.
Metod 3 (Gallium3D)
Gallium3D är ett API som gör det lättare 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 / path / to / executable med din egen spårbar körsökväg: För att visa FPS-räknare i Windows-spel som körs på Linux via Wine använder du kommandot nedan efter att du har ersatt / path / to / executable med din egen spårbara körsökväg. Om du använder ett vinprefix skulle kommandot vara (ersätt / sökväg / till / vin / prefix och / sökväg / till / körbar): I skärmdumpen ovan använder jag en anpassad GALLIUM_HUD-variabel som också visar GPU- och CPU-temperaturer. Detta anpassade kommando skiljer sig åt för olika PC-konfigurationer. För att läsa mer om alla anpassningsalternativ, kör kommandon: Bara för referens, här är det anpassade kommandot jag använde i skärmdumparna ovan: Kompatibilitetsanmärkningar: Mesa Vulkan-overlay är ett nytt Vulkan-lager som läggs till i de senaste versionerna av Mesa. Den visar olika information om den körande applikationen med hjälp av ett överlägg. För att visa FPS-räknare i inbyggda Linux-spel använder du kommandot nedan efter att du har ersatt / path / to / executable med din egen spårbara körsökväg: 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 ersatt / path / to / executable med din egen körbara sökväg: Om du använder ett vinprefix skulle kommandot vara (ersätt / sökväg / till / vin / prefix och / sökväg / till / körbar): Kompatibilitetsanmärkningar: DXVK tillhandahåller ett Vulkan-baserat översättningsskikt för D3D10 och D3D11 som tillåter användare att spela Direct3D 10/11-spel på Linux. D9VK använder DXVK-backend för att ge 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änder du kommandot nedan efter att du har ersatt / path / to / executable med din egen spårbara körbar sökväg: Om du använder ett vinprefix skulle kommandot vara (ersätt / sökväg / till / vin / prefix och / sökväg / till / körbar): Detta markerar slutet på detta inlägg. Avslutningsvis skulle jag nämna en liten detalj som utelämnats 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:
GALLIUM_HUD = hjälp glxgears
sensors_temp_cu-k10temp-pci-00c3.Tdie "/ sökväg / till / körbar Metod 4 (Mesa Vulkan Overlay)
VK_LAYER_MESA_OVERLAY_CONFIG = position = uppe till vänster
WINEPREFIX = / sökväg / till / vin / prefix vin / sökväg / till / körbar Metod 5 (DXVK HUD)