Si usas Firefox en Linux con una tarjeta gráfica Nvidia, es posible que lleves tiempo lidiando con el mismo problema, la reproducción de vídeo sin aceleración por hardware, con el consiguiente consumo extra de CPU y batería. Firefox está a punto de resolver esto de raíz gracias a la nueva decodificación de vídeo Vulkan, una función que llegará en Firefox 153 y que promete acabar con la necesidad de configurar manualmente controladores adicionales solo para que el navegador aproveche tu GPU al reproducir contenido multimedia.
Hasta ahora, si querías que Firefox aprovechara la GPU de Nvidia para descomprimir vídeo en Linux, tenías que instalar y configurar por tu cuenta el paquete nvidia-vaapi-driver, una solución construida por la comunidad para suplir una carencia del propio navegador. Resulta que Firefox deshabilita la decodificación de vídeo por hardware para todos los dispositivos Nvidia en Linux de forma generalizada, sin distinguir entre modelos o generaciones, así que ese parche no oficial se había convertido en un paso casi obligado para cualquiera que quisiera ver vídeo sin sobrecargar el procesador. Al incorporar una ruta de decodificación Vulkan nativa directamente en su código, Firefox elimina la dependencia de esos arreglos externos y ofrece una solución integrada desde el propio navegador.
Es importante aclarar que Vulkan Video no es una tecnología exclusiva de Nvidia, sino una especificación abierta que pueden implementar distintos fabricantes de GPU. La implementación que está construyendo Firefox se apoya en el soporte de decodificación Vulkan que ya incluye FFmpeg, el proyecto que da soporte multimedia a una enorme cantidad de software libre. De hecho, el objetivo inicial de este desarrollo no eran las GPU Nvidia de escritorio, sino los chips Arm y las gráficas integradas, como forma de resolver un fallo documentado sobre la falta de decodificación de vídeo por hardware en sistemas Linux con arquitectura aarch64.
Un caso curioso relacionado con este trabajo es el de la propia DGX Spark de Nvidia, un ordenador de escritorio orientado a inteligencia artificial que utiliza arquitectura Arm y ejecuta Ubuntu. Pese a llevar el sello de Nvidia, este equipo carece actualmente de decodificación de vídeo por hardware en Firefox, ya que su chip GB10 no es compatible con las interfaces habituales VA-API o V4L2 que usa el navegador para este propósito. El informe de seguimiento que Mozilla mantiene abierto para solucionar ese caso concreto depende precisamente de que avance este mismo trabajo sobre vídeo Vulkan.
Por ahora, esta función no llegará activada por defecto cuando se publique Firefox 153 el 21 de julio, así que si quieres probarla tendrás que activarla manualmente. No existe todavía una lista oficial de GPU compatibles, porque Firefox comprueba el soporte Vulkan de tu tarjeta gráfica la primera vez que activas la función, de modo que la única manera de saber si funciona en tu caso es probarlo directamente. Necesitarás tener instalado el controlador propietario de Nvidia en su versión 595.x o posterior, junto con Firefox 153 en su canal beta o nightly, ya que la versión estable todavía no incluye esta opción.
Para activarla, abre la barra de direcciones y escribe about:config, acepta el aviso de advertencia y localiza las dos preferencias media.hardware-video-decoding-vulkan.enabled y media.hardware-video-decoding-vulkan.direct-export.enabled, cambiando ambas a true. Después reinicia Firefox y reproduce un vídeo que use un códec compatible, siendo H264 una opción segura para las primeras pruebas. Si quieres confirmar que la GPU está realmente trabajando, puedes vigilar su actividad con la herramienta nvtop mientras se reproduce el vídeo, o bien abrir una terminal y lanzar Firefox con la variable MOZ_LOG establecida en FFmpegVideo:5 para ver el registro detallado de lo que está haciendo el decodificador.
Como suele ocurrir con las funciones experimentales, ya han aparecido los primeros casos particulares que conviene tener en cuenta antes de activarla. En portátiles equipados con gráficos híbridos, es decir, una GPU integrada junto a una Nvidia discreta, algunos usuarios han reportado que la tarjeta discreta se activa de forma innecesaria mientras la decodificación de vídeo Vulkan está habilitada. Esto provoca pequeños tirones o cortes perceptibles al cambiar de espacio de trabajo mientras se está reproduciendo contenido, un efecto secundario relacionado con la gestión de energía entre las dos GPU más que con la decodificación en sí misma.
Mozilla no ha confirmado todavía en qué versión concreta de Firefox esta función pasará a estar activada por defecto para el público general. Lo que sí se sabe es que, incluso cuando llegue ese momento, el navegador seguirá aplicando comprobaciones para asegurarse de que solo los equipos con controlador y hardware Nvidia compatibles puedan hacer uso de ella, evitando así que usuarios con configuraciones no soportadas se encuentren con fallos inesperados.
Ver cómo una función que durante años dependió de un paquete externo mantenido por voluntarios termina integrándose de forma nativa en el navegador dice bastante sobre cómo evoluciona el software libre, casi siempre a partir de soluciones comunitarias que terminan señalando el camino que después toman los proyectos oficiales.
Añadir comentario
Comentarios