Diit.cz - Novinky a informace o hardware, software a internetu

Velký rozbor revoluce: AMD chce skloubit otevřený ovladač a linuxové Catalysty

Na Game Developer's Conference 2014 poodhalila AMD v jednom z rozhovorů zvažované plány pro budoucí Catalysty na Linuxu. A je to pravá nefalšovaná revoluce.

Kapitoly článků


Na mnoha místech. Je jasné, že bude potřeba udělat spoustu úprav jak v kernelovém ovladači Radeonů, tak v Catalystech, ale hlavně akceptovat tyto úpravy v linuxovém kernelu - což zjednodušeně řečeno znamená: pokud, resp. dokud se to (jak samotná idea, tak kvalita implementace) nebude líbit Linusovi, má AMD smůlu.

Server Phoronix pak vyjmenovává několik bodů, které budou pro tento případný proces úskalím. Nutnost překopání spousty kódu jsem již zmínil. Plyne mimo jiné ze skutečnosti, že Catalysty jsou zatím tvořeny ještě poměrně zastaralým kódem, kupříkladu otevřený ovladač již nějakou dobu používá KMS (kernel-mode-setting) a DRM/DRI (direct rendering management / direct rendering infrastructure) a toto bude třeba sladit dohromady = upravit v Catalystech na moderní způsob. Graham Sellers z AMD ale na GDC již hovořil o tom, že již dokázali například propojit OpenGL části Catalystů s otevřeným ovladačem v kernelu. Podle prvotních zjištění tam nejsou žádné významné bariéry, proč by to nešlo. Převážná část OpenGL je beztak v user-space.

I druhé úskalí jsem již zmínil: Linus :-). Jeho pravidlem je, že neakceptuje do hlavního kernelu věci, které rozbíjejí rozhraní pro user-space, takže nějaké drastické překopání kernelového Radeon DRM driveru neprojde. Je to i z důvodu, že AMD již odepsala z Catalystů podporu pro starší grafiky (HD4000 a starší), takže ovladač pro ně fungující s novými linuxovými distry je již pouze ten otevřený. Graham dodává, že ať už se pokusí protlačit jakoukoli změnu v kernelové části, bude koordinována s komunitou a velmi dobře dokumentována. Jenže Linus je v tomto poměrně striktní, v minulosti kupříkladu odmítl začlenit úpravy DRM ovladače pro VIA Chrome 9, jelikož by byly implementovány jen proto, aby jelo 3D s binární user-space částí ovladače. Linusovi to nelze vyčítat, je to svého druhu i tlak na nespolupracující výrobce, aby věci převedli do open-source.

Další otazník se týká třeba optimalizací v oblasti správy paměti. Aktuální stav je takový, že tento kód je daleko lépe optimalizován v Catalystech. Ale uvidíme, třeba se AMD rozhodne přenést tyto věci do otevřeného ovladače, pokud tomu nebudou bránit nějaké právní důvody (pozn.: může jít o nějaké vychytávky, které AMD nechce otevřít, aby se nezalíbily konkurenční Nvidii). Jsou i další prvky, kde jsou Catalysty rychlejší či efektivnější než otevřený ovladač.

V otevřeném ovladači aktuálně chybí například podpora CrossFire či duálního grafického režimu, OpenGL stereo, pokročilejších AA/AF módů, OverDrive či obecně overclockingu. Stejně tak je nekompletní podpora OpenCL a také je otevřený ovladač co do podpory rozhraní limitován na čtyři roky staré OpenGL 3.3, zatímco v Catalystech máme aktuální OpenGL 4.4. Naopak Catalysty ale třeba nemají žádnou formu podpory VCE. Graham dodává, že tohle je jen proto, že prostě není k dispozici dost lidí/času na implementaci. A já dodávám: prioritu má pochopitelně platforma Windows, resp. Xbox One / Playstation 4 (k FreeBSD se ještě vrátím).

Úskalím může být také paradoxně podpora enterprise světa a karet FirePro. V této sféře používané distribuce jako RHEL, SLES či třeba Ubuntu LTS, jsou velmi konzervativní a často stavějí na starších verzích kernelů, knihoven a rozhraní, která jen mírně vylepšují, ale nejdou do verzí nových. Tvůrci těchto větví distribucí pak sami stále udržují tyto starší kernely v chodu, občas backportují nějaké důležité novinky z verzí vyšších, ale obecně spíše ne. V případě přechodu AMD na nový model by byly změny v rozhraních velmi rychlé, protože kernelová část ovladače má tendenci držet se stála nových kernelů. AMD by tedy pro enterprise svět musela spolu-udržovat v běhu i starší verze, případně dodatečně upravovat novinky pro použití ve starších kernelech. Otázkou je, jak moc chce AMD do budoucna bojovat se všemi těmi Quadry a Teslami a jestli se ušetřené úsilí díky open-source části ovladače neutopí na těchto snahách a zpětnou funkcionalitu.

V případě nového modelu Catalystů bude také AMD muset spolupracovat s kernelovou komunitou těsněji a rychleji. Kupříkladu již před pár týdny či měsíci se objevovaly počátky podpory GPU v Intel Broadwellech v kernelovém ovladači, přestože těmto procesorům zbývá na trh ještě dobře půl až tři čtvrtě roku. AMD to bude muset dělat stejně, zahrnovat podporu nových GPU a architektur včas, aby v době uvedení karet na trh, byla k dispozici v linuxovém kernelu - v jeho vývoji je totiž pro začlenění do dané verze kernelu nutné stihnout začleňovací okno, jinak máte smůlu a půjdete s kódem až do další verze.

Tagy: 
Zdroje: 

na motivy Phoronixu

Kapitoly článků

David "David Ježek" Ježek

Bývalý zdejší redaktor (2005-2017), nyní diskusní rejpal.

více článků, blogů a informací o autorovi

Diskuse ke článku Velký rozbor revoluce: AMD chce skloubit otevřený ovladač a linuxové Catalysty

Pondělí, 31 Březen 2014 - 14:08 | aleman | Ta poslední beta (14.3) opravdu přinesla ohromné...
Pondělí, 31 Březen 2014 - 11:12 | mattyy1hp | (omylem double post - smazáno)
Pondělí, 31 Březen 2014 - 11:08 | mattyy1hp | To se pořád slibuje, jak to bude lepší, jak se...
Pondělí, 31 Březen 2014 - 09:03 | Forest Jiří | Z vašeho příspěvku to skoro vypadá že to Mir má...
Sobota, 29 Březen 2014 - 08:01 | chdpctkkt | Prisli si vypytat povolenie od komunty na...
Sobota, 29 Březen 2014 - 00:09 | littleon | Tady vidím problém v tom NAVRCH. Pokud přejdou...
Pátek, 28 Březen 2014 - 23:54 | littleon | Víš, toto je argument, který jako jeden z...
Pátek, 28 Březen 2014 - 18:48 | WIFT | Taky mě vždycky pobaví, jak si AMD Catalysty...
Pátek, 28 Březen 2014 - 16:59 | DDR0 | ale že by to chtělo kompletní revizi Catalystu i...
Pátek, 28 Březen 2014 - 16:30 | HKMaly | Osobne nevidim v podpore starych verzi problem:...

Zobrazit diskusi