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.
Método 1 (vapor)
Notas de compatibilidad:
- Funciona con juegos OpenGL y Vulkan.
- Funciona con juegos nativos y Proton Proton es una capa de compatibilidad incluida en Steam para ejecutar juegos de Windows en Linux. Se basa en proyectos de código abierto Wine, DXVK y D9VK con parches adicionales y nuevas características 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.
- No probado 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 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 que no hayas comprado 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 captura de pantalla a continuación:
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 agregados 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.
- No probado 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:
sudo apt instalar xosd-binPara 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 conocer más sobre todas las opciones de osd-cat desde 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 = amarillo --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 /.* aprox // p '| osd_cat --lines = 1 --color = amarillo
--contorno = 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
--alinear = centro
Este método tiene una pequeña limitación. Si bien puede 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)
Gallium3D 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: Para mostrar el contador de FPS en 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. Si está utilizando un prefijo de Wine, el comando sería (reemplace / ruta / a / vino / prefijo y / 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: Solo como referencia, aquí está el comando personalizado que usé en las capturas de pantalla anteriores: Notas de compatibilidad: La superposición de Mesa Vulkan es una nueva capa de Vulkan agregada a las compilaciones recientes de Mesa. Muestra diversa información 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: 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: Si está utilizando un prefijo de Wine, el comando sería (reemplace / ruta / a / vino / prefijo y / ruta / a / ejecutable): Notas de compatibilidad: 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: Si está utilizando un prefijo de Wine, el comando sería (reemplace / ruta / a / vino / prefijo y / ruta / a / 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 "% comando%" en el mismos comandos usados arriba. 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:
GALLIUM_HUD = ayuda glxgears
sensores_temp_cu-k10temp-pci-00c3.Tdie "/ ruta / a / ejecutable Método 4 (superposición de Mesa Vulkan)
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)