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à:
- Funziona con giochi OpenGL e Vulkan.
- Funziona con giochi nativi e Proton Proton è un livello di compatibilità incluso in Steam per l'esecuzione di giochi Windows in Linux. Si basa su progetti open source Wine, DXVK e D9VK con patch aggiuntive e nuove funzionalità aggiunte dagli sviluppatori Valve/Wine.
- Funziona con giochi acquistati su Steam o giochi di terze parti aggiunti a Steam dall'utente.
- Testato lavorando con schede grafiche Intel e AMD integrate.
- Non testato con schede NVIDIA in quanto non possiedo una scheda NVIDIA. Ma secondo i forum della community di Steam, il contatore di fps integrato funziona bene sulle schede NVIDIA.
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à:
- Funziona solo con giochi OpenGL.
- Funziona con giochi nativi e giochi Wine.
- Testato lavorando con schede grafiche Intel e AMD integrate con driver open source.
- Non testato con schede NVIDIA in quanto non possiedo una scheda NVIDIA. Dovrebbe comunque funzionare con le GPU NVIDIA con driver open source.
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-binPer 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)
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: 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. Se stai usando un prefisso Wine, il comando sarebbe (sostituisci /path/to/wine/prefix e /path/to/executable): 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: Solo per riferimento, ecco il comando personalizzato che ho usato negli screenshot sopra: 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: 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: Se stai usando un prefisso Wine, il comando sarebbe (sostituisci /path/to/wine/prefix e /path/to/executable): 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: Se stai usando un prefisso Wine, il comando sarebbe (sostituisci /path/to/wine/prefix e /path/to/executable): 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:
GALLIUM_HUD=help glxgears
sensori_temp_cu-k10temp-pci-00c3.Tdie" /percorso/a/eseguibile Metodo 4 (sovrapposizione Mesa Vulkan)
VK_LAYER_MESA_OVERLAY_CONFIG=posizione=in alto a sinistra
WINEPREFIX=/percorso/a/wine/prefisso wine /percorso/a/eseguibile Metodo 5 (HUD DXVK)