Xgl

Icon-xgl.png Az XGL egy új, az OpenGL-re épülő X-szerver architektúra. Az XGL végre tud hajtani bonyolult grafikai műveleteket - például élsimított betűtípusok renderelése - észrevhetően gyorsabban, mint más X-szerverek, amelyek nem használnak OpenGL-t. Az aktuális implementáció az Xglx, de az XGL jövőbeli implementációja az Xegl lesz.

Bevezetés

Kizárólag a sebességnél fontosabb, hogy az XGL felgyorsítja az összetett műveleteket, így lehetővé tesz új, meglepő vizuális effektusokat OpenGL-képes ablakkezelő segítségével, mint amilyen a Compiz. Ezek a vizuális effektek a gyakorlatban széles körben használhatóak, használhatóbbá téve a Linuxot a látás-károsultak számára, valamint létrehozva egy munkakörnyezetet, amely könnyebben megérthető és használható a kevésbé gyakorlott felhasználók számára is. Az XGL funkcióinak teljes kihasználásához együtt kell azt használni egy compositor/ablakkezelővel. A Compiz az a compositor segédeszköz, amelyet az XGL-lel együtt fejlesztettek.

Kocka - Munkaasztal váltása egy 3D kocka forgatásával történik

Lehetséges, hogy a jövő grafikus eszközei csak 3D műveleteket fognak támogatni, 2D mag nélkül. Emiatt az XGL fontos előrelépés azoknak az operációs rendszereknek, amelyek az X.Org grafikai eszközökön alapulnak.

XGL a Szabad Szoftver környezetben

2006 elején David Reveman, az XGL karbantartója az XGL és Compiz legújabb fejlesztéseit a freedesktop.org rendelkezésére bocsátotta. Jelenleg a freedesktop.org szolgáltatja az XGL csomagok forráskódjait.

Az XGL/Compiz használata

Olvassa el a SUSE tanácsadóját, amelyből megtudhatja, hogyan kell az XGL-t SUSE Linux alatt használni. A Compiz oldalon talál további információkat a composition ablakkezelőről. Ha problémákba ütközne, olvassa el az XGL hibakeresés oldalt.

GYIK

Icon-help.png Használhatom az ablakkezelőmet a Compizzal?
Nem, a Compiz egy ablakkezelő, amelyből egyszerre csak egy futhat. Noha a composite manager és az ablakkezelő koncepciója eltér egymástól, e két folyamat eredményét szorosan össze kell integrálni, melyet egy ún. compositing ablakkezelővel lehet elérni. A Compiz is egy ilyen compositing ablakkezelő.
Icon-help.png Akkor mi a glxcompmgr.rpm és az xglx.rpm?
A glxcompmgr érvénytelenített, így az xglx.rpm-et kell használni.
Icon-help.png A direct rendering nem működik XGL-en, de működik X.org-on. Az OpenGL-alkalmazások miért nincsenek gyorsítva?
Ne keverjük össze a hardveres gyorsítást a direct renderinggel. Az OpenGL-alkalmazások hardveresen gyorsítottak XGL alatt, ha a meghajtó támogatja a pBuffereket vagy az FBO-kat, mint például az nvidia vagy fglrx meghajtók teszik. Egyébként a direct renderinget jelenleg lehetetlen megvalósítani, az ehhez szükséges bővítmények még specifikálva sincsenek.
A direct rendering a hardveres gyorsítást foglalja magában, de nem a másik értelemben. A direct rendering gyorsabb egy kicsit, mint az indirect rendering, de az indirect rendering is alig rosszabb.
A direct rendering működik, ha a glxinfo|grep direct parancs kimenete X.Org alatt "Yes" eredményt ad. De XGL alatt mindig "No" a kimenete. Sajnos X.Org alatt a direct rendering a hardveres gyorsítás szinonimája, és sokkal nehezebb kideríteni, hogy rendelkezésre áll-e hardveres gyorsítás, mint azt, hogy rendelkezésre áll-e direct rendering.
Icon-help.png Az alkalmazásnak mindenképpen szüksége van direct rendering technológiára (például különböző játékok)
E probléma megoldásához olvassa el a főcikket, hogyan használhatjuk ki teljes mértékben az XGL és az OpenGL nyújtotta előnyöket, köztük a direct renderinget.
Icon-help.png Tehetek-e munkaasztalokat a kocka alsó és felső lapjára?
Nem. Nincs is értelme, mivel az alsó és felső lap négyzet, míg a képernyőnek más a képaránya. Ez azt is jelentené, hogy a kiválasztott képernyőről forgatott nézetet is kaphatna (mozgás balra, fel, majd újra balra).Könnyen növelhető az oldallapok száma a következő opció változtatásával: apps/compiz/general/screen0/options/size
Icon-help.png Hogyan konfigurálhatok többmonitoros rendszert XGL-hez?
Az XGL és a Compiz jelenleg nem támogatja a Xinerama bővítményt, a fejlesztése folyamatban van. Az XGL természetesen működni fog egyesített framebuffer konfigurációkon, de nem fogja figyelembe venni a monitorok különbözőségét, így pl. a bejelentkezőképernyő meg lesz osztva a monitorok között.
Icon-help.png Ez része lesz a X.Org 7-nek?
Nem, az XGL-t és a Compizt az X.Org közösség fogja fejleszteni, de külön ágon. Az egyesítés az X.Org 7.1 megjelenése után várható.
Icon-help.png Hogyan kapcsoljam be a Composite-ot a konfigurációs fájlban?
Nem szükséges. Az XGL natívan támogatja a Composite-ot, az alapul szolgáló X.Org-nak nem kell exportálnia a Composite-ot. Ez fontos pl. az nvidia meghajtónak, amelynek problémái vannak az OpenGL és a Composite együttes használatával.

