Med væksten i Linux-spil begyndte mange brugere at kigge efter rigtige måder at vise "frames per second" (FPS) -tæller som et overlay på at køre Linux-spil. En FPS-tæller hjælper med at tilpasse ydeevnen til kørende spil såvel som til at benchmarkere en pc's samlede evne til at spille spil i forskellige opløsninger.
Desværre er der ingen enkelt samlet måde at vise FPS-tæller på i alle Linux-spil, der er uafhængige af de underliggende teknologier, et spil kører på. Forskellige renderere og API'er har forskellige måder at vise FPS-tæller på. Denne vejledning forklarer forskellige metoder, der kan bruges til at vise en FPS-tæller i Linux-spil.
Metode 1 (damp)
Bemærkninger om kompatibilitet:
- Arbejder med OpenGL og Vulkan-spil.
- Arbejder med native-spil, og Proton Proton er et kompatibilitetslag, der er inkluderet i Steam til at køre Windows-spil i Linux. Det er baseret på Wine, DXVK og D9VK open source-projekter med yderligere programrettelser og nye funktioner tilføjet af Valve / Wine-udviklere.
- Fungerer med spil købt på Steam eller spil fra tredjepart tilføjet til Steam af brugeren.
- Testet arbejde med integrerede Intel- og AMD-grafikkort.
- Uprøvet med NVIDIA-kort, da jeg ikke ejer et NVIDIA-kort. Men ifølge Steam-community-fora fungerer den indbyggede fps-tæller fint på NVIDIA-kort.
Steam til Linux inkluderer en indbygget FPS-tæller, der kan skiftes fra indstillinger. Dette er sandsynligvis en af de mest kompatible muligheder, der fungerer med et flertal af Linux-spil. Jeg havde dog nogle problemer med Unity-motorspil, der ikke viste den indbyggede FPS-tæller. Denne mulighed kræver også, at du har en Steam-konto og en Steam-klient installeret på dit system.
Steam giver dig endda mulighed for at tilføje spil, der ikke er købt fra Steam, til spilbiblioteket, og den indbyggede FPS-tæller fungerer også i disse spil. For at tilføje et ikke-dampspil skal du klikke på "Spil" og derefter klikke på "Tilføj et ikke-dampspil til mit bibliotek", som vist i skærmbilledet nedenfor:
Gennemse placeringen af dine spilfiler og skift derefter indstillingen "Alle filer" i bunden.
Vælg det eksekverbare spil, og klik derefter på "TILFØJ VALGTE PROGRAMMER" som vist på skærmbilledet nedenfor:
Hvis du vil køre et Windows-spil kun i Steams Proton-kompatibilitetslag, skal du aktivere en ekstra mulighed i spilegenskaber.
Jeg har tilføjet SuperTuxKart eksekverbar i dampbiblioteket, og FPS-tæller fungerer også fint her. Bemærk, at alle tredjepartsspil, der føjes til Steam-biblioteket, ikke skal have nogen mellemrum i deres filplaceringssti.
Metode 2 (LibGL)
Bemærkninger om kompatibilitet:
- Fungerer kun med OpenGL-spil.
- Arbejder med indfødte spil og vinspil.
- Testet arbejde med integrerede Intel- og AMD-grafikkort med open source-drivere.
- Uprøvet med NVIDIA-kort, da jeg ikke ejer et NVIDIA-kort. Det skal dog fungere med NVIDIA GPU'er med open source-drivere.
LibGL er et Mesa-bibliotek, der udsætter OpenGL API'er for apps og spil, og det er inkluderet i næsten alle Linux-distributioner som standard. Ved hjælp af dette bibliotek og en anden pakke, der opretter en HUD på synlig skærm, viser vi en FPS-tæller i Linux-spil. Kør følgende kommando for at installere den krævede pakke:
sudo apt installere xosd-binFor at vise FPS-tæller i native Linux-spil skal du bruge kommandoen nedenfor efter at have erstattet / sti / til / eksekverbar med din egen eksekverbare sti til spil. Du kan vide mere om alle osd-cat-muligheder herfra.
LIBGL_SHOW_FPS = 1 / sti / til / eksekverbar 2> & 1 |tee / dev / stderr | sed -u -n -e '/ ^ libGL: FPS = / s /.* \ ([^] * \) = / \ 1 /; p '|
osd_cat --lines = 1 --farve = gul - outline = 1 --pos = top --juster = venstre
For at vise FPS-tæller i Windows-spil, der kører på Linux via Vin, skal du bruge kommandoen nedenfor efter at have erstattet / sti / til / eksekverbar med din egen sti til eksekverbar spil.
WINEDEBUG = fps vin / sti / til / eksekverbar 2> & 1 | tee / dev / stderr |sed -u -n -e '/ spor / s /.* ca. // p '| osd_cat --lines = 1 --farve = gul
--omrids = 1 --pos = top --juster = center
Hvis du bruger et vinpræfiks, ville kommandoen være (erstat / sti / til / vin / præfiks og / sti / til / eksekverbar):
WINEDEBUG = fps WINEPREFIX = / sti / til / vin / præfiks vin/ sti / til / eksekverbar 2> & 1 | tee / dev / stderr | sed -u -n -e '/ spor / s /
.* ca. // p '| osd_cat --lines = 1 --farve = gul - outline = 1 --pos = top
--juster = center
Denne metode har en lille begrænsning. Mens du kan tilpasse osd-cat HUD, forbliver den i en fast position på displayområdet uden at tage højde for geometrien i spilvinduet. I skærmbilledet ovenfor vises FPS-tæller over spilvinduet, ikke inde i det. Spil, der kører i fuld skærm, påvirkes ikke af dette.
Metode 3 (Gallium3D)
Gallium3D er en API, der gør det lettere at udvikle drivere til grafikkort ved at levere et sæt standardbiblioteker og grænseflader. AMD og NVIDIA open source-drivere er bygget på Gallium3D. For at vise FPS-tæller i native Linux-spil skal du bruge kommandoen nedenfor efter at have erstattet / sti / til / eksekverbar med din egen sti til eksekverbar spil: For at vise FPS-tæller i Windows-spil, der kører på Linux via Wine, skal du bruge kommandoen nedenfor efter at have erstattet / sti / til / eksekverbar med din egen sti til eksekverbar spil. Hvis du bruger et vinpræfiks, ville kommandoen være (erstat / sti / til / vin / præfiks og / sti / til / eksekverbar): I skærmbilledet ovenfor bruger jeg en tilpasset GALLIUM_HUD-variabel, der også viser GPU- og CPU-temperaturer. Denne brugerdefinerede kommando er forskellig for forskellige pc-konfigurationer. For at læse mere om alle tilpasningsmuligheder skal du køre kommandoer: Bare til reference er her den brugerdefinerede kommando, jeg brugte i skærmbillederne ovenfor: Bemærkninger om kompatibilitet: Mesa Vulkan overlay er et nyt Vulkan-lag tilføjet til nylige builds af Mesa. Det viser forskellige oplysninger om den kørende applikation ved hjælp af et overlay. For at vise FPS-tæller i native Linux-spil skal du bruge kommandoen nedenfor efter at have erstattet / sti / til / eksekverbar med din egen sti til eksekverbar spil: For at vise FPS-tæller i Windows-spil, der kører på Linux via Wine og DXVK, skal du bruge kommandoen nedenfor efter at have erstattet / sti / til / eksekverbar med din egen eksekverbare sti til spil: Hvis du bruger et vinpræfiks, ville kommandoen være (erstat / sti / til / vin / præfiks og / sti / til / eksekverbar): Bemærkninger om kompatibilitet: DXVK giver et Vulkan-baseret oversættelseslag til D3D10 og D3D11, der giver brugerne mulighed for at spille Direct3D 10/11 spil på Linux. D9VK bruger DXVK-backend til at give en yderligere Direct3D9-implementering, der kan bruges til at spille spil bygget på D3D9. For at vise FPS-tæller i DXVK-spil, der kører på Linux via Wine, skal du bruge kommandoen nedenfor efter at have erstattet / sti / til / eksekverbar med din egen sti til eksekverbar spil: Hvis du bruger et vinpræfiks, ville kommandoen være (erstat / sti / til / vin / præfiks og / sti / til / eksekverbar): Dette markerer afslutningen på dette indlæg. Afslutningsvis vil jeg nævne en lille detalje udeladt ovenfra. Alle de ikke-dampmetoder, der er forklaret ovenfor, fungerer også for Steam-spil. Du skal erstatte "/ sti / til / eksekverbar" eller "vin / sti / til / eksekverbar" eller "WINEPREFIX = / sti / til / vin / præfiks vin / sti / til / eksekverbar" med "% kommando%" i de samme kommandoer, der er brugt ovenfor. Tilføj bare den fulde kommando for at starte muligheder i spilegenskaber i Steam-appen, som vist på skærmbilledet nedenfor:
GALLIUM_HUD = hjælp glxgears
sensors_temp_cu-k10temp-pci-00c3.Tdie "/ sti / til / eksekverbar Metode 4 (Mesa Vulkan Overlay)
VK_LAYER_MESA_OVERLAY_CONFIG = position = øverst til venstre
WINEPREFIX = / sti / til / vin / præfiks vin / sti / til / eksekverbar Metode 5 (DXVK HUD)