Cómo mostrar el contador de FPS en juegos de Linux

How Show Fps Counter Linux Games



Los juegos de Linux tuvieron un gran impulso cuando Valve anunciada Soporte de Linux para el cliente Steam y sus juegos en 2012. Desde entonces, muchos juegos AAA e independientes han llegado a Linux y el número de usuarios que juegan en Linux ha aumentado considerablemente.

Con el crecimiento de los juegos de Linux, muchos usuarios comenzaron a buscar formas adecuadas de mostrar el contador de cuadros por segundo (FPS) como una superposición en la ejecución de juegos de Linux. Un contador de FPS ayuda a ajustar el rendimiento de los juegos en ejecución, así como a evaluar la capacidad general de una PC para jugar a diferentes resoluciones.







Desafortunadamente, no existe una forma unificada de mostrar el contador de FPS en todos los juegos de Linux que sea independiente de las tecnologías subyacentes en las que se ejecuta un juego. Los diferentes renderizadores y API tienen diferentes formas de mostrar el contador de FPS. Esta guía explicará varios métodos que se pueden utilizar para mostrar un contador de FPS en juegos de Linux.



Notas de compatibilidad:



  • Funciona con juegos OpenGL y Vulkan.
  • Funciona con juegos nativos y Protón Proton es una capa de compatibilidad incluida en Steam para ejecutar juegos de Windows en Linux. Está basado en Vino , DXVK y D9VK proyectos de código abierto con parches adicionales y nuevas funciones agregadas por los desarrolladores de Valve / Wine.
  • Funciona con juegos comprados en Steam o juegos de terceros agregados a Steam por el usuario.
  • Probado en funcionamiento con tarjetas gráficas Intel y AMD integradas.
  • Sin probar con tarjetas NVIDIA porque no tengo una tarjeta NVIDIA. Pero según los foros de la comunidad Steam, el contador de fps incorporado funciona bien en las tarjetas NVIDIA.

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 del motor Unity que no mostraban el contador de FPS incorporado. Esta opción también requiere que tenga una cuenta de Steam y un cliente de Steam instalados en su sistema.







Steam incluso te permite agregar juegos no comprados en Steam a la biblioteca de juegos y el contador de FPS incorporado también funciona en estos juegos. Para agregar un juego que no sea de Steam, haga clic en Juegos y luego haga clic en Agregar un juego que no sea de Steam a Mi biblioteca, como se muestra en la siguiente captura de pantalla:

Busque la ubicación de los archivos de su juego y luego active 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 solo para Windows en la capa de compatibilidad Proton de Steam, deberá habilitar una opción adicional en las propiedades del juego.

He agregado el ejecutable SuperTuxKart en la biblioteca de Steam, y el contador de FPS también funciona bien aquí. Tenga en cuenta que los juegos de terceros que se agreguen a la biblioteca de Steam no deben tener espacios en la ruta de ubicación del archivo.

Método 2 (LibGL)

Notas de compatibilidad:

  • Funciona solo con juegos OpenGL.
  • Funciona con juegos nativos y juegos Wine.
  • Probado en funcionamiento con tarjetas gráficas Intel y AMD integradas con controladores de código abierto.
  • Sin probar con tarjetas NVIDIA porque no tengo una tarjeta NVIDIA. Sin embargo, debería funcionar con GPU NVIDIA con controladores de código abierto.

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 una pantalla visible, mostraremos un contador de FPS en los juegos de Linux. Ejecute el siguiente comando para instalar el paquete requerido:

sudoaptoInstalar en pcxosd-bin

Para mostrar el contador de FPS en juegos nativos de Linux, use el siguiente comando después de reemplazar / ruta / a / ejecutable con su propia ruta ejecutable del juego. Puede obtener más información sobre todas las opciones de osd-cat en aquí .

LIBGL_SHOW_FPS = 1 / ruta / al / 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 = left

Para mostrar el contador de FPS en los juegos de Windows que se ejecutan en Linux a través de Wine, use el siguiente comando después de reemplazar / ruta / a / ejecutable con su propia ruta ejecutable del juego.

WINEDEBUG = fps wine / ruta / al / ejecutable 2> & 1 | tee / dev / stderr |
sed -u -n -e '/ trace / s /.* approx // p' | osd_cat --lines = 1 --color = amarillo
--outline = 1 --pos = top --align = center

Si está utilizando un prefijo de Wine, el comando sería (reemplace / ruta / a / vino / prefijo y / ruta / a / ejecutable):

WINEDEBUG = fps WINEPREFIX = / ruta / a / vino / prefijo vino
/ ruta / al / ejecutable 2> & 1 | tee / dev / stderr | sed -u -n -e '/ trace / s /
. * aprox // p '| osd_cat --lines = 1 --color = amarillo --outline = 1 --pos = top
--align = centro

