Portál AbcLinuxu, 21. května 2025 02:19
Souběžně s prací Novellu na Xgl probíhala i práce Red Hatu na vlastní (tak trochu konkurenční) architektuře umožňující využívat OpenGL při renderingu desktopu. Pojďme se jí nyní podívat trochu na zoubek...
Nejdříve je potřeba říct si něco málo o architektuře X serveru. Mnoho lidí si pod pojmem "indirect rendering" představuje pomalé softwarové renderování OpenGL přes Mesu. Tato představa je však zcela zcestná, většinou tomu tak sice je, ale není to pravidlem či podmínkou.
Jak všichni víme, X11 je klient-server protokol. Všechny volání funkcí jdou z klienta (aplikace) na server. V případně OpenGL se takto děje přes GLX. "Direct rendering", tedy přímé renderování, znamená pouze to, že je tento systém obcházen. Nemusí to ovšem nutně znamenat hardwarovou akceleraci, i když ve většině případů tomu tak je (aplikace se "baví" např. prostřednictvím DRI přímo s hardwarem). Ovšem stejně tak jako neznamená "direct rendering" nutně hardwarovou akceleraci, tak "indirect rendering" neznamená nutně softwarový rendering. X server může OpenGL volání taktéž přeposílat grafické kartě a tak je akcelerovat. A toto je právě věc, na které Red Hat v poslední době pracoval.
Vývoj Accelerated Indirect Rendering (dále jen AIR či AIGLX) probíhal již od začátku zcela otevřeně v xorg CVS. Tímto se liší od Xgl, které začalo sice zcela nezávisle a otevřeně, nicméně největší pokrok ve vývoji byl proveden za zavřenými dveřmi Novellem (nyní již je však i Xgl součástí xorg CVS). Toto je ovšem jen dalo by se říci nepodstatný detajl (i když Red Hat ho dává okázalým způsobem najevo ). Daleko podstatnější je to, že zatímco Xgl je zhola nová grafická architektura pro X server (nahrazující současné DDX) postavená čistě nad OpenGL, tak AIR je jen rozšířením možností současné grafické architektury.
Tento fakt, že AIR je jen rozšířením současné architektury, vyhovuje spoustě vývojářů X.Org více než to o co se snaží Xgl (grafickou architekturu zcela nahradit a postavit jí čistě nad OpenGL). Někteří vývojáři X.Org také projevili obavy, že Xgl by de facto "uvrhlo lidi do područí proprietárních driverů". Naštěstí většina zřejmě tento zealotismus nesdílí. Red Hat komentuje situaci takto:
How is this different than XGL?
XGL is a different X server. This is a more incremental change which is slated to become part of Xorg. We don't believe that replacing the entire X server is the right path, and that improving it incrementally is a better way to modernize it. After talking to people at xdevconf, it felt like much of the upstream Xorg community shares this view. You can search [WWW] Adam Jackson's notes for "large work for Xgl" to get the blow-by-blow or NVidia's [WWW] presentation from XDevConf 2006 on using the existing model.
We've been working on the AIGLX code for a some time with the community, which is in direct contrast with the way that XGL was developed. XGL spent the last few months of its development behind closed doors and was dropped on the community as a finished solution. Unfortunately, it wasn't peer reviewed during its development process, and its architecture doesn't sit well with a lot of people.
Je zcela jisté, že pohled Red Hatu je zaujatý Nicméně to že jak většina vývojářů X.Org, tak i samotní vývojáři NVidie, preferují AIR před Xgl, je faktem (viz. např. prezentace NVidie na XDevConfu). Faktem také je, že AIR by měl být schopný zvládnout prakticky to samé, co Xgl (Red Hat pracoval na zakomponování OpenGL composite manageru přímo do Metacity, ovšem teoreticky by měl být i Compiz od Novellu určený pro Xgl použitelný pod AIR). Zatím AIR funguje pouze s opensource drivery (Radeon r200, Intel 810, atp.), ale v okamžiku kdy NVidia (a snad i ATI) implementuje novou GLX_EXT_texture_from_pixmap OpenGL extension, bude fungovat i s proprietárními drivery.
Mně osobně se víc líbí přístup Xgl. Postavení celé grafické architektury nad OpenGL považuji za dobrou investici do budoucna. Ovšem příchod AIR taktéž vítám, rozhodně má své opodstatnění a konkurence je vítána, alespoň bude vývoj probíhat rychleji Celkově vzato jsem velmi potěšen tím, jak se ledy okolo grafické architektury X serveru v poslední době začly hýbat. Bylo to už opravdu potřeba.
Pokud se chcete o AIR dozvědět něco více (nebo ho dokonce vyzkoušet), můžete tak učinit na stránkách Fedoraproject.org. Další zajímavé informace najdete v prezentaci Kristiana Høgsberga z XDevConfu.
UPDATE:
David Reveman (hlavní vývojář Xgl z Novellu) napsal do xorg mailing listu jeho vlastní názor na současnou situaci: AIGLX, metacity, nvidia and Xgl
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.