Xgl
De Viquipèdia
L'Xgl és una arquitectura del gestor de finestres, començat per David Reveman, situat a sobre de l'OpenGL mitjançant glitz. Usa les millores de les targetes gràfiques modernes i dels seus controladors d'OpenGL, suportant l'acceleració per maquinari a totes les X, les aplicacions d'OpenGL i de XVideo i els efectes gràfics dels compositors de finestres com el Compiz.
Des del maig del 2006, el servidor de X Xgl (i alguns components com Compiz i eines de configuració gràfica) venen a la SuSE 10.1, tot i que no per omissió, també està inclòs a la Frugalware.
Xgl es pot usar fàcilment a l'Ubuntu 6.06 (amb paquets binaris provinents repositoris no oficials), també està disponible per Gentoo i hi ha un PKGBUILD disponible per l'Arch Linux
Taula de continguts |
[edita] Història
Originalment, Xgl es va desenvolupar en llistes de correu públic, però durant molt temps, des del 2 de gener del 2006 la majoria de [1] desenvolupament es va fer sense dir res.
El dia que l'Xgl es va tornar a obrir al públic [2] [3], i inclòs a freedesktop.org, junt amb una reestructuració que feia que suportés més controladors de targetes gràfiques. Els backends de X usats pel servidor Xgl inclueixen Xglx i Xegl. El febrer del 2006 el servidor va guanyar molts usuaris ja que Novell va mostrar un video fent ús de les seves possibilitats. [4] [5] [6].
Aquests efectes van ser inicialment implementats al compositor de finestres glxcompmgr (no s'ha de confondre amb xcompmgr), actualment desfassat perquè els efectes no podien implementar-se correctament sense estrenyer l'interecció entre el gestor de finestres i el compositor. Per solucionar aquest problema, David Reveman va desenvolupar Compiz, el primer compositor de finestres OpenGL per el X Window System que funciona correctament. [7]
[edita] Backends
OpenGL no especifica com iniciar el visor per manipular els contexts de dibuix. En canvi, podem manipular aquestes operacions amb una API específica pel gestor de finestres. Hi ha dos backends que solucionen aquest problema. La majoria de backends contindran el mateix codi i les diferències principals seran a l'inicialització dels servidors.
[edita] Xglx
Xglx va ser el primer backend implementat per aquesta arquitectura. Actualment també és el que té la majoria de desenvolupament. Requereix un servidor X ja existent per còrre-hi sobre i utilitza GLX per crear una finestra OpenGL, el qual el Xgl utilitza, similar a Xnest. Aquest mode intenta ser utilitzat només pel desenvolupament al futur, ja que és redundant i requereix un servidor X per corre-hi Xgl sobre ell. Al XDevConf 2006 nVidia va fer una presentació argumentant que aquesta direcció és equivocada perquè el servidor amb capes abstreu característiques de les targes. Això fa que el suport per ulleres 3D i monitors duals pel driver de les targes sigui molt més difícil [8] (PDF). De totes maneres, deixant l'inicialització al servidor X existent, permet als desenvolupadors de centrar-se amb la funcionalitat del servidor més que a dedicar molt de temps amb temes específics amb les interfícies de numeròs maquinari de video. De moment, Xglx no suporta oficialment múltiples monitors, de totes maneres això ha estat aconseguit a amb una Ubuntu Dapper i amb Ati.
[edita] Xegl
Xegl és el futur de Xgl i a llarg plaç l'objectiu del desenvolupament del servidor X. El servidor Xegl compartirà molt de codi amb el servidor Xglx, exceptuant la part d'inicialització de la zona pintable de l'OpenGL i la gestió contextual que serà portada a terme pel Embedded GL, referit a EGL API. L'actual implementació utilitza Mesa-solo per proveir renderitzat directe amb OpenGL al [Linux framebuffer]] o DRI al maquinari gràfic. Cap a l'agost 2005 Xegl només pot ser utilitzat amb la tarja Radeon R200 i el desenvolupament ha estat retardat. Segurament serà repré quan el servidor Xglx serà provat ell mateix i els controladors tancats suportaran el EGL API, en aquest cas serà un reemplaçament transparent per servidors Xglx aniuats.
[edita] Raonament
Estructurant tot el renderitzat sobre el OpenGL pot simplificar el desenvolupament de controladors de video. Elimina la separació artificial de 2D i 3D acceleració. Aquesta és una aventatge de les operacions 2D que són freqüentment (al contrari de les 3D) sense acceleració. Això també elimina els controladors depenents del codi del servidor X, i permet accelerar operacions de Render i Composició independentment del controlador gràfic. Adicionalment, alguns gestionadors poden utilitzar l'API OpenGL per renderitzar, permeten força efectes espectaculars. S'ha estat informat que fabricants afiliats de NVIDIA i ATI estan apostant per fer un llançament de controladors només binari per servidors X basats amb OpenGL una vegada l'API hagi estat estabilitzada. A la Conferència de Desenvolupadors d'Xorg 2006 es va ser indicat per NVIDIA que també estan força contents amb l'interfície. La idea d'extendre aquest està sent portada a terme per AIGLX pel projecte Fedora [9]
[edita] Competidors
El renderitzat a l'escriptori i finestra OpenGL amb maquinari d'acceleració, ha estat utilitzant al Mac OS X, en una tecnologia anomenada Quartz Extreme, des del Mac OS X v10.2. [Quartz 2D|Quartz 2D Extreme]] és una millora a aquesta característica imés directament comparable a Xgl. Igual que Xgl, Quartz 2D Extreme porta a l'acceleració OpenGL totes les operacions de pintat 2D (no només la part d'escriptori) i ve amb Mac OS X v10.4, però està desactivat per defecte pendent d'una declaració formal de production-readiness. El més pioner sembla ser Sun Microsystems que ha desenvolupat per aquest tipus de característiques a una GUI, un projecte anomenat Project Looking Glass [10].
Microsoft està desenvolupament una tecnologia similar basat en DirectX, anomenat DWM, com a part del proper sistema operatiu Windows Vista.
[edita] Controversia
La tecnologia Xgl necessita un bon rendiment OpenGL, a més d'una bona quantitat de característiques que només tenen les targetes gràfiques modernes, i actualment només s'hi pot accedir mitjançant els mòduls (privatius) d'ATI o Nvidia.
Hi ha alguns controladors lliures per aquestes targetes que només suporten el renderitzat 2D o un suport primitiu d'OpenGL.
Això és un camí sense sortida, perquè les empreses que fan els controladors han afirmat que no tenen l'intenció d'alliberar res.
[edita] Vegeu també
[edita] Enllaços externs
- Lloc web de Xgl
- Lloc web de Xegl
- Anunci de Xgl a la llista de correu de X.Org
- Wiki d'OpenSUSE per Xgl
- Wiki d'OpenSUSE per Compiz
- Recomenacions i requisits de maquinari
- Anunci de Xgl per part de Novell, inclou videos i captures de pantalla
- Podcast Novell Open Audio Xgl amb David Reveman - 2006-04-07, discuteix el futur de Xgl i Compiz
- Videos de Xgl a SUSE Linux Enterprise Desktop 10
- Captures de pantalla i videos amb més efectes
- Especificacions de EGL
- Article: L'estat dels gràfics a GNU/Linux - estudi de les varies possibilitats per canviar l'actual servidor X
- Com de Xgl: Novell, Ubuntu, Debian Etch, Gentoo Linux, Arch Linux, Mandriva Linux, Frugalware Linux.
- Comunicació entre Xgl i X.Org
- RR4/RR64 - LiveDVD amb Xgl, per 32/64bits
- Kororaa - LiveCd de Xgl, per 32bist
- captures i demos d'alta resolució de XGL i KDE