Durante la discussione su un errore relativo al consumo di energia relativamente alto rispetto a Windows su APU AMD con supporto per la decodifica video hardware, l'ingegnere di AMD, Alex Deucher (sviluppatore principale del driver amdgpu), ha riconosciuto che la visualizzazione video su Linux è in linea di principio inefficiente.
Attualmente, per l'output video su Linux viene utilizzato il seguente processo:
- Flusso video compresso
- VCN (modulo di decodifica video hardware per GPU AMD)
- Dati YUV grezzi
- Conversione della palette, scaling nel modulo GFX (essenzialmente un acceleratore 3D nella GPU, che ne aumenta la frequenza di funzionamento del core e della VRAM)
- Dati RGB
- Output sul display.
Come dovrebbe funzionare:
- Flusso video compresso
- VCN
- Dati YUV grezzi
- Controller del display che convertirà la palette, scalerà e visualizzerà.
Questa questione potrebbe essere affrontata in modo più efficace nei compositori Wayland, ma attualmente non esiste una realizzazione. Questo problema è risolto in Microsoft Windows e Google Android, poiché lì ci sono compositori singoli completi che offrono le corrispondenti funzionalità e API, cosa che attualmente non è presente in Linux, poiché né X.org né Wayland possono lavorare direttamente con i flussi YUV.
Fonte: opennet.ru
