La versión de Firefox para Fedora ya cuenta con soporte para acelerar la decodificación de video a través de VA-API
El mantenedor de paquetes de Firefox para Fedora anunció que ya se encuentra listo el soporte para usar la aceleración de hardware para la decodificación de video de Firefox en Fedora utilizando la VA-API, ya que la aceleración hasta ahora solo funcionaba en entornos basados en Wayland, pues el soporte Chromium VA-API se implementó en Fedora el año pasado.
Este soporte que añadido de la aceleración de hardware de la decodificación de video en Firefox fue posible gracias al nuevo backend de Wayland, que utiliza el mecanismo DMABUF para dibujar texturas y organizar el intercambio de buffers con estas texturas por diferentes procesos.
Sí, finalmente está aquí. Un año y medio después de Tom Callaway , el Gerente de Ingeniería @ Red Hat agregó el parche a Chromium , también obtenemos reproducción de video acelerada por hardware para Firefox. Es una pena que haya tardado demasiado pero todavía estoy aprendiendo.
El soporte de VA-API en Firefox es un poco específico, ya que funciona en Wayland solo en este momento. No hay ninguna razón técnica para eso, simplemente no tengo tiempo suficiente para implementarlo para X11, por lo que el error 1619523 está esperando a hackers valientes.
Jonas Ådahl (Red Hat) me ayudó con el backend de Wayland desde el primer parche de Wayland hace cuatro años.
En Fedora 32 y Fedora 31, la nueva version de Firefox 77 incluye el nuevo backend por defecto cuando se ejecuta en la sesión de la base de datos GNOME en Wayland, pero para activar la decodificación de video acelerada por hardware también se requieren ciertos paquetes adicionales que deben estar instalados en el sistema: ffmpeg, libva y libva-utils repositorio RPM Fusion, recopilados con soporte VA-API.
En sistemas con tarjetas gráficas Intel, la aceleración solo funciona con el controlador libva-intel-driver (el controlador libva-intel-hybrid-driver aún no es compatible ).
Para las GPU AMD, la aceleración funciona si tiene la biblioteca estándar radeonsi_drv_video.so, que forma parte del paquete mesa-dri-drivers. Para las tarjetas gráficas NVIDIA, el soporte aún no se ha implementado. Para evaluar la compatibilidad con el controlador VA-API, puede usar la utilidad vainfo.
Si se confirma el soporte, para habilitar la aceleración en Firefox, en la página «about:config», se debe establecer las variables «gfx.webrender.enabled» y «widget.wayland-dmabuf-vaapi.enabled» en true.
Después de reiniciar el navegador, debe verificar la activación de WebRender y el nuevo backend (Wayland/drm) en la página sobre: soporte.
Después de eso, el usuario se debe asegurarse de que la VA-API se use para acelerar la visualización de video (puede haber problemas de compatibilidad con códecs, tamaños de video y bibliotecas), para lo cual se puede habilitar el modo de depuración iniciando Firefox con la variable de entorno MOZ_LOG y verificando la presencia de «VA- API FFmpeg init exitos.
MOZ_LOG = «PlatformDecoderModule: 5» MOZ_ENABLE_WAYLAND = 1 firefox
El uso de la aceleración cuando se ve Youtube depende de la forma en que se codifica la película (H.264, AV1, etc.).
Se puede ver el formato en el menú contextual del botón derecho en la sección «Estadísticas para nerds». Para seleccionar el formato compatible con el sistema de decodificación de video por hardware, puede utilizar el complemento-h264ify mejorado.
Por separado, se observa que los paquetes con Firefox 77.0 para Fedora incluyen parches adicionales que afectan el rendimiento y la estabilidad, que están ausentes en las compilaciones estándar de Firefox 77.0 de Mozilla. La inclusión de estos parches en la estructura principal se espera solo en Firefox 78.0 (los usuarios pueden usar la versión beta de Firefox 78 o las compilaciones nocturnas desde Mozilla iniciando el navegador con el comando «MOZ_ENABLE_WAYLAND = 1 ./firefox»).
Además, los compilados de Mozilla utilizan la biblioteca libvpx incorporada que no admite VA-API para la decodificación VP8 / VP9; si es necesaria la aceleración de la decodificación VP8 / VP9, libvpx debe desactivarse configurando la variable «media.ffvpx.enabled» en «about: config» false «(libvpx ya está deshabilitado en el paquete desde el repositorio de Fedora).
Finalmente si quieres conocer mas al respecto, puedes consultar la nota original en el sitio web oficial de Martin Stransky.