Spil

Sådan vises FPS-tæller i Linux-spil

Sådan vises FPS-tæller i Linux-spil
Linux-spil fik et stort skub, da Valve annoncerede Linux-support til Steam-klient og deres spil i 2012. Siden da har mange AAA- og indiespil fundet vej til Linux, og antallet af brugere, der spiller på Linux, er steget betydeligt.

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:

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:

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-bin

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 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)

  • Fungerer kun med OpenGL-spil.
  • Arbejder med indfødte spil og vinspil.
  • Testet arbejde med AMD grafikkort med open source drivere.
  • Gallium3D-support til Intel er i gang, så den fungerer ikke endnu.
  • Uprøvet med NVIDIA-kort, da jeg ikke ejer et NVIDIA-kort. Da NVIDIA open source-driver er Gallium3D-aktiveret, skal denne metode fungere.
  • 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:

    GALLIUM_HUD = "enkel, fps" / sti / til / eksekverbar

    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.

    GALLIUM_HUD = "enkel, fps" vin / sti / til / eksekverbar

    Hvis du bruger et vinpræfiks, ville kommandoen være (erstat / sti / til / vin / præfiks og / sti / til / eksekverbar):

    GALLIUM_HUD = "enkel, fps" WINEPREFIX = / sti / til / vin / præfiks vin / 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:

    sudo apt installer mesa-utils
    GALLIUM_HUD = hjælp glxgears

    Bare til reference er her den brugerdefinerede kommando, jeg brugte i skærmbillederne ovenfor:

    GALLIUM_HUD = "enkel, fps; sensorer_temp_cu-amdgpu-pci-1c00.temp1;
    sensors_temp_cu-k10temp-pci-00c3.Tdie "/ sti / til / eksekverbar

    Metode 4 (Mesa Vulkan Overlay)

    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:

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG = position = øverst til venstre / sti / til / eksekverbar

    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:

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG = position = øverst til venstre vin / sti / til / eksekverbar

    Hvis du bruger et vinpræfiks, ville kommandoen være (erstat / sti / til / vin / præfiks og / sti / til / eksekverbar):

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay
    VK_LAYER_MESA_OVERLAY_CONFIG = position = øverst til venstre
    WINEPREFIX = / sti / til / vin / præfiks vin / sti / til / eksekverbar

    Metode 5 (DXVK HUD)

    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:

    DXVK_HUD = fps vin / sti / til / eksekverbar

    Hvis du bruger et vinpræfiks, ville kommandoen være (erstat / sti / til / vin / præfiks og / sti / til / eksekverbar):

    DXVK_HUD = fps WINEPREFIX = / sti / til / vin / præfiks vin / 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:

    Hvor og hvordan gemmes adgangskoder på Linux?
    Brugernavnet med en tilsvarende adgangskode til en bestemt konto er det primære krav, hvorigennem en bruger kan få adgang til et Linux-system. Alle br...
    Sådan kontrolleres, om en port er i brug i Linux
    Hvis du er fra en datalogisk baggrund eller endda lidt fortrolig med netværk, har du muligvis hørt om TCP / IP-stakken. TCP / IC-stakken består af fem...
    Sådan ændres eller nulstilles rodadgangskode i Linux
    Hvis du ikke har logget ind som rodbruger i lang tid og ikke har gemt loginoplysningerne nogen steder, er der en chance for, at du mister adgang til l...