chromium-vaapi-fedora-cpu-usage

Chromium fue actualizado en Fedora con un parche que permite el soporte de VAAPI (Video Acceleration API). Cuando se utiliza VAAPI, la reproducción de vídeo debería ser más fluida, a la vez que se utiliza menos CPU y se mejora el uso de energía.

Aunque este parche fue rechazado por los mantenedores de Chromium, hay bastantes paquetes de terceros que incluyen el parche VAAPI, para Ubuntu, Arch Linux, y otros. Y ahora, Fedora incluye esto por defecto.

¿Por qué es tan importante? Por ejemplo, mi portátil (usando Chromium en Fedora 29) tenía un gran uso de la CPU al reproducir vídeos de YouTube, lo que provocaba que se calentara mucho mientras se agotaba la batería:

chromium-cpu-usage-fedora

Este es el mismo portátil de vídeo/Fedora, pero esta vez usando Chromium con decodificación de vídeo acelerada por hardware (VAAPI) habilitada, lo que muestra un uso mucho menor de la CPU:

chromium-vaapi-fedora-cpu-usage

Otra captura de pantalla que muestra las diferencias en el uso de la CPU mientras se reproduce un vídeo utilizando Firefox, Chromium sin el parche VAAPI y Chromium con VAAPI.

chromium-vaapi-fedora

Para los gráficos AMD, Chromium debería utilizar la decodificación de vídeo acelerada por hardware de forma predeterminada, pero no es el caso de los gráficos Intel, que requieren el paquete libva-intel-driver de RPM Fusion. En cuanto a Nvidia, no estoy seguro porque mi portátil Fedora utiliza gráficos Intel; pero lo más probable es que necesites un controlador vdpau-va parcheado para que funcione, como es el caso de Ubuntu.

Sin embargo, tanto para los gráficos Intel como para los AMD, si deseas habilitar la decodificación de vídeo acelerada por hardware para vídeos h264, deberás instalar un par de elementos adicionales. Esto se debe a que la versión Fedora Chromium no soporta h264 por defecto.

Algunas GPU más antiguas no admiten la descodificación de hardware para los códecs VP8/VP9. No hay nada que se pueda hacer al respecto – en tales casos, los vídeos VP8/VP9 no serán acelerados por hardware.

Un sitio web que utiliza VP8/VP9 por defecto es YouTube. Sin embargo, YouTube puede ser forzado a usar h264 en lugar de VP8/VP9, y así obtener decodificación de vídeo acelerada por hardware.

Las siguientes instrucciones explican cómo habilitar la decodificación de vídeo acelerada por hardware en Fedora con gráficos Intel, así como la habilitación para vídeos h264, tanto para gráficos Intel como AMD, y cómo forzar a YouTube a utilizar h264 en lugar de VP8/VP9. También encontrarás instrucciones sobre cómo comprobar si Chromium está utilizando decodificación de vídeo acelerada por hardware.

Requisitos previos:

  • El parche VAAPI fue agregado comenzando con Chromium 71 en Fedora, así que necesitas esta versión o más nueva (disponible en Fedora Rawhide y Fedora 29, en pruebas para Fedora 28 y EPEL 7).
  • Necesitas (?) usar la sesión de Xorg para que VAAPI trabaje con el navegador Chromium (para usuarios de GDM / GNOME, haz clic en el icono de cambio al lado del botón Iniciar sesión de la pantalla de inicio de sesión y selecciona GNOME en Xorg). Mi ordenador portátil con gráficos Intel no podía hacer uso de VAAPI bajo Wayland (XWayland) en Fedora 29, pero no estoy completamente seguro de que éste sea también el caso de los gráficos AMD.

I. Gráficos AMD / Intel: Habilita RPM Fusion e instala chromium-libs-media-freeworld para la compatibilidad con h264.

Mira estas instrucciones para instalar el repositorio RPM Fusion (descarga e instala el paquete para tu versión de Fedora o sigue las instrucciones de la línea de comandos). Una vez que RPM Fusion esté habilitado, instala el paquete chromium-libs-media-freeworld en tu sistema Fedora:

sudo dnf install chromium-libs-media-freeworld

II. Gráficos AMD / Intel: Forzar a YouTube a usar h.264 en lugar de VP8/VP9.

Instala la extensión h264ify Chrome para forzar a YouTube a transmitir vídeos h.264 en lugar de vídeos VP8/VP9.

Esto se debe a que, como he mencionado anteriormente, muchas GPU no admiten la descodificación por hardware para los códecs VP8/VP9, y éstos se utilizan de forma predeterminada en YouTube.

III. Sólo gráficos Intel: Instala los paquetes libva-intel-hybrid-driver y libva-intel-driver de RPM Fusion para que Chromium haga uso de VAAPI.

sudo dnf install libva-intel-driver libva-intel-hybrid-driver

Como nota al margen, la decodificación de vídeo acelerada por hardware y la decodificación de mjpeg acelerada por hardware para los indicadores de trama capturados están habilitadas de forma predeterminada en las versiones Fedora Chromium, por lo que no es necesario habilitarlas manualmente.

Cómo comprobar si Chromium utiliza decodificación de vídeo en la GPU

chromium-hardware-acceleration-fedora

Para comprobar si Chromium está utilizando decodificación de vídeo en la GPU, empieza por reproducir un vídeo en YouTube. A continuación, abre una nueva pestaña en Chromium e introduce lo siguiente en la barra de direcciones: chrome://media-internals

En la pestaña chrome://media-internals, haz clic en la url de vídeo (para expandirla), desplázate hacia abajo y mira en Propiedades del reproductor, y encontrarás la propiedad video_decoder. Si el valor del video_decodificador es GpuVideoDecoder, significa que el vídeo que se está reproduciendo actualmente en YouTube en la otra pestaña está utilizando decodificación de vídeo acelerada por hardware. También debes tener en cuenta que el uso de la CPU en Chromium es mucho menor cuando se reproducen vídeos.

Si dice FFmpegVideoDecoder o VpxVideoDecoder, la decodificación acelerada de vídeo no funciona, o quizás olvidaste instalar (o deshabilitar) la extensión h264ify Chrome o el paquete chromium-libs-media-freeworld de RPM Fusion.

 

Fuente: Original | maslinux

¿Quién está en línea?

Hay 71307 invitados y ningún miembro en línea