Com es mostra el comptador FPS als jocs de Linux

How Show Fps Counter Linux Games



Els jocs amb Linux van tenir un gran impuls quan Vàlvula anunciada Suport de Linux per al client de Steam i els seus jocs el 2012. Des de llavors, molts jocs AAA i independents han arribat a Linux i el nombre d'usuaris que juguen a Linux han augmentat considerablement.

Amb el creixement dels jocs de Linux, molts usuaris van començar a buscar maneres adequades de mostrar el comptador de fotogrames per segon (FPS) com a superposició en jocs amb Linux. Un comptador FPS ajuda a ajustar el rendiment dels jocs en execució, així com a comparar la capacitat general d’un PC per jugar a diferents resolucions.







Malauradament, no hi ha una única manera unificada de mostrar el comptador FPS en tots els jocs de Linux que sigui independent de les tecnologies subjacents en què s'executa un joc. Diferents renderitzadors i API tenen diferents maneres de mostrar el comptador FPS. Aquesta guia explicarà diversos mètodes que es poden utilitzar per mostrar un comptador FPS en jocs de Linux.



Notes de compatibilitat:



  • Funciona amb jocs OpenGL i Vulkan.
  • Funciona amb jocs natius i Protó Proton és una capa de compatibilitat inclosa a Steam per executar jocs de Windows a Linux. Es basa en Vi , DXVK i D9VK projectes de codi obert amb pegats addicionals i noves funcions afegides pels desenvolupadors de Valve / Wine.
  • Funciona amb jocs comprats a Steam o jocs de tercers que l'usuari ha afegit a Steam.
  • Provat treballant amb targetes gràfiques Intel i AMD integrades.
  • No s'ha provat amb targetes NVIDIA, ja que no tinc cap targeta NVIDIA. Però segons els fòrums de la comunitat Steam, el comptador de fps integrat funciona bé a les targetes NVIDIA.

Steam per a Linux inclou un comptador FPS integrat que es pot canviar des de la configuració. Aquesta és probablement una de les opcions més compatibles que funciona amb la majoria de jocs de Linux. Tot i això, he tingut alguns problemes amb els jocs de motor Unity que no mostren el comptador FPS integrat. Aquesta opció també requereix que tingueu un compte de Steam i un client de Steam instal·lats al vostre sistema.







Steam fins i tot us permet afegir jocs no comprats a Steam a la biblioteca de jocs i el comptador FPS integrat també funciona en aquests jocs. Per afegir un joc que no sigui de vapor, feu clic a Jocs i, a continuació, feu clic a Afegeix un joc que no sigui de Steam a La meva biblioteca, tal com es mostra a la captura de pantalla següent:

Cerqueu la ubicació dels fitxers del joc i, a continuació, activeu l'opció Tots els fitxers de la part inferior.

Seleccioneu l'executable del joc i feu clic a AFEGEIX PROGRAMES SELECCIONATS tal com es mostra a la captura de pantalla següent:

Si voleu executar un joc només per a Windows a la capa de compatibilitat Proton de Steam, haureu d’habilitar una opció addicional a les propietats del joc.

He afegit l'executable SuperTuxKart a la biblioteca Steam, i el comptador FPS també funciona bé. Tingueu en compte que els jocs de tercers que s’afegeixin a la biblioteca Steam no haurien de tenir cap espai al camí d’ubicació del fitxer.

Mètode 2 (LibGL)

Notes de compatibilitat:

  • Funciona només amb jocs OpenGL.
  • Funciona amb jocs natius i jocs Wine.
  • Provat treballant amb targetes gràfiques Intel i AMD integrades amb controladors de codi obert.
  • No s'ha provat amb targetes NVIDIA, ja que no tinc cap targeta NVIDIA. Tanmateix, hauria de funcionar amb GPU NVIDIA amb controladors de codi obert.

LibGL és una biblioteca Mesa que exposa les API d’OpenGL a aplicacions i jocs i està inclosa en gairebé totes les distribucions de Linux per defecte. Utilitzant aquesta biblioteca i un altre paquet que crea un HUD en pantalla visible, mostrarem un comptador FPS als jocs de Linux. Executeu l'ordre següent per instal·lar el paquet requerit:

suoapteinstal·larxosd-bin

Per mostrar el comptador FPS en jocs natius de Linux, utilitzeu l'ordre següent després de substituir / path / to / executable pel vostre propi camí executable de joc. Podeu obtenir més informació sobre totes les opcions d’osd-cat aquí .

LIBGL_SHOW_FPS = 1 / path / to / executable 2> & 1 |
tee / dev / stderr | sed -u -n -e '/ ^ libGL: FPS = /{s/.* ([^] * ) = / 1 /; p}' |
osd_cat --lines = 1 --color = groc --outline = 1 --pos = top --align = left

Per mostrar el comptador FPS als jocs de Windows que s'executen a Linux mitjançant Wine, utilitzeu l'ordre següent després de substituir / path / to / executable pel vostre propi camí executable de joc.

WINEDEBUG = fps wine / path / to / executable 2> & 1 | tee / dev / stderr |
sed -u -n -e '/ trace / s /.* aprox // p' | osd_cat --lines = 1 --color = groc
--outline = 1 --pos = top --align = centre

Si utilitzeu un prefix Wine, l'ordre seria (substituïu / path / to / wine / prefix i / path / to / executable):

WINEDEBUG = fps WINEPREFIX = / path / to / wine / prefix wine
/ path / to / executable 2> & 1 | tee / dev / stderr | sed -u -n -e '/ trace / s /
. * aprox // p '| osd_cat --lines = 1 --color = groc --outline = 1 --pos = superior
--align = centre

Aquest mètode té una petita limitació. Tot i que podeu personalitzar el HUD osd-cat, es manté en una posició fixa a l'àrea de visualització sense tenir en compte la geometria de la finestra del joc. A la captura de pantalla de dalt, el comptador FPS es mostra a la finestra del joc, no dins. Això no afecta els jocs que es executen en pantalla completa.

Mètode 3 (Gallium3D)

  • Funciona només amb jocs OpenGL.
  • Funciona amb jocs natius i jocs Wine.
  • S'ha provat el treball amb targetes gràfiques AMD amb controladors de codi obert.
  • El suport de Gallium3D per a Intel continua, de manera que encara no funciona.
  • No s'ha provat amb targetes NVIDIA, ja que no tinc cap targeta NVIDIA. Com que el controlador de codi obert NVIDIA està habilitat per Gallium3D, aquest mètode hauria de funcionar.
  • Gallium3D és una API que facilita el desenvolupament de controladors per a targetes gràfiques proporcionant un conjunt de biblioteques i interfícies estàndard. Els controladors de codi obert AMD i NVIDIA es basen en Gallium3D.

    Per mostrar el comptador FPS en jocs natius de Linux, utilitzeu l'ordre següent després de substituir / path / to / executable pel vostre propi camí executable de joc:

    GALLIUM_HUD='simple, fps' /Camí/a/executable

    Per mostrar el comptador FPS als jocs de Windows que s'executen a Linux mitjançant Wine, utilitzeu l'ordre següent després de substituir / path / to / executable pel vostre propi camí executable de joc.

    GALLIUM_HUD='simple, fps' vi /Camí/a/executable

    Si utilitzeu un prefix Wine, l'ordre seria (substituïu / path / to / wine / prefix i / path / to / executable):

    GALLIUM_HUD = 'simple, fps' WINEPREFIX = / path / to / wine / prefix wine / path / to / executable

    A la captura de pantalla anterior, estic fent servir una variable GALLIUM_HUD personalitzada que també mostra la temperatura de la GPU i la CPU. Aquesta ordre personalitzada és diferent per a diferents configuracions de PC. Per obtenir més informació sobre totes les opcions de personalització, executeu ordres:

    suoapteinstal·lartaula-utils
    GALLIUM_HUD=ajudaglxgears

    A tall de referència, aquí teniu l’ordre personalitzat que he utilitzat a les captures de pantalla anteriors:

    GALLIUM_HUD='simple, fps; sensors_temp_cu-amdgpu-pci-1c00.temp1;
    sensors_temp_cu-k10temp-pci-00c3.Tdie '
    /Camí/a/executable

    Method 4 (Taula Vulkan Overlay)

    Notes de compatibilitat:

    • Funciona només amb els jocs Vulkan.
    • Funciona només amb Ubuntu 19.10+ i altres distribucions que tenen l'última Mesa amb capa de superposició vulkan.
    • Funciona amb jocs natius i jocs de Steam Proton que funcionen amb suport DXVK / D9VK.
    • Funciona amb els jocs Wine que s'executen amb llibres DXVK / D9VK.
    • Estat de treball desconegut per a Wine’s Vkd3d . Com que es tracta d'una capa Vulkan, hauria de funcionar amb qualsevol cosa sempre que Mesa es construeixi amb el suport VK_LAYER_MESA_overlay.
    • S'ha provat el treball amb targetes gràfiques AMD i targetes Intel integrades amb controladors de codi obert.
    • No s'ha provat amb targetes NVIDIA, ja que no tinc cap targeta NVIDIA. Com que es tracta d'una capa Vulkan, hauria de funcionar amb qualsevol cosa sempre que Mesa es construeixi amb el suport VK_LAYER_MESA_overlay.

    Taula Vulkan overlay és una nova capa Vulkan afegida a les recents versions de Mesa. Mostra diverses informacions sobre l’aplicació en execució mitjançant una superposició.

    Per mostrar el comptador FPS en jocs natius de Linux, utilitzeu l'ordre següent després de substituir / path / to / executable pel vostre propi camí executable de joc:

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG = posició = esquerra superior / camí / a / executable

    Per mostrar el comptador FPS en els jocs de Windows que s'executen a Linux mitjançant Wine i DXVK, utilitzeu l'ordre següent després de substituir / path / to / executable pel vostre propi camí executable de joc:

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG = posició = vi superior esquerre / camí / a / executable

    Si utilitzeu un prefix Wine, l'ordre seria (substituïu / path / to / wine / prefix i / path / to / executable):

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay
    VK_LAYER_MESA_OVERLAY_CONFIG = posició = superior esquerre
    WINEPREFIX = / path / to / wine / prefix wine / path / to / executable

    Mètode 5 (DXVK HUD)

    Notes de compatibilitat:

    • Funciona només amb jocs Vulkan que s’executen en Wine i Proton amb llibres DXVK / D9VK.
    • S'ha provat el treball amb targetes gràfiques AMD i Intel integrades amb controladors de codi obert.
    • No s'ha provat amb targetes NVIDIA, ja que no tinc cap targeta NVIDIA. El codi font té compromisos que mencionen el suport NVIDIA, de manera que aquest mètode hauria de funcionar.

    DXVK proporciona una capa de traducció basada en Vulkan per a D3D10 i D3D11 que permet als usuaris jugar a jocs Direct3D 10/11 a Linux. D9VK utilitza el dorsal DXVK per proporcionar una implementació Direct3D9 addicional que es pot utilitzar per jugar a jocs basats en D3D9.

    Per mostrar el comptador FPS als jocs DXVK que s'executen a Linux mitjançant Wine, utilitzeu l'ordre següent després de substituir / path / to / executable pel vostre propi camí executable de joc:

    DXVK_HUD= fpsvi /Camí/a/executable

    Si utilitzeu un prefix Wine, l'ordre seria (substituïu / path / to / wine / prefix i / path / to / executable):

    DXVK_HUD= fpsWINEPREFIX=/Camí/a/vi/prefixvi /Camí/a/executable

    Això marca el final d’aquest post. Per concloure, mencionaria un petit detall omès de dalt. Tots els mètodes que no siguin de vapor explicats anteriorment funcionaran també per als jocs de Steam. Heu de substituir / path / to / executable o wine / path / to / executable o WINEPREFIX = / path / to / wine / prefix wine / path / to / executable amb% command% en les mateixes ordres que heu utilitzat anteriorment. Només cal afegir l'ordre complet per iniciar les opcions de les propietats del joc a l'aplicació Steam, tal com es mostra a la captura de pantalla següent: