Giochi

Come mostrare il contatore FPS nei giochi Linux

Come mostrare il contatore FPS nei giochi Linux
I giochi Linux hanno avuto una grande spinta quando Valve ha annunciato il supporto Linux per il client Steam e i loro giochi nel 2012. Da allora, molti giochi AAA e indie sono arrivati ​​su Linux e il numero di utenti che giocano su Linux è aumentato considerevolmente.

Con la crescita dei giochi Linux, molti utenti hanno iniziato a cercare modi adeguati per visualizzare il contatore di "fotogrammi al secondo" (FPS) come sovrapposizione sui giochi Linux in esecuzione. Un contatore FPS aiuta a ottimizzare le prestazioni dei giochi in esecuzione e a confrontare la capacità complessiva di un PC di giocare a diverse risoluzioni.

Sfortunatamente non esiste un unico modo unificato per visualizzare il contatore FPS in tutti i giochi Linux che sia indipendente dalle tecnologie sottostanti su cui è in esecuzione un gioco. Diversi renderer e API hanno modi diversi per visualizzare il contatore FPS. Questa guida spiegherà vari metodi che possono essere utilizzati per visualizzare un contatore FPS nei giochi Linux.

Metodo 1 (Vapore)

Note di compatibilità:

Steam per Linux include un contatore FPS integrato che può essere attivato dalle impostazioni. Questa è probabilmente una delle opzioni più compatibili che funziona con la maggior parte dei giochi Linux. Tuttavia, ho riscontrato alcuni problemi con i giochi del motore Unity che non visualizzavano il contatore FPS integrato. Questa opzione richiede anche che tu abbia un account Steam e un client Steam installati sul tuo sistema.

Steam ti consente anche di aggiungere giochi non acquistati da Steam alla libreria dei giochi e il contatore FPS integrato funziona anche in questi giochi. Per aggiungere un gioco non Steam, fai clic su "Giochi" e quindi fai clic su "Aggiungi un gioco non Steam alla mia libreria", come mostrato nello screenshot qui sotto:

Individua la posizione dei file di gioco e quindi attiva l'opzione "Tutti i file" in basso.

Seleziona l'eseguibile del gioco e quindi fai clic su "AGGIUNGI PROGRAMMI SELEZIONATI" come mostrato nella schermata seguente:

Se vuoi eseguire un gioco solo per Windows nel livello di compatibilità Proton di Steam, dovrai abilitare un'opzione aggiuntiva nelle proprietà del gioco.

Ho aggiunto l'eseguibile SuperTuxKart nella libreria di Steam e il contatore FPS funziona bene anche qui. Nota che tutti i giochi di terze parti aggiunti alla libreria di Steam non dovrebbero avere spazi nel percorso del loro file.

Metodo 2 (LibGL)

Note di compatibilità:

LibGL è una libreria Mesa che espone le API OpenGL ad app e giochi ed è inclusa in quasi tutte le distribuzioni Linux per impostazione predefinita. Usando questa libreria e un altro pacchetto che crea un HUD sul display visibile, mostreremo un contatore FPS nei giochi Linux. Eseguire il seguente comando per installare il pacchetto richiesto:

sudo apt install xosd-bin

Per mostrare il contatore FPS nei giochi Linux nativi, usa il comando seguente dopo aver sostituito /path/to/executable con il tuo percorso eseguibile di gioco. Puoi saperne di più su tutte le opzioni di osd-cat da qui.

LIBGL_SHOW_FPS=1 /percorso/a/eseguibile 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=left

Per mostrare il contatore FPS nei giochi Windows in esecuzione su Linux tramite Wine, usa il comando seguente dopo aver sostituito /path/to/executable con il tuo percorso eseguibile di gioco.

WINEDEBUG=fps wine /percorso/a/eseguibile 2>&1 | tee /dev/stderr |
sed -u -n -e '/trace/ s/.*circa //p' | osd_cat --lines=1 --colore=giallo
--outline=1 --pos=top --align=center

Se stai usando un prefisso Wine, il comando sarebbe (sostituisci /path/to/wine/prefix e /path/to/executable):

WINEDEBUG=fps WINEPREFIX=/percorso/a/vino/prefisso vino
/percorso/a/eseguibile 2>&1 | tee /dev/stderr | sed -u -n -e '/trace/ s/
.*circa //p' | osd_cat --lines=1 --color=yellow --outline=1 --pos=top
--allinea=centro

Questo metodo ha una piccola limitazione. Sebbene sia possibile personalizzare l'HUD osd-cat, rimane in una posizione fissa nell'area di visualizzazione senza prendere in considerazione la geometria della finestra di gioco. Nello screenshot qui sopra, il contatore FPS è mostrato sopra la finestra di gioco, non al suo interno. I giochi in esecuzione a schermo intero non sono interessati da questo.

