MangoHud es una herramienta de superposición (overlay) para Vulkan y OpenGL con el objetivo de monitorizar FPS, temperatura, carga de CPU/GPU, y más. |
- Requiere Drivers Open-Source (Nvidia Prime no soportado)
- Funciona únicamente con OpenGL (Vulkan no soportado)
NOTA: Esta publicación es válida para portátiles con gráficos híbridos equipados con un dGPU AMD o Nvidia.
NOTA: Esta publicación es válida para portátiles con gráficos híbridos que utilizan drivers Open-Source y/o privativos.
ADVERTENCIA: Esta publicación NO es válida para portátiles con gráficos híbridos que utilizan el driver Open-Source "radeon".
- mesa-utils
- vulkan-tools
- vulkan-utils
- mesa-utils ("sudo apt install mesa-utils")
- vulkan-tools ("sudo apt install vulkan-tools")
- vulkan-utils ("sudo apt install vulkan-utils")
Monitorizando glxgears con MangoHud en la gráfica dedicada. |
- Altamente personalizable
- Compatible con Vulkan y OpenGL
- Compatible con drivers Open-Source y privativos ("amdgpu", "amdgpu-pro", "nouveau", "nvidia")
- De código abierto
- Constante desarrollo
- Carece de interfaz gráfica para la personalización
- Incompatible para mostrar todos los parámetros con GPUs AMD antiguos (driver Open-Source "radeon")
- Problemas de detección de parámetros al poseer múltiples GPUs (en portátiles como en PCs de escritorio)
- Problemas de detección de parámetros al poseer un APU con/sin dGPU (en portátiles como en PCs de escritorio)
[1]. Ingresar a un terminal.
[2]. Escribir el siguiente comando:
- lspci | grep VGA
[3]. Tomar nota del PCI-ID
Estoy utilizando el APU A8-7600. |
[4]. Escribir el siguiente comando (en este caso, el PCI-ID corresponde a 00:01.0):
- lspci -v -s 00:01.0
[5]. Verificar si la línea "Kernel driver in use:" presenta como salida un driver incompatible.
El terminal muestra que el driver "radeon" se encuentra en uso y por lo tanto es incompatible con MangoHud. |
[1]. Ingresar a un terminal.
[2]. Escribir el siguiente comando:
- sudo apt install cpu-x
[3]. Proporcionar la contraseña de administrador y proceder con la instalación.
[4]. Desde el lanzador de aplicaciones, ejecutar CPU-X como Root.
[5]. Ingresar a la pestaña "Graphics" y verificar si la línea "Vendor" presenta como salida un driver incompatible.
CPU-X es la alternativa a CPU-Z. |
[1]. Desde el lanzador de aplicaciones, ejecutar "kinfocenter".
[2]. Desplegar la opción "Información sobre gráficos" y dar clic a "OpenGL".
[3]. Verificar si la línea "Módulo de núcleo" presenta como salida un driver incompatible.
Kinfocenter muestra que el driver en uso es "radeon". |
Según la salida, "amdgpu" es compatible con el APU A8-7600. |
ADVERTENCIA: Este procedimiento puede no funcionar en otros equipos, tomar las precauciones del caso.
[1]. Abrir un terminal.
[2]. Escribir el siguiente comando:
- kate /etc/default/grub
NOTA: Si utilizan otras distribuciones de GNU/Linux, pueden instalar "gedit" o simplemente usar otro editor de texto (también es válido el editor del terminal, nano), en mi caso utilizo "kate" por comodidad.
[3]. Buscar la siguiente línea:
- GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
[4]. Reemplazar la línea anterior por:
- GRUB_CMDLINE_LINUX_DEFAULT="quiet splash radeon.cik_support=0 amdgpu.cik_support=1 radeon.si_support=0 amdgpu.si_support=1"
Modificando las opciones del GRUB. |
[5]. Guardar los cambios y cerrar el editor de texto.
[6]. Escribir el siguiente comando:
- sudo update-grub
[7]. Reiniciar el equipo
Resultado del terminal mostrando el driver "amdgpu" en uso. |
CPU-X mostrando el nombre del driver "amdgpu". |
NOTA: Al utilizar Nvidia-Prime Performance (Privativo), MangoHud trabaja únicamente con el GPU principal, en este caso Nvidia y no presentará el problema.
MangoHud monitorizando el dGPU por más que sea de interés monitorizar el iGPU. El nombre del GPU renderizador se encuentra mal detectado. |
Interfaz gráfica de GOverlay. |
- Interfaz gráfica fácil de utilizar
- Previsualización
- Integración con glxgears y vkcube
- La compilación genera un ejecutable portable
- Permite habilitar/deshabilitar MangoHud/vkBasalt globalmente para aplicaciones Vulkan
- De código abierto
- Constante desarrollo
- El ejecutable no se encuentra realmente instalado
- El ejecutable (producto de la compilación) deja de responder por unos segundos al guardar los cambios a diferencia de la versión Release-Portable
- No permite habilitar/deshabilitar MangoHud/vkBasalt globalmente para aplicaciones OpenGL
- Algunas opciones se encuentran limitadas (sólo permite algunas combinaciones de teclas para activar/desactivar el HUD, etc.)
[1]. Abrir un terminal.
[2]. Instalar la dependencia "git":
- sudo apt install git
[3]. Clonar el repositorio de "MangoHud" e ingresar a la carpeta clonada:
- git clone --recurse-submodules https://github.com/flightlessmango/MangoHud.git
- cd MangoHud
[4]. Iniciar la compilación:
- ./build.sh build
- ./build.sh package
NOTA: Antes de iniciar la compilación, se pedirá instalar las dependencias faltantes.
[5]. Iniciar la instalación:
- ./build.sh install
[6 - Adicional]. Ingresar el siguiente comando:
- sudo update-pciids
[7 - Adicional]. Copiar el archivo "pci.ids" a la carpeta "hwdata":
- sudo cp /usr/share/misc/pci.ids /usr/share/hwdata/
NOTA: La carpeta "hwdata" debe ser creada si no existiera.
NOTA: Se requieren permisos de administrador.
Apertura en |
API |
Prefijo 1 (environment variable) |
Prefijo 2 |
Terminal / Lutris |
OpenGL |
- |
mangohud |
Vulkan |
MANGOHUD=1 |
mangohud |
|
Lanzador de aplicaciones |
OpenGL |
- |
env mangohud |
Vulkan |
env MANGOHUD=1 |
env mangohud |
|
Aplicación/juego de Steam |
OpenGL |
- |
mangohud %command% |
Vulkan |
MANGOHUD=1 %command% |
mangohud %command% |
[1]. Abrir un terminal e ingresar el comando:
- mangohud glxgears
[1]. Abrir un terminal e ingresar el comando:
- MANGOHUD=1 vkcube
[1]. Abrir Steam.
[2]. Ingresar a la "Propiedades" del juego.
[3]. Clic en "DEFINIR PARÁMETROS DE LANZAMIENTO"
[4]. Ingresar el siguiente prefijo:
- mangohud %command%
[5]. Iniciar la aplicación.
[1]. Abrir Steam.
[2]. Ingresar a la "Propiedades" del juego.
[3]. Clic en "DEFINIR PARÁMETROS DE LANZAMIENTO"
[4]. Ingresar cualquiera de los siguientes prefijos:
- mangohud %command%
- MANGOHUD=1 %command%
[5]. Iniciar la aplicación.
API |
PRIME (AMD y Nvidia) |
Nvidia-Prime On-Demand (Prime Render Offload) |
Nvidia Prime Performance |
OpenGL |
DRI_PRIME=1 |
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia |
- |
Vulkan |
DRI_PRIME=1 |
__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only |
- |
[1]. Abrir un terminal e ingresar el comando:
- mangohud __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxgears
[1]. Abrir un terminal e ingresar el comando:
[1]. Abrir Steam.
[2]. Ingresar a la "Propiedades" del juego.
[3]. Clic en "DEFINIR PARÁMETROS DE LANZAMIENTO"
[4]. Ingresar el siguiente prefijo:
- mangohud __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia %command%
Configurando Tomb Raider 2013 (OpenGL) |
Monitorizando Tomb Raider 2013 (OpenGL) con MangoHud |
[1]. Abrir Steam.
[2]. Ingresar a la "Propiedades" del juego.
[3]. Clic en "DEFINIR PARÁMETROS DE LANZAMIENTO"
[4]. Ingresar cualquiera de los siguientes prefijos:
- ### Limit the application FPS
- fps_limit=60
- ### Display the current CPU information
- cpu_stats
- cpu_temp
- # cpu_text = "CPU"
- ### Display the current GPU information
- gpu_stats
- gpu_temp
- gpu_core_clock
- gpu_mem_clock
- gpu_name
- # gpu_power
- # gpu_text = "GPU"
- vulkan_driver
- engine_version
- ### Display loaded MangoHud architecture
- arch
- ### Display the frametime line graph
- frame_timing
- #histogram
- ### Change the hud font size (default is 24)
- font_size=22
- # font_scale_media_player = 0.55
- ### Change the hud position (default is top-left)
- position=top-left
- ### Display the current CPU load & frequency for each core
- # core_load
- ### Display system ram / vram usage
- ram
- vram
- ### Hud transparency / alpha
- background_alpha=0.5
- # alpha=
- ### Change toggle keybinds for the hud & logging
- toggle_hud=Shift_L+1
- #toggle_logging=Shift_L+F2
- reload_cfg=Shift_L+2
NOTA: El símbolo "#", al inicio de cada línea, significa que dicha línea es un comentario y todo lo escrito ahí será ignorado por MangoHud.
NOTA: Según la línea 46, la combinación de teclas [Shift_Izquierda]+[1] activará/desactivará el overlay. Es posible asignar la combinación de teclas que deseen a la variable "toggle_hud".
- /home/usuario/.config/MangoHud/
Donde:usuario: Es el nombre del usuario local, en mi caso es "nestor" (sin las comillas).
NOTA: Existen otras formas de configurar MangoHud, pero esta es la más fácil.
Monitorizando Resident Evil 2 Remake (DXVK) con MangoHud personalizado. |
NOTA: Un requisito es instalar vkBasalt, pero no es necesario si únicamente desean monitorizar los parámetros a través del overlay.
NOTA: Es obligatorio instalar MangoHud.
[1]. Abrir un terminal.
[2]. Ingresar el siguiente comando y proceder a su instalación:
- sudo apt install mesa-demos vulkan-tools meson
[3]. Clonar el repositorio "vkBasalt" e ingresar a la carpeta clonada:
- git clone https://github.com/DadSchoorse/vkBasalt.git
- cd vkBasalt
[4]. Iniciar la compilación:
- meson --buildtype=release --prefix=/usr builddir
- ninja -C builddir install
NOTA: Durante el proceso de compilación se pedirá ingresar la contraseña de administrador.
[1]. Abrir un terminal.
[2]. Ingresar el siguiente comando y proceder a su instalación:
- sudo apt install lazarus
[3]. Clonar el repositorio "GOverlay" e ingresar a la carpeta clonada:
- git clone https://github.com/benjamimgois/goverlay.git
- cd goverlay
[4]. Iniciar la compilación:
- lazbuild -B goverlay.lpi
[5]. Iniciar el ejecutable generado:
- ./goverlay
[1]. Ingresar al siguiente enlace:
[2]. Descargar el archivo ".xz" correspondiente a la última versión (o la de su preferencia). En este ejemplo se descarga el archivo:
- goverlay_0_3_8.tar.xz
[3]. Ingresar a la carpeta donde se encuentra el archivo descargado y extraer su contenido de forma gráfica o mediante el comando:
- tar -zxvf goverlay*.tar.xy
[4]. Abrir el ejecutable mediante doble clic o el comando:
- ./goverlay
NOTA: Para extraer y abrir el ejecutable mediante un terminal, se deberá usar la ruta del archivo de interés (comando "cd").
NOTA: Los pasos son para una distribución con interfaz gráfica KDE Plasma. El procedimiento es similar con Gnome.
[1]. Clic derecho en el lanzador de aplicaciones y clic en "Editar aplicaciones".
[2]. Localizar en qué categoría crear el lanzador y clic en "Nuevo elemento..." (en este ejemplo, uso la categoría "Gráficos").
Creando el lanzador de GOverlay. |
[3]. Agregar la información de interés: "Nombre", "Icono" y "Orden" (también llamado "Acción"). "Orden" corresponde a la localización del ejecutable, en mi caso es:
- /home/nestor/.nestor-utils/Programas/goverlay
Propiedades del lanzador. |
[4]. Clic en "Guardar"
[5]. Buscar la aplicación en el lanzador.
Ahora, GOverlay cuenta con su lanzador. |
[1]. Abrir GOverlay.
[2]. Configurar y seleccionar las opciones de interés, por ejemplo: límite de FPS, sincronización vertical para OpenGL/Vulkan, combinación de teclas para activar/desactivar el HUD, activar/desactivar los distintos parámetros de interés a ser monitoreados, tamaño de fuente, color de fuente, etc.
[3]. Clic en "Save".
[4 - Opcional]. Clic en "Run" para mostrar la previsualización en "glxgears" (OpenGL) y "vkcube" (Vulkan).
Vista previa del overlay. |
[5]. Iniciar MangoHud normalmente para cada aplicación tal como se mostró en el capítulo VIII.
Si la aplicación es Vulkan/DXVK es posible.Si la aplicación es OpenGL, el prefijo es obligatorio para cada aplicación.
[1]. Ingresar a GOverlay.
[2]. En la pestaña "MangoHud", activar la opción "Global Enable".
"Global Enable" se encuentra desactivado por defecto. |
[3]. Reiniciar el equipo para que los cambios surtan efecto.
NOTA: Cerrar y volver a abrir sesión tiene el mismo efecto que reiniciar, solo que este último asegura la compatibilidad. Cerrar sesión es exclusivo si desean ganar tiempo.