Vylepšení podpory videa v PipeWire, nový ovladač pro ATI Radeony 9000

3. 10. 2021
Doba čtení: 4 minuty

Sdílet

 Autor: Depositphotos
LLVM 13.0 přináší binární balíček Flang a vylepšený OpenCL Clang, ARMv9 a GNU GCC, Intel zkoumá možnosti synchronizovaného plánovače CPU+GPU na Linuxu, I/O rozhraní Linuxu umí dokonce 5,1M IOPS/jádro.

LLVM 13.0 přináší binární balíček Flang a vylepšený OpenCL Clang

Několik nových vlastností, které se v projektu LLVM nashromáždily v průběhu posledních měsíců, tvoří jádro nově vydané verze 13.0. Najdeme zde tedy Flang neboli Fortran front-end, a to jako oficiální binární balíček, dále pak LLDB jako předpřipravenou binárku a nakonec počáteční podporu assembleru pro Armv9-A Realm Management Extension (RME) a Scalable Matrix Extension (SME).

Řadu vylepšení dostala podpora OpenCL v Clangu (používá nyní v základu OpenCL C v1.2), a to včetně rané podpory pro OpenCL C 3.0. Clang dále podporuje loop transformation directivy z OpenMP 5.1, vylepšení se dočkal jeho static analyzer, LLVM-MCA pak podporuje in-order procesory. LLDB nabízí podporu přístupu do registrů AArch64 SVE, AArch64 Pointer Authentication a plný debugging skrze MTE. Backend AMDGPU přináší podporu APU třídy GFX1013/RDNA2 a přibyl scheduler pro Zen 3.

ARMv9 a GNU / GCC

Vedle výše uvedeného se také zlepšuje podpora ARMv9 v GNU Compiler Toolchain. V ARMu na podpoře nejnovější architektury v GNU, resp. GCC pracuje řada lidí. Před pár dny první commity zprovozňují podporu v GNU Binutils (přibývá armv9-a do -march pro GNU Assembler a také GAS Cortex-X2, Cotex-A510 a Cortex-A710). Git projektu GCC dostává tomu odpovídající novinky též a lze předpokládat, že podpora bude doladěna pro vydání GCC 12 později v průběhu příštího roku.

Radeony 9000 dostanou vylepšený ovladač

Fanoušci hardwarové archeologie jistě potěší, že Radeony generace R300, tedy modely řady Radeon 9000 až Radeon X600 ještě od kanadské ATI, čeká lepší ovladač. Téměř 20 let stará GPU již nejsou podporována současnými ovladači, ale díky open-source mohou žít dále (jistě k tomu přispívá i skutečnost, že mnohé z karet již jsou vybaveny PCI Express rozhraním.

Každopádně do ovladače míří opravy a aktualizace týkající se věcí, které nebyly nikdy dotaženy (Phoronix zmiňuje textury s TGSI – Tungsten Graphics Shader Infrastructure, jazyk pro popis shaderů). Celkem už letos do ovladače R300/Gallium3D připutovalo 14 aktualizací, povětšinou ale dosud šlo o různé kosmetické opravy překlepů apod. Podobně na tom s tempem úprav je následný ovladač R600g zahrnující podporu Radeonů HD 2000 až 6000.

Vylepšení podpory videa v PipeWire

V Red Hatu, resp. Fedora týmu vznikají nová vylepšení pro PipeWire, která se tentokrát (po přechodu zvukového systém ve Fedoře z PulseAudio / JACK na PipeWire) týkají videa. Práce vede nadále tvůrce projektu PipeWire, vývojář Wim Taymans. Tentokrát se můžeme těšit na vylepšení zachytávání videa na Linuxu/PipeWire, projekt by měl integrovat podporu libcamera, vylepšit propojení s GStreamerem a díky spolupráci s projekty Chrome/Chromium a Firefox i podporu webových prohlížečů v oblasti webové kamery atd. Souběžně Red Hat pokukuje v rámci linuxové komunity po testerech, kteří by pomohli novou funkcionalitu odladit.

Podrobnosti shrnuje Christian Schaller na svém blogu. Obecně nyní platí, že zejména u webových kamerek se zachytávání videa odehrává pomocí kernelového API V4L2, které dobře po léta sloužilo, nicméně stejně jako se dnes nepíší zvukové aplikace přímo pro rozhraní ALSA, bude lepší tak nadále nekonat pro V4L2 a přejít rovnou na univerzální PipeWire. To totiž může nabídnout lepší flexibilitu, zabezpečení a poradit si s videem stejně dobře jako nyní s audiem. V4L2 samo podporuje pouze 1 připojení, ale je možné k němu přistupovat přes GStreamer či PipeWire pluginy – a podobě jako není cílem PipeWire nahradit systém ALSA, spíše jej doplnit, není novým cílem prací na PipeWire vyřadit V4L2 z existence. Celkovou vizi shrnuje schéma.

bitcoin_skoleni

Intel zkoumá možnosti synchronizovaného plánovače CPU+GPU na Linuxu

Tým kernelových vývojářů v Intelu si pohrává s úpravami linuxového jádra, které by vedly ke zlepšení v oblasti prioritizace plánování úloh využívajících CPU i GPU. Podrobnosti shrnul Tvrtko Ursulin z Intelu v sadě patchů. Obecně jde o tom, že současné dogma zpracování úloh se drží klasických pipeline, zatímco dnes je spíše potřeba řešit úlohy, které využívají více hardwarových zdrojů (v tomto kontextu CPU i GPU jádra). Jako příklad uvádí jednoduchý scénář, kdy uživatel pustí kompresi videa v ffmpegu a do toho jde hrát svoji oblíbenou hru: proč by systém nemohl být schopen dobře spravovat přidělování/využití zdrojů dle priorit – kdy zde by pochopitelně prioritou byl plynulý běh hry se zbytkem zdrojů alokovaným kompresi videa. Sada šesti patchů je jakýmsi hrubě sešitým RFC, které není optimální a spíše otevírá diskusi, jestli/jak něco takového vůbec realizovat.

I/O rozhraní Linuxu umí 5,1M IOPS / jádro

Sotva před pár dny jsme psali o pokračujících pracích na optimalizaci I/O propustnosti v Linuxu, kdy na testovacím stroji se Zen 2 Threadripperrem bylo dosaženo 3,8M IOPS na jádro. Jens Axboe se následně přesunul na stroj na bázi Zen 3 Ryzenu 9 5950X, kde se stejnými úložišti Intel Gen2 Optane dosáhl na 5,1M IOPS na jádro. Mělo by přitom jít o strop samotných úložišť, lze tedy předpokládat, že IO_uring umí i více, resp. že s novými CPU platformami, případně PCI Express 5.0 SSD měřitelný výkon i nadále poroste.

Autor článku

Příznivec open-source rád píšící i o ne-IT tématech. Odpůrce softwarových patentů a omezování občanských svobod ve prospěch korporací.