Metodo 3 (Gallium3D)

  • Funziona solo con giochi OpenGL.
  • Funziona con giochi nativi e giochi Wine.
  • Testato lavorando con schede grafiche AMD con driver open source.
  • Il supporto Gallium3D per Intel è in corso, quindi non funziona ancora.
  • Non testato con schede NVIDIA in quanto non possiedo una scheda NVIDIA. Poiché il driver open source NVIDIA è abilitato per Gallium3D, questo metodo dovrebbe funzionare.
  • Gallium3D è un'API che semplifica lo sviluppo di driver per schede grafiche fornendo un set di librerie e interfacce standard. I driver open source AMD e NVIDIA sono basati su Gallium3D.

    Per mostrare il contatore FPS nei giochi Linux nativi, usa il comando seguente dopo aver sostituito /path/to/executable con il tuo percorso eseguibile di gioco:

    GALLIUM_HUD="semplice,fps" /percorso/a/eseguibile

    Per mostrare il contatore FPS nei giochi Windows in esecuzione su Linux tramite Wine, usa il comando seguente dopo aver sostituito /path/to/executable con il tuo percorso eseguibile di gioco.

    GALLIUM_HUD="simple,fps" wine /percorso/a/eseguibile

    Se stai usando un prefisso Wine, il comando sarebbe (sostituisci /path/to/wine/prefix e /path/to/executable):

    GALLIUM_HUD="simple,fps" WINEPREFIX=/percorso/a/vino/prefisso wine /percorso/a/eseguibile

    Nello screenshot qui sopra, sto usando una variabile GALLIUM_HUD personalizzata che mostra anche le temperature della GPU e della CPU. Questo comando personalizzato è diverso per le diverse configurazioni del PC. Per saperne di più su tutte le opzioni di personalizzazione, esegui i comandi:

    sudo apt install mesa-utils
    GALLIUM_HUD=help glxgears

    Solo per riferimento, ecco il comando personalizzato che ho usato negli screenshot sopra:

    GALLIUM_HUD="semplice,fps;sensors_temp_cu-amdgpu-pci-1c00.temperatura1;
    sensori_temp_cu-k10temp-pci-00c3.Tdie" /percorso/a/eseguibile

    Metodo 4 (sovrapposizione Mesa Vulkan)

    Note di compatibilità:

    L'overlay Mesa Vulkan è un nuovo livello Vulkan aggiunto alle build recenti di Mesa. Visualizza varie informazioni sull'applicazione in esecuzione utilizzando una sovrapposizione.

    Per mostrare il contatore FPS nei giochi Linux nativi, usa il comando seguente dopo aver sostituito /path/to/executable con il tuo percorso eseguibile di gioco:

    VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG=posizione=in alto a sinistra /percorso/per/eseguibile

    Per mostrare il contatore FPS nei giochi Windows in esecuzione su Linux tramite Wine e DXVK, usa il comando seguente dopo aver sostituito /path/to/executable con il tuo percorso eseguibile di gioco:

    VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG=posizione=vino in alto a sinistra /percorso/per/eseguibile

    Se stai usando un prefisso Wine, il comando sarebbe (sostituisci /path/to/wine/prefix e /path/to/executable):

    VK_INSTANCE_LAYERS=VK_LAYER_MESA_overlay
    VK_LAYER_MESA_OVERLAY_CONFIG=posizione=in alto a sinistra
    WINEPREFIX=/percorso/a/wine/prefisso wine /percorso/a/eseguibile

    Metodo 5 (HUD DXVK)

    Note di compatibilità:

    DXVK fornisce un livello di traduzione basato su Vulkan per D3D10 e D3D11 che consente agli utenti di giocare ai giochi Direct3D 10/11 su Linux. D9VK utilizza il backend DXVK per fornire un'ulteriore implementazione Direct3D9 che può essere utilizzata per giocare a giochi basati su D3D9.

    Per mostrare il contatore FPS nei giochi DXVK in esecuzione su Linux tramite Wine, usa il comando seguente dopo aver sostituito /path/to/executable con il tuo percorso eseguibile di gioco:

    DXVK_HUD=fps wine /percorso/a/eseguibile

    Se stai usando un prefisso Wine, il comando sarebbe (sostituisci /path/to/wine/prefix e /path/to/executable):

    DXVK_HUD=fps WINEPREFIX=/percorso/a/wine/prefisso wine /percorso/a/eseguibile

    Questo segna la fine di questo post. Per concludere, citerei un piccolo dettaglio omesso dall'alto. Tutti i metodi non Steam spiegati sopra funzioneranno anche con i giochi Steam. Devi sostituire "/percorso/a/eseguibile" o "wine /percorso/a/eseguibile" o "WINEPREFIX=/percorso/a/vino/prefisso vino /percorso/a/eseguibile" con "%comando%" nel stessi comandi usati sopra. Basta aggiungere il comando completo per avviare le opzioni nelle proprietà del gioco all'interno dell'app Steam, come mostrato nello screenshot qui sotto:

    Battaglia per Wesnoth 1.13.6 Sviluppo rilasciato
    Battaglia per Wesnoth 1.13.6 rilasciato il mese scorso, è la sesta versione di sviluppo nella 1.13.x e offre una serie di miglioramenti, in particolar...
    Come installare League Of Legends su Ubuntu 14.04
    Se sei un fan di League of Legends, questa è un'opportunità per testare League of Legends. Nota che LOL è supportato su PlayOnLinux se sei un utente L...
    Installa l'ultimo gioco di strategia OpenRA su Ubuntu Linux
    OpenRA è un motore di gioco di strategia in tempo reale gratuito/libero che ricrea i primi giochi di Westwood come il classico Command & Conquer: Red ...