Xgl

Přejít na: navigace, hledání

Úvod

Cube - Switching desktops by rotating a 3D cube, with a running high-resolution movie bent around corner

Xgl je nová architektura X serveru založená na OpenGL. Xgl je schopen složitých grafických operací, například vykreslování vyhlazených písem, výrazně rychleji než jiné X servery nepoužívající OpenGL. Současná implementace je Xglx, v budoucnu to bude Xegl.

Důležitější než prostá rychlost je fakt, že Xgl zrychluje složité kompozitní operace, což umožňuje v k tomu uzpůsobených správcích oken jako je Compiz používat nové skvělé vizuální efekty. Tyto vizuální efekty mají mnohá praktická využití, zpřístupňují Linux zrakově postiženým a vytvářejí prostředí které je přehlednější a srozumitelnější pro méně zkušené uživatele.

Xgl je nutno používat spolu s kompozitore/správcem oken, který využije všech jeho vlastností. Za tímto účelem byl spolu s Xgl vyvinut kompozitor Compiz.

Je možné, že 3D hardware budoucnosti bude podporovat pouze 3D operace, bez podpory 2D v jádru. Z tohoto důvodu je Xgl důležitým strategickým krokem pro všechny operační systémy používající X.org.

Xgl jako opensource

Počátkem roku 2006 nahrál správce Xgl David Reveman svá nejnovější vylepšení Xgl a Compizu do CVS repozitáře freedesktop.org. Dnes hostuje freedesktop.org zdrojové kódy Xgl balíků.

Použití Xgl/Compiz

Informace o používání Xgl v openSUSE Linuxu najdete na stránce Xgl on SUSE advisory. O kompozitoru se dozvíte více na stránce Compiz. Řešení problémů hledejte na stránce Xgl troubleshooting.

Technické pozadí

Hlavním autorem Xgl a Compizu je David Reveman (Novell). Některé části vytvořil Matthias Hopf (SUSE). Dave Arlie, Adam Jackson (Red Hat) a Jon Smirl pracovali na samostetném softwaru Xegl, který zde není popsán, ale s Xgl souvisí. Xgl používá jako abstrakční vrstvu glitz API. Toto API navrhli a implementovali David Reveman a Peter Nilsson (UMU).

Hlavním backendem Xgl je v současné době glx (též zvaný Xglx). Tento backend běží nad běžným Xserverem (podobně jako Xnest), který poskytuje potřžebnou podporu OpenGL. Je použit přepínač -fullscreen pro vytvoření jednoho okna přes celou obrazovku. Je také nutno poskytnout jméno obrazovky odlišné od jména obrazovky původního Xserveru. Jiný backend, Xegl, dovoluje běh Xgl přímo na framebufferu. Xegl však ještě není dokončen a na Linuxu funguje pouze s kartami ATI R200.

Protože Xgl s backendem glx nemohou běžet samostatně, spustí automaticky X.org server. Výchozí konfigurace v SUSE k tomu používá obrazovku :93. S tímto X.org serverem smí komunikovat pouze Xgl, pro ostatní aplikace bude vytvořena obrazovka :0.

Doporučený hardware

Tento grafický hardware je doporučován pro použití s XGL. Měl by s ním dobře spolupracovat. Pokud narazíte na výjimku, přidejte sem o ní informace.

  • Intel
    Všechny grafické čipy Intel vyžadují pro bezchybný provoz nejnovější balíky Xgl a Compiz. Vyčkejte prosím na SL10.1 rc1.
    • i915, i945
      Akcelerované XVideo na těchto kartách nefunguje. Viz Troubleshooting.
  • NVidia
    Všechny karty NVIDIA vyžadují pro běh Xgl proprietární ovladač. V Betě 8 je nutno po instalaci proprietárního ovladače odinstalovat a znovu nainstalovat Xgl RPM.
    • GeForce 4xxx series
      XVideo není na těchto kartách akcelerováno.
    • GeForce FX 5xxx series, Quadro FX series
      Akcelerované XVideo je zde pomalé, zkoumá se proč.
    • GeForce 6xxx series
    • GeForce 7xxx series
  • ATI
    • Mobility Radeon 9700 SE: Xgl běží s proprietárním ovladačem fglrx 8.23

Pokud zde vaše karta není uvedena, podívejte se do seznamu hardware Gentoo.

Problematický hardware

Hardware se známými problémy či nekompatibilitou:

  • ATI
    • Mobility Radeon M6 LY (7000), Mobility Radeon M9 (9000) a Mobility Radeon M9+ (9200)
      Chyby vykreslování a občasné poblikávání.
    • Radeon 9200
      Při použití ovladače fglrx 8.22.5 bez hardwarové akcelerace.
  • Intel
    • i855GM
      Funguje, ale compiz může při startu havarovat. Efekty jsou celkově velmi pomalé
    • i815, i845, i855
      Příliš staré, Xgl funguje, ale compiz ne. Možná bude v budoucnu přidána vrstva pro kompatibilitu.

Odkazy