Con el crecimiento de Linux Gaming, muchos usuarios comenzaron a buscar formas adecuadas de mostrar "marcos por segundo" (FPS) contador como una superposición en la ejecución de juegos de Linux. Un contador de FPS ayuda a ajustar el rendimiento de los juegos de ejecución, así como en la evaluación comparativa de la capacidad general de una PC para jugar a diferentes resoluciones.
Desafortunadamente, no hay una sola forma unificada de mostrar el contador de FPS en todos los juegos de Linux que es independiente de las tecnologías subyacentes en las que se está ejecutando un juego. Diferentes renderistas y API tienen diferentes formas de mostrar el contador de FPS. Esta guía explicará varios métodos que se pueden usar para mostrar un contador de FPS en los juegos de Linux.
Método 1 (Steam)
Notas de compatibilidad:
Steam para Linux incluye un contador de FPS incorporado que se puede alternar desde la configuración. Esta es probablemente una de las opciones más compatibles que funciona con la mayoría de los juegos de Linux. Sin embargo, tuve algunos problemas con los juegos de Unity Engine no mostrando el mostrador de FPS incorporado. Esta opción también requiere que tenga una cuenta de vapor y un cliente de Steam instalado en su sistema.
Steam incluso te permite agregar juegos que no se compran desde Steam a la biblioteca de juegos y el mostrador de FPS incorporado también funciona en estos juegos. Para agregar un juego no Steam, haga clic en "Juegos" y luego haga clic en "Agregar un juego no acelerado a mi biblioteca", como se muestra en la captura de pantalla a continuación:
Explore la ubicación de sus archivos de juego y luego altere la opción "Todos los archivos" en la parte inferior.
Seleccione el ejecutable del juego y luego haga clic en "Agregar programas seleccionados" como se muestra en la captura de pantalla a continuación:
Si desea ejecutar un juego de Windows Only en la capa de compatibilidad de protones de Steam, tendrá que habilitar una opción adicional en las propiedades del juego.
He agregado ejecutable Supertuxkart en la biblioteca de Steam, y el contador FPS también funciona bien aquí. Tenga en cuenta que cualquier juego de terceros agregado a la biblioteca Steam no debe tener ningún espacio en la ruta de ubicación de su archivo.
Método 2 (libgl)
Notas de compatibilidad:
Libgl es una biblioteca de Mesa que expone las API de OpenGL a aplicaciones y juegos y se incluye en casi todas las distribuciones de Linux de forma predeterminada. Usando esta biblioteca y otro paquete que crea un HUD en la pantalla visible, mostraremos un mostrador de FPS en los juegos de Linux. Ejecute el siguiente comando para instalar el paquete requerido:
sudo apt install xosd-bin
Para mostrar el contador de FPS en los juegos nativos de Linux, use el comando a continuación después de reemplazar/ruta/a/ejecutable con su propio juego. Puede saber más sobre todas las opciones de OSD-CAT desde aquí.
Libgl_show_fps = 1/ruta/a/ejecutable 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 = izquierda
Para mostrar el contador de FPS en los juegos de Windows que se ejecutan en Linux a través del vino, use el comando a continuación después de reemplazar/ruta/a/ejecutable con su propio juego.
WinedeBug = FPS Wine/Path/to/Ejecutable 2> & 1 | Tee /dev /stderr | sed -u -n -e '/ traza/ s/.*aprox // p '| OSD_CAT --lines = 1 - -Color = Yellow --outline = 1 -Pos = Top --align = Center
Si está utilizando un prefijo de vino, el comando sería (reemplazar/ruta/a/wine/prefijo y/ruta/a/ejecutable):
WinedeBug = fps wineprefix =/rath/to/wine/prefix wine/rath/to/ejecutable 2> & 1 | Tee /dev /stderr | sed -u -n -e '/ traza/ s/.*aprox // p '| OSD_CAT --lines = 1 - -Color = Yellow --outline = 1 -Pos = Top --align = Center
Este método tiene una pequeña limitación. Si bien puede personalizar el HUD OSD-CAT, permanece en una posición fija en el área de visualización sin tener en cuenta la geometría de la ventana del juego. En la captura de pantalla de arriba, el contador FPS se muestra sobre la ventana del juego, no dentro de ella. Los juegos que se ejecutan en pantalla completa no se ven afectados por esto.
Método 3 (Gallium3d)
Notas de compatibilidad:
Gallium3d es una API que facilita desarrollar controladores para tarjetas gráficas al proporcionar un conjunto de bibliotecas e interfaces estándar. Los conductores de código abierto AMD y Nvidia se construyen en Gallium3d.
Para mostrar el contador de FPS en los juegos nativos de Linux, use el comando a continuación después de reemplazar/ruta/a/ejecutable con su propio juego
Gallium_hud = "Simple, FPS"/Path/to/Ejecutable
Para mostrar el contador de FPS en los juegos de Windows que se ejecutan en Linux a través del vino, use el comando a continuación después de reemplazar/ruta/a/ejecutable con su propio juego.
Gallium_hud = "simple, fps" vino/ruta/a/ejecutable
Si está utilizando un prefijo de vino, el comando sería (reemplazar/ruta/a/wine/prefijo y/ruta/a/ejecutable):
Gallium_hud = "Simple, FPS" Wineprefix =/Path/To/Wine/Prefix Wine/Path/To/Ejecutable
En la captura de pantalla anterior, estoy usando una variable Gallium_hud personalizada que muestra temperaturas de GPU y CPU también. Este comando personalizado es diferente para diferentes configuraciones de PC. Para leer más sobre todas las opciones de personalización, ejecute comandos:
sudo apto install mesa-uss
Gallium_hud = Ayuda GlxGears
Solo como referencia, aquí está el comando personalizado que utilicé en las capturas de pantalla anteriores:
Gallium_hud = "simple, fps; sensores_temp_cu-amdgpu-pci-1c00.TEMP1; Sensors_temp_cu-k10temp-pci-00c3.TDIE "/Path/TO/Ejecutable
Método 4 (superposición de Mesa Vulkan)
Notas de compatibilidad:
Mesa Vulkan Overlay es una nueva capa de Vulkan agregada a las compilaciones recientes de Mesa. Muestra varias información sobre la aplicación en ejecución utilizando una superposición.
Para mostrar el contador de FPS en los juegos nativos de Linux, use el comando a continuación después de reemplazar/ruta/a/ejecutable con su propio juego
VK_INSTANCE_LAYERS = VK_LAYER_MESA_OVERLAY VK_LAYER_MESA_OVERLAY_CONFIG = POSICIÓN = TOP-LEFT/PATH/TO/Ejecutable
Para mostrar el contador de FPS en los juegos de Windows que se ejecutan en Linux a través de Wine y DXVK, use el comando a continuación después de reemplazar/ruta/a/ejecutable con su propio juego de ejecutable:
VK_INSTANCE_LAYERS = VK_LAYER_MESA_OVERLAY VK_LAYER_MESA_OVERLAY_CONFIG = Position = Top-left Wine/Path/TO/Ejecutable
Si está utilizando un prefijo de vino, el comando sería (reemplazar/ruta/a/wine/prefijo y/ruta/a/ejecutable):
Vk_instance_layers = vk_layer_mesa_overlay vk_layer_mesa_overlay_config = posicion = top-left wineprefix =/path/to/wine/prefix wine/rath/to/ejecutable
Método 5 (DXVK HUD)
Notas de compatibilidad:
DXVK proporciona una capa de traducción basada en Vulkan para D3D10 y D3D11, lo que permite a los usuarios jugar juegos Direct3D 10/11 en Linux. D9VK utiliza el backend de DXVK para proporcionar una implementación adicional de Direct3D9 que se puede usar para jugar juegos construidos en D3D9.
Para mostrar el contador FPS en los juegos DXVK que se ejecutan en Linux a través del vino, use el comando a continuación después de reemplazar/ruta/a/ejecutable con su propio juego de ejecutable:
Dxvk_hud = fps wine/rath/to/ejecutable
Si está utilizando un prefijo de vino, el comando sería (reemplazar/ruta/a/wine/prefijo y/ruta/a/ejecutable):
Dxvk_hud = fps wineprefix =/path/to/wine/prefix wine/rath/to/ejecutable
Esto marca el final de esta publicación. Para concluir, mencionaría un pequeño detalle omitido de arriba. Todos los métodos que no se explican anteriormente también funcionarán para los juegos de Steam. Tiene que reemplazar "/ruta/a/ejecutable" o "vino/ruta/a/ejecutable" o "wineprefix =/rath/to/wine/prefix wine/rath/to/ejecutable" con "%command%" en el Los mismos comandos utilizados arriba. Simplemente agregue el comando completo para iniciar opciones en las propiedades del juego dentro de la aplicación Steam, como se muestra en la captura de pantalla a continuación:
Nueva actualización: Método 6 (Mangohud)
Mangohud es un mostrador de FPS universal para Linux que muestra marcos en tiempo real por segundo para casi todos los juegos que pueden ejecutarse en Linux. Funciona con juegos nativos y basados en vino y funciona bien con OpenGL y Vulkan Renderers. Además de FPS, muestra cargas de CPU y GPU también. Aquí hay una pequeña animación que muestra cómo se parece a una superposición (créditos GIF):
MangoHud se ha integrado en la consola de juegos de mano de Valve Linux llamada "Steam Deck" (lanzada en 2022). Está disponible en repositorios predeterminados de la última versión de Ubuntu, por lo que puede instalarlo ejecutando el comando a continuación:
$ sudo apt install mangohud
Puede instalar la última versión en Ubuntu y otras distribuciones de Linux descargando su nueva construcción desde aquí. Una vez descargado, extraiga el archivo y ejecute el siguiente comando para instalarlo:
ps ./mangohud-setup.Instalar SH
Ahora puede usar MangoHud con cualquier juego de Linux ejecutando un comando en el siguiente formato (reemplace la ruta del archivo):
$ Mangohud/Path/To/Game/Ejecutable/File
Si está ejecutando un juego desde el cliente Steam, acceda al cuadro de diálogo de propiedades del juego haciendo clic derecho en un título de juego instalado. En el campo "Opciones de lanzamiento", agregue el siguiente comando para habilitar MangoHud para ese juego:
$ MANGOHUD %Comando %
Por defecto, MangoHud muestra métricas de juego detalladas, como se muestra en la animación anterior. Si desea personalizar el tamaño y el diseño de la superposición, puede ajustar su extenso archivo de configuración siguiendo las instrucciones oficiales disponibles aquí.