Al discutir un error relacionado con el consumo de energía relativamente alto en comparación con Windows en el APU AMD con soporte para la decodificación de video por hardware, el ingeniero de AMD, Alex Deucher (desarrollador principal del controlador amdgpu), reconoció que la representación de video en Linux es, en principio, ineficiente.
Para la reproducción de video en Linux, actualmente se utiliza la siguiente cadena:
- Flujo de video comprimido
- VCN (módulo de decodificación de video por hardware para GPU AMD)
- Datos YUV sin procesar
- Conversión de paleta, escalado en el módulo GFX (prácticamente un acelerador 3D en la GPU, que hace que los núcleos y la VRAM aumenten su frecuencia de trabajo)
- Datos RGB
- Salida a la pantalla.
Cómo debería funcionar:
- Flujo de video comprimido
- VCN
- Datos YUV sin procesar
- Controlador de pantalla, que convertirá la paleta, escalará y mostrará.
Esto podría resolverse de manera más eficiente en los compositores de Wayland, pero aún no hay implementación. Este problema ya está resuelto en Microsoft Windows y Google Android, donde hay compositores únicos completos que proporcionan las capacidades y API correspondientes, lo cual no existe actualmente en Linux, ya que ni X.org ni Wayland pueden manejar flujos YUV directamente.
Fuente: opennet.ru
