Spellen

Hoe FPS-teller in Linux-games te tonen

Hoe FPS-teller in Linux-games te tonen
Linux-gaming kreeg een grote duw toen Valve in 2012 Linux-ondersteuning voor Steam-client en hun games aankondigde. Sindsdien hebben veel AAA- en indie-games hun weg gevonden naar Linux en is het aantal gebruikers dat op Linux speelt aanzienlijk toegenomen.

Met de groei van Linux-gaming gingen veel gebruikers op zoek naar goede manieren om de "frames per seconde" (FPS) -teller weer te geven als een overlay op het draaien van Linux-games. Een FPS-teller helpt bij het aanpassen van de prestaties van lopende games en bij het benchmarken van het algehele vermogen van een pc om games met verschillende resoluties te spelen.

Helaas is er geen enkele uniforme manier om de FPS-teller in alle Linux-games weer te geven die onafhankelijk is van de onderliggende technologieën waarop een game draait. Verschillende renderers en API's hebben verschillende manieren om FPS-teller weer te geven. In deze gids worden verschillende methoden uitgelegd die kunnen worden gebruikt om een ​​FPS-teller in Linux-games weer te geven.

Methode 1 (stoom)

Compatibiliteit Opmerkingen:

Steam voor Linux bevat een ingebouwde FPS-teller die kan worden omgeschakeld via instellingen. Dit is waarschijnlijk een van de meest compatibele opties die werkt met de meeste Linux-games. Ik had echter wat problemen met Unity-engine-games die de ingebouwde FPS-teller niet weergeven. Deze optie vereist ook dat je een Steam-account en Steam-client op je systeem hebt geïnstalleerd.

Met Steam kun je zelfs games die niet bij Steam zijn gekocht toevoegen aan de gamebibliotheek en de ingebouwde FPS-teller werkt ook in deze games. Om een ​​niet-steamgame toe te voegen, klik je op "Games" en vervolgens op "Een niet-Steam-game toevoegen aan mijn bibliotheek", zoals weergegeven in de onderstaande schermafbeelding:

Blader naar de locatie van je gamebestanden en schakel vervolgens de optie "Alle bestanden" onderaan in.

Selecteer het uitvoerbare spel en klik vervolgens op "GESELECTEERDE PROGRAMMA'S TOEVOEGEN" zoals weergegeven in de onderstaande schermafbeelding:

Als je een game met alleen Windows wilt spelen in de Proton-compatibiliteitslaag van Steam, moet je een extra optie inschakelen in game-eigenschappen.

Ik heb het uitvoerbare SuperTuxKart-bestand toegevoegd aan de Steam-bibliotheek en de FPS-teller werkt hier ook prima. Merk op dat alle games van derden die aan de Steam-bibliotheek zijn toegevoegd, geen spaties in hun bestandslocatiepad mogen hebben.

Methode 2 (LibGL)

Compatibiliteit Opmerkingen:

LibGL is een Mesa-bibliotheek die OpenGL API's blootstelt aan apps en games en is standaard opgenomen in bijna alle Linux-distributies. Met behulp van deze bibliotheek en een ander pakket dat een HUD op een zichtbaar scherm maakt, zullen we een FPS-teller laten zien in Linux-games. Voer de volgende opdracht uit om het vereiste pakket te installeren:

sudo apt install xosd-bin

Om de FPS-teller in native Linux-games weer te geven, gebruikt u de onderstaande opdracht nadat u /path/to/executable hebt vervangen door het uitvoerbare pad van uw eigen game. U kunt hier meer weten over alle osd-cat-opties options.

LIBGL_SHOW_FPS=1 /pad/naar/uitvoerbaar 2>&1 |
tee /dev/stderr | sed -u -n -e '/^libGL: FPS = /s/.* \([^ ]*\)= /\1/;p' |
osd_cat --lines=1 --color=yellow --outline=1 --pos=top --align=links

Om de FPS-teller weer te geven in Windows-games die op Linux worden uitgevoerd via Wine, gebruik je de onderstaande opdracht nadat je /path/to/executable hebt vervangen door het uitvoerbare pad van je eigen game.

WINEDEBUG=fps wijn /pad/naar/uitvoerbaar 2>&1 | tee /dev/stderr |
sed -u -n -e '/trace/ s/.*ongeveer //p' | osd_cat --lines=1 --color=geel
--outline=1 --pos=top --align=center

Als u een Wine-prefix gebruikt, zou de opdracht zijn (vervang /path/to/wine/prefix en /path/to/executable):

WINEDEBUG=fps WINEPREFIX=/pad/naar/wijn/voorvoegsel wijn
/pad/naar/uitvoerbaar 2>&1 | tee /dev/stderr | sed -u -n -e '/trace/ s/
.*ongeveer //p' | osd_cat --lines=1 --color=geel --outline=1 --pos=top
--align=center

Deze methode heeft een kleine beperking:. Hoewel u de osd-cat HUD kunt aanpassen, blijft deze op een vaste positie op het weergavegebied staan ​​zonder rekening te houden met de geometrie van het spelvenster. In de bovenstaande schermafbeelding wordt de FPS-teller boven het spelvenster weergegeven, niet erin. Games die op volledig scherm worden uitgevoerd, worden hierdoor niet beïnvloed.

