Vid diskussionen om felet relaterat till den relativt höga energiförbrukningen jämfört med Windows på AMD APU med hårdvaruavkodning av video, erkände ingenjören från AMD, Alex Deucher (huvudutvecklare av amdgpu-drivrutinen), att videovisning i Linux inte är effektiv.
För videoutgång i Linux används för närvarande följande kedja:
- Kompresserad videoström
- VCN (modul för hårdvaruavkodning av video för AMD GPU)
- Råa YUV-data
- Palettekonvertering, skalning på GFX-modulen (i princip 3D-accelerator i GPU:n, vilket får den att öka klockfrekvenserna för både kärnan och VRAM)
- RGB-data
- Utdata till skärmen.
Så här bör det fungera:
- Kompresserad videoström
- VCN
- Råa YUV-data
- Skärmstyraren, som kommer att konvertera paletten, skala och visa.
Detta kan lösas mer effektivt i Wayland-kompositörer, men för tillfället finns det ingen implementation. Detta problem är löst i Microsoft Windows och Google Android, eftersom det där finns fullt fungerande enskilda kompositörer som erbjuder motsvarande funktioner och API — vilket saknas i Linux, eftersom varken X.org eller Wayland kan hantera YUV-strömmar direkt.
Källa: opennet.ru