Technikai háttér

Az XGL-t és a Compizt főként David Reveman (Novell) készítette Matthias Hopf (SUSE) segítségével. Dave Arlie, Adam Jackson (Red Hat) és Jon Smirl dolgozott az Xegl-en, amely itt nincs részletezve, de az XGL-lel kapcsolatos. Az XGL absztrakciós rétegként a glitz API-t használja, amelyet David Reveman és Peter Nilsson (UMU) terveztek és valósítottak meg.

Az XGL számos egyéni tulajdonságú felület, míg a glx (Xglx) háttér a fejlesztés fő irányvonala jelenleg. Ez a háttér egy hagyományos Xserver ablakban fut, amely a megfelelő OpenGL-támogatást nyújtja. Van egy -fullscreen kapcsoló, amellyel egy teljes képernyős ablakot lehet létrehozni. Gondoskodni kell egy kijelzőnévről (display name) is, amely nem az eredeti Xserver kijelzőneve. A másik, Xegl nevű háttér lehetővé teszi az XGL közvetlenül framebufferen történő futtatását. Jelenleg ez a háttér még félkész állapotban van, és csak az ATI R200 chippel rendelkező kártyákon működik.

Mivel az XGL a glx háttérrel nem működik önállóan, ezért automatikusan elindít egy X.Org szervert. A SUSE alapértelmezett beállításként a :93-as kijelzőt használja erre. Csak az XGL jogosult ezzel az Xserverrel kommunikálni, és létrehozza a :0 kijelzőt minden más alkalmazásnak.

Hardvertanácsok

Az alábbi grafikus hardverek jól működnek és ajánlottak XGL-hez. Vegyen fel kivételeket, ha vannak.

  • Intel
    Mindegyik Intel grafikus chip a legújabb XGL és Compiz csomagot igényli a hibátlan működéshez.
    • i915, i945
      A gyorsított Xvideo ezeken a kártyákon hibás. Nézze meg a hibakeresés oldalt.
  • NVidia
    Mindegyik NVidia kártya a gyártó meghajtóját igényli az XGL futtatásához. Jelenleg újra kell telepíteni az xgl rpm-et az NVidia meghajtó telepítése után.
    • GeForce 4xxx sorozat
      Az XVideo nem gyorsított ezeken a kártyákon.
    • GeForce FX 5xxx sorozat, Quadro FX sorozat
      A gyorsított XVideo ezeken a kártyákon lassú, fejlesztés alatt áll.
    • GeForce 6xxx sorozat
    • GeForce 7xxx sorozat
  • ATI
    • Mobility Radeon 9700 SE: Az XGL a gyártó fglrx meghajtójának 8.23-as verziójával működik.
    • Radeon X300: Az XGL a gyártó fglrx meghajtójának 8.23-as verziójával működik.
    • Radeon XPRESS 200M 5955 (PCIE), meghajtóprogram: "fglrx_pci", az XGL működik, de a 2D/3D megjelenítés nem megfelelő

Ha nem biztos benne, hogy milyen kártyát használ, root-ként futtassa a következő parancsot: hwinfo --gfxcard

Ha a kártyája nem szerepel a listában, ellenőrizze a Gentoo hardverlistáján is.

Problémás hardver

Az alábbi hardverekkel van ismert kompatibilitási probléma vagy hiba.

  • ATI
    • Mobility Radeon M6 LY (7000), Mobility Radeon M9 (9000) és Mobility Radeon M9+ (9200)
      Rajzolási hibák és alkalmanként villogás.
    • Radeon 9200
      Nincs hardveres gyorsítás az fglrx 8.22.5 meghajtóval.
  • Intel
    • i855GM
      Működik, de az effektek nagyon lassúak
    • i815, i845
      Túl régi, az XGL működik, de a Compiz nem. Talán egy kompatibilitási réteg fejlesztve lesz később.

ATI XGL-es GNOME-felhasználóknak:

Ha rendszerindításkor a gdm nem megfelelően indítja el az X Servert (X Server nem indul el), és Ön kap egy üzenetet, hogy "Az X Server már fut / X Server is already running", akkor a következő módosításokat hajtsa végre az /etc/opt/gnome/gdm/custom.conf fájlban: A következő bejegyzéseket keresse:

[daemon]

GdmXserverTimeout=30 #illessze be ezt a sort


[servers]

0=inactive #módosítsa vagy illessze be ezt a sort

1=Xgl #módosítsa vagy illessze be ezt a sort


[server-Standard] #Módosítsa az alap szerver beállításait a következőkre:

name=Xgl

command=/usr/bin/Xgl :1 -ac -accel glx=pbuffer -accel xv=pbuffer

chooser=false

handled=true

flexible=true

priority=0


--taril

Hivatkozások