Methode 3 (Gallium3D)

  • Werkt alleen met OpenGL-spellen.
  • Werkt met native games en Wine-games.
  • Getest werken met AMD grafische kaarten met open source drivers source.
  • Gallium3D-ondersteuning voor Intel is aan de gang, dus werkt nog niet.
  • Niet getest met NVIDIA-kaarten omdat ik geen NVIDIA-kaart heb. Aangezien het open source-stuurprogramma van NVIDIA Gallium3D is ingeschakeld, zou deze methode moeten werken.
  • Gallium3D is een API die het gemakkelijker maakt om stuurprogramma's voor grafische kaarten te ontwikkelen door een reeks standaardbibliotheken en interfaces te bieden. AMD en NVIDIA open source drivers zijn gebouwd op Gallium3D.

    Om de FPS-teller in native Linux-games weer te geven, gebruik je de onderstaande opdracht nadat je /path/to/executable hebt vervangen door het uitvoerbare pad van je eigen game:

    GALLIUM_HUD="eenvoudig,fps" /pad/naar/uitvoerbaar

    Om de FPS-teller weer te geven in Windows-games die op Linux worden uitgevoerd via Wine, gebruik je de onderstaande opdracht nadat je /path/to/executable hebt vervangen door het uitvoerbare pad van je eigen game.

    GALLIUM_HUD="eenvoudig,fps" wijn /pad/naar/uitvoerbaar

    Als u een Wine-prefix gebruikt, zou de opdracht zijn (vervang /path/to/wine/prefix en /path/to/executable):

    GALLIUM_HUD="simple,fps" WINEPREFIX=/pad/naar/wijn/voorvoegsel wijn /pad/naar/uitvoerbaar

    In de bovenstaande schermafbeelding gebruik ik een aangepaste GALLIUM_HUD-variabele die ook GPU- en CPU-temperaturen laat zien. Deze aangepaste opdracht is verschillend voor verschillende pc-configuraties. Voer de volgende opdrachten uit om meer te lezen over alle aanpassingsopties:

    sudo apt install mesa-utils
    GALLIUM_HUD=help glxgears

    Ter referentie, hier is de aangepaste opdracht die ik in de bovenstaande schermafbeeldingen heb gebruikt:

    GALLIUM_HUD="eenvoudig,fps;sensoren_temp_cu-amdgpu-pci-1c00.temp1;
    sensors_temp_cu-k10temp-pci-00c3.Tdie" /pad/naar/uitvoerbaar

    Methode 4 (Mesa Vulkan-overlay)

    Compatibiliteit Opmerkingen:

    Mesa Vulkan-overlay is een nieuwe Vulkan-laag die is toegevoegd aan recente builds van Mesa. Het toont verschillende informatie over de actieve applicatie met behulp van een overlay.

    Om de FPS-teller in native Linux-games weer te geven, gebruik je de onderstaande opdracht nadat je /path/to/executable hebt vervangen door het uitvoerbare pad van je eigen game:

    VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG=positie=linksboven /pad/naar/uitvoerbaar

    Om de FPS-teller weer te geven in Windows-games die op Linux draaien via Wine en DXVK, gebruik je de onderstaande opdracht nadat je /path/to/executable hebt vervangen door het uitvoerbare pad van je eigen game:

    VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG=positie=wijn linksboven /pad/naar/uitvoerbaar

    Als u een Wine-prefix gebruikt, zou de opdracht zijn (vervang /path/to/wine/prefix en /path/to/executable):

    VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay
    VK_LAYER_MESA_OVERLAY_CONFIG=positie=linksboven
    WINEPREFIX=/pad/naar/wijn/voorvoegsel wijn /pad/naar/uitvoerbaar

    Methode 5 (DXVK-HUD)

    Compatibiliteit Opmerkingen:

    DXVK biedt een op Vulkan gebaseerde vertaallaag voor D3D10 en D3D11 waarmee gebruikers Direct3D 10/11-games op Linux kunnen spelen. D9VK gebruikt DXVK-backend om een ​​extra Direct3D9-implementatie te bieden die kan worden gebruikt om games te spelen die op D3D9 zijn gebouwd.

    Om de FPS-teller weer te geven in DXVK-games die op Linux draaien via Wine, gebruik je de onderstaande opdracht nadat je /path/to/executable hebt vervangen door het uitvoerbare pad van je eigen game:

    DXVK_HUD=fps wijn /pad/naar/uitvoerbaar

    Als u een Wine-prefix gebruikt, zou de opdracht zijn (vervang /path/to/wine/prefix en /path/to/executable):

    DXVK_HUD=fps WINEPREFIX=/pad/naar/wijn/voorvoegsel wijn /pad/naar/uitvoerbaar

    Dit markeert het einde van dit bericht. Tot slot zou ik nog een klein detail willen noemen dat hierboven is weggelaten. Alle niet-stoommethoden die hierboven zijn uitgelegd, werken ook voor Steam-spellen. U moet "/path/to/executable" of "wine /path/to/executable" of "WINEPREFIX=/path/to/wine/prefix wine /path/to/executable" vervangen door "%command%" in de dezelfde commando's als hierboven gebruikt. Voeg gewoon de volledige opdracht toe om opties in game-eigenschappen in de Steam-app te starten, zoals weergegeven in de onderstaande schermafbeelding:

    Beste opdrachtregelspellen voor Linux
    De opdrachtregel is niet alleen je grootste bondgenoot bij het gebruik van Linux, hij kan ook de bron van entertainment zijn omdat je hem kunt gebruik...
    Beste gamepad-toewijzingsapps voor Linux
    Als je graag games op Linux speelt met een gamepad in plaats van een typisch toetsenbord- en muisinvoersysteem, zijn er enkele handige apps voor jou. ...
    Handige hulpmiddelen voor Linux-gamers
    Als je graag games op Linux speelt, is de kans groot dat je apps en hulpprogramma's zoals Wine, Lutris en OBS Studio hebt gebruikt om de game-ervaring...