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:

    Kæmp om Wesnoth-vejledning
    Slaget om Wesnoth er et af de mest populære open source-strategispil, som du kan spille på dette tidspunkt. Ikke kun har dette spil været under udvikl...
    0 A.D. Vejledning
    Ud af de mange strategispil derude, 0 A.D. formår at skille sig ud som en omfattende titel og et meget dybt, taktisk spil på trods af at det er open s...
    Unity3D Tutorial
    Introduktion til Unity 3D Unity 3D er en kraftfuld spiludviklingsmotor. Det er cross platform, det er det giver dig mulighed for at oprette spil til m...