Este método tiene una pequeña limitación. Si bien puedes personalizar el HUD de 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 anterior, el contador de FPS se muestra arriba de 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 (Galio3D)

  • Funciona solo con juegos OpenGL.
  • Funciona con juegos nativos y juegos Wine.
  • Probado en funcionamiento con tarjetas gráficas AMD con controladores de código abierto.
  • La compatibilidad con Gallium3D para Intel está en curso, por lo que aún no funciona.
  • Sin probar con tarjetas NVIDIA porque no tengo una tarjeta NVIDIA. Dado que el controlador de código abierto de NVIDIA está habilitado para Gallium3D, este método debería funcionar.
  • Galio3D es una API que facilita el desarrollo de controladores para tarjetas gráficas al proporcionar un conjunto de bibliotecas e interfaces estándar. Los controladores de código abierto AMD y NVIDIA se basan en Gallium3D.

    Para mostrar el contador de FPS en juegos nativos de Linux, use el siguiente comando después de reemplazar / ruta / a / ejecutable con su propia ruta ejecutable del juego:

    GALLIUM_HUD='simple, fps' /sendero/para/ejecutable

    Para mostrar el contador de FPS en los juegos de Windows que se ejecutan en Linux a través de Wine, use el siguiente comando después de reemplazar / ruta / a / ejecutable con su propia ruta ejecutable del juego.

    GALLIUM_HUD='simple, fps' vino /sendero/para/ejecutable

    Si está utilizando un prefijo de Wine, el comando sería (reemplace / ruta / a / vino / prefijo y / ruta / a / ejecutable):

    GALLIUM_HUD = 'simple, fps' WINEPREFIX = / ruta / a / vino / prefijo vino / ruta / a / ejecutable

    En la captura de pantalla anterior, estoy usando una variable GALLIUM_HUD personalizada que también muestra las temperaturas de la GPU y la CPU. Este comando personalizado es diferente para diferentes configuraciones de PC. Para leer más sobre todas las opciones de personalización, ejecute los comandos:

    sudoaptoInstalar en pcmesa-utils
    GALLIUM_HUD=ayudaglxgears

    Solo como referencia, aquí está el comando personalizado que usé en las capturas de pantalla anteriores:

    GALLIUM_HUD='simple, fps; sensores_temp_cu-amdgpu-pci-1c00.temp1;
    sensores_temp_cu-k10temp-pci-00c3.Tdie '
    /sendero/para/ejecutable

    Method 4 (Mesa Vulkan Overlay)

    Notas de compatibilidad:

    • Funciona solo con juegos Vulkan.
    • Funciona solo con Ubuntu 19.10+ y otras distribuciones que tienen el último Mesa con capa de superposición vulkan.
    • Funciona con juegos nativos y juegos Steam Proton que se ejecutan con soporte DXVK / D9VK.
    • Funciona con juegos de Wine que se ejecutan con bibliotecas DXVK / D9VK.
    • Estado de trabajo desconocido para Wine Vkd3d . Dado que esta es una capa de Vulkan, debería funcionar con cualquier cosa siempre que Mesa esté construido con soporte VK_LAYER_MESA_overlay.
    • Probado en funcionamiento con tarjetas gráficas AMD y tarjetas Intel integradas con controladores de código abierto.
    • Sin probar con tarjetas NVIDIA porque no tengo una tarjeta NVIDIA. Dado que esta es una capa de Vulkan, debería funcionar con cualquier cosa siempre que Mesa esté construido con soporte VK_LAYER_MESA_overlay.

    Mesa Vulkan overlay es una nueva capa de Vulkan agregada a las compilaciones recientes de Mesa. Muestra información diversa sobre la aplicación en ejecución mediante una superposición.

    Para mostrar el contador de FPS en juegos nativos de Linux, use el siguiente comando después de reemplazar / ruta / a / ejecutable con su propia ruta ejecutable del juego:

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG = position = top-left / path / to / ejecutable

    Para mostrar el contador de FPS en juegos de Windows que se ejecutan en Linux a través de Wine y DXVK, use el siguiente comando después de reemplazar / ruta / a / ejecutable con su propia ruta ejecutable del juego:

    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 Wine, el comando sería (reemplace / ruta / a / vino / prefijo y / ruta / a / ejecutable):

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay
    VK_LAYER_MESA_OVERLAY_CONFIG = posición = arriba a la izquierda
    WINEPREFIX = / ruta / a / vino / prefijo vino / ruta / a / ejecutable

    Método 5 (DXVK HUD)

    Notas de compatibilidad:

    • Funciona solo con juegos Vulkan que se ejecutan en Wine y Proton con librerías DXVK / D9VK.
    • Probado en funcionamiento con tarjetas gráficas AMD e Intel integradas con controladores de código abierto.
    • Sin probar con tarjetas NVIDIA porque no tengo una tarjeta NVIDIA. El código fuente tiene confirmaciones que mencionan la compatibilidad con NVIDIA, por lo que este método debería funcionar.

    DXVK proporciona una capa de traducción basada en Vulkan para D3D10 y D3D11 que permite a los usuarios jugar juegos Direct3D 10/11 en Linux. D9VK usa el backend DXVK para proporcionar una implementación adicional de Direct3D9 que se puede usar para jugar juegos basados ​​en D3D9.

    Para mostrar el contador de FPS en juegos DXVK que se ejecutan en Linux a través de Wine, use el siguiente comando después de reemplazar / ruta / a / ejecutable con su propia ruta ejecutable del juego:

    DXVK_HUD=fpsvino /sendero/para/ejecutable

    Si está utilizando un prefijo de Wine, el comando sería (reemplace / ruta / a / vino / prefijo y / ruta / a / ejecutable):

    DXVK_HUD=fpsPREFIJO DEL VINO=/sendero/para/vino/prefijovino /sendero/para/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 son de Steam explicados anteriormente también funcionarán para los juegos de Steam. Debe reemplazar / ruta / a / ejecutable o vino / ruta / a / ejecutable o WINEPREFIX = / ruta / a / vino / prefijo vino / ruta / a / ejecutable con% command% en los mismos comandos utilizados anteriormente. Simplemente agregue el comando completo para iniciar las opciones en las propiedades del juego dentro de la aplicación Steam, como se muestra en la captura de pantalla a continuación: