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 (principale sviluppatore del driver amdgpu), ha riconosciuto che la visualizzazione video su Linux è inefficiente in generale.
Attualmente, per la visualizzazione 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 aumenta le frequenze di funzionamento del core e della VRAM)
- Dati RGB
- Uscita al display.
Come dovrebbe funzionare:
- Flusso video compresso
- VCN
- Dati YUV grezzi
- Controller del display, che convertirà la palette, scalerà e visualizzerà.
Questo problema può essere affrontato in modo più efficace nei compositori Wayland, ma al momento non ci sono implementazioni. Questo problema è stato risolto in Microsoft Windows e Google Android, poiché dispongono di compositori singoli completi che offrono le relative funzionalità e API, cosa che attualmente manca in Linux, poiché né X.org né Wayland possono lavorare direttamente con flussi YUV.
Fonte: opennet.ru
