# Diferencia entre XGL AIGLX, Comparativa [ABIERTO]

## Joaquin24

DIagrama

AIGLX

formato abiword (clikeear guardar como)

XGL

Gráfico XGL *.png

AIGLX

Gráfico AIGLX *.png

Xegl

Gráfico Xegl *.png

[*i]

La "gran diferencia entre XGL (desarrollado por novell y nvidia conjuntamente),

y AIGLX, desarrollado por fedora core, es la cantidad de "pasos" para renderizar una Applicacion Opengl (beryl, compiz, juegos 3d)[/i]

XGL: Provee "renderización directa" y debe desarrollar mayor cantidad de "pasos", para renderizar una aplicación Opengl ya que crea un proceso /usr/bin/Xgl (o servidor XGL)   :Exclamation: 

en cambio,

AIGLX: Provee renderización indirecta y debido a que es una extensión dentro del servidor X (xorg), el trayecto de "pasos" al servidor X, es menor,............(veáse el Gráfico AIGLX)

explicación didáctica

vamos al grano: 

Espero que les sirva [**I]

¡Vale! tanto para Aiglx com XGL...

Paso 1: Creando el contexto

Xgl  	Hola Nvidia LibGL. Necesito un contexto para renderizar

NVIDIA's libGL 	Seguro, no hay problema, le preguntaré al server.

------

NVIDIA's libGL : " Hola extensión GLX. Necesito un contexto Opengl para mi cliente (ese cliente es Xgl)."

Extensión GLX: 	Seguro, ningún problema, te daré un contexto Directo OpengI'. Ahora puedes usar el GPU (procesador de la placa aceladora), sin preguntarle a mi server

NVIDIA's libGL  Hola Xgl, ¡tengo un contexto Opengl para ti!

Xgl 	Gracias ahora puedo empezar a renderizar 

--------

Paso 2: Se inicia un cliente Opengl

Cliente Opengl: " Hola NVIDIA libGL, Necesito un contexto Opengl para mi renderización ."

NVIDIA's libGL 	"Seguro, no hay problema, le preguntaré al server".

NVIDIA's libGL : " Hola extensión GLX. Necesito un contexto Opengl para mi cliente "(ese cliente es Xgl).

Extensión GLX: 	Seguro, ningún problema, te dare un contexto indirecto OpengI'. Ahora puedes usar funciones Opengl , a través del protocolo GLX

----

NVIDIA's libGL  Hola Xgl, ¡tengo un contexto Opengl para ti!

Xgl 	Gracias ahora puedo empezar a renderizar 

------

¿Que pasa cuando se linkea Mesa LibGL a un cliente Opengl, dentro de una sesión Xgl? 

    *Dentro del Xgl, se inicia un cliente Opengl (por ejemplo. Compiz)

    *Este cliente Opengl esta linkeado a Mesa libGL  

    * Entonces, necesita un contexto Opengl

-----------

Compiz  	 "Hola Mesa libGL. Necesito un Contexto Opengl para mi renderización."

Mesa libGL"Seguro, no hay problema, le preguntaré al server"

-------

Mesa libGL "Hola extensión GLX. Necesito un contexto Opengl para mi cliente (ese cliente es Compiz)."

Extension GLX Xgl"Seguro, ningún problema, te dare un contexto indirecto OpengI'. Ahora puedes usar funciones Opengl , a través del protocolo GLX"

------

Mesa libGL"Hola compiz, ¡tengo un contexto Opengl para ti!"

Compiz  	 "Gracias ahora puedo empezar a renderizar"

[*i] (editado)

[**i] (editado AKA explicación antigua, estaba muy volada como dijo ELEmperador)

Tópico Abierto a correcciones sugerencias, etc. Una imagén dice más que mil palabras.

basado en ++ (clikear aquí)Last edited by Joaquin24 on Sat Dec 02, 2006 11:46 pm; edited 18 times in total

----------

## Ark del KAOS

¿Directa?

¿Indirecta?

Ok, creo que te entiendo, pero así dicho parece que "indirecto" es igual a lento, o al menos mas que "directo"

Y sin embargo hay mucha gente que prefiere XGL a AIGLX, ya que consiguen una mayor performance   :Rolling Eyes: 

Y, bueno, no estaría mal agregar nvidia9***

Al fin y al cabo es tan directo o mas que AIGLX, ¿no?

----------

## ekz

 *Ark del KAOS wrote:*   

> 
> 
> Y, bueno, no estaría mal agregar nvidia9***
> 
> Al fin y al cabo es tan directo o mas que AIGLX, ¿no?

 

eso yo diria que es lo mas directo, ademas la "i" de aiglx es de indirect  :Very Happy: 

supongo que el rendimiento variara segun el tipo de tarjeta

SAludos

----------

## Joaquin24

 *Quote:*   

> Ok, creo que te entiendo, pero así dicho parece que "indirecto" es igual a lento, o al menos mas que "directo"
> 
> Y sin embargo hay mucha gente que prefiere XGL a AIGLX, ya que consiguen una mayor performance

 

entonces está al reves.... ok..

A lo que voy con renderización directa es al projecto DRI de freedesktop.org

 *Quote:*   

> Ark del KAOS escribió:
> 
> Y, bueno, no estaría mal agregar nvidia9***
> 
> Al fin y al cabo es tan directo o mas que AIGLX, ¿no?
> ...

 

no todos usan una tarjeta nvidia, según la FSF, las únicas tarjetas funcionando con drivers de Xorg son las intel

S4LUD0S

----------

## aj2r

Hay cosas en este hilo que no me cuadran. Hasta donde yo sé tanto aiglx como xgl usan aceleración indirecta, la diferencia entre los dos es que xgl es un servidor nuevo que corre sobre las x de toda la vida, mientras que aiglx no es uno nuevo sino una modificación. La ventaja de xgl sobre aiglx es que no obliga a que el driver para la tarjeta soporte la extensión texture_from_pixmap. Por cierto, el nuevo driver de nvidia lo que permite es que se pueda usar aiglx con éste y no sólo xgl, ya que esta nueva versión tiene la extensión texture_from_pixmap. Y por cierto xgl es sólo un prototipo para mostrar lo que será el futuro, Xegl.

----------

## pacho2

 *aj2r wrote:*   

> Hay cosas en este hilo que no me cuadran. Hasta donde yo sé tanto aiglx como xgl usan aceleración indirecta, la diferencia entre los dos es que xgl es un servidor nuevo que corre sobre las x de toda la vida, mientras que aiglx no es uno nuevo sino una modificación. La ventaja de xgl sobre aiglx es que no obliga a que el driver para la tarjeta soporte la extensión texture_from_pixmap. Por cierto, el nuevo driver de nvidia lo que permite es que se pueda usar aiglx con éste y no sólo xgl, ya que esta nueva versión tiene la extensión texture_from_pixmap. Y por cierto xgl es sólo un prototipo para mostrar lo que será el futuro, Xegl.

 

Con el nuevo driver de nvidia puedes no usar ni AIGLX ni Xgl, yo, por ejemplo, también pensaba que AIGLX era necesario, pero recompilé el xorg-server sin este soporte y va sin él  :Wink: 

Saludos  :Smile: 

----------

## Soul Lost

 *pacho2 wrote:*   

> 
> 
> Con el nuevo driver de nvidia puedes no usar ni AIGLX ni Xgl, yo, por ejemplo, también pensaba que AIGLX era necesario, pero recompilé el xorg-server sin este soporte y va sin él 
> 
> Saludos 

 

Hay forma de configurar esto? Osea, tener xorg con soporte para aiglx y poder decidir si usa el soporte de xorg o el de nvidia..?

----------

## Joaquin24

 *Quote:*   

> Hay cosas en este hilo que no me cuadran. Hasta donde yo sé tanto aiglx como xgl usan aceleración indirecta,

 

según vi en la página de Nvidia los drivers beta proveen renderización directa.. es más creo que en la wiki había un apartado aclarando que la renderización directa está funcionando en los driver 

>1.09XXXX

 *Quote:*   

> 
> 
> Con el nuevo driver de nvidia puedes no usar ni AIGLX ni Xgl, yo, por ejemplo, también pensaba que AIGLX era necesario, pero recompilé el xorg-server sin este soporte y va sin él 

 

para correr el xorg con aceleración para aplicaciones Opengl ya sea Beryl, o Compiz...

Sin las USE=aixglx glx .... hay que tener a mi modo de ver una placa AGP 8x al menos de 128MB ddr.

Una Georfe GT o Nforce o una ATI con las mismas cualidades..

Pacho2:

¿usas el flag 

```
USE=xcomposite
```

? para   Gnome

----------

## ElEmperador

Linda explicacion didactica la que pusiste Joaquin24, siempre se agracede eso.

Ojala no se aleje mucho de la realidad..., disculpen el no aportar nada, solo tenia que decir eso.

----------

## Joaquin24

 *Quote:*   

> Linda explicacion didactica la que pusiste Joaquin24, siempre se agracede eso.
> 
> Ojala no se aleje mucho de la realidad..., disculpen el no aportar nada, solo tenia que decir eso.

 

Se basa en un post de uno de los tantos foros de desarrolladores del servidor XORG, que la verdad, al menos a mi me resulto muy explicativo y fácil de entender

es una explicación que estaba en inglés pero la borraron AKA explicación estoy tratando de hacer memoria sobre lo que leí y recompilando información de demas foros; para realizar una explicación lo mejor posible, ya que hay muchas preguntas y dudas ... 

ejemplos de posts sobre dudas:

Serias dudas sobre  aiglx...

muchas dudas sobre los nuevos drivers nvidia .... etc..etc,,, etc

la idea mia es, humildemente si los moderadores aceptan es escribir un guía para expeditar/solucionar esas dudas. (¡un saludo! Stolz....)

AKA explicación en inglés, ahora explicación en chino en un foro de ubuntu

por eso el post esta abierto a cualquier correción, sugerencia, etc.

gracias por tu interes....Emperador

----------

## Joaquin24

Explicación Antigua sólo para el registro

Ejemplo 1 XGL

Por ejemplo una aplicación Opengl;

hace la siguiente pregunta al servidor X:

--Aplicación Opengl: ¿Me presta un poco de memoria para correr el beryl/compiz?

--Servidor X: Aguardeme unos segundos, debo preguntarle a la Extensión GLX:

--Servidor X: {"Que tal extensión GLX/n"} Le tengo prestar memoria a una Aplicacion opengl, ¿tiene algo de memoria? 

--Extensión GLX: No sé primero tengo que preguntarle a el servidor XGL, que es quién se encarga de dar memoria para aplicaciones opengl, y aplicaciones renderizadas.

--Extensión GLX:{"Que tal servidor XGL/n"}... La extensión GLX del servidor X me pide memoria para una applicación renderizada o opengl.

--Servidor XGL (driver nvidia, ati, etc): Haber aguardeme que le tengo que preguntar al kernel antes y a la Placa Aceleradora..... {"Hola kernel/n"},¿ tienes memoria?

--Kernel: Si ahi te van 512 megas de RAM...se los pedi a la Placa Aceleradora 2D/3D.

--Servidor XGL: Gracias.....!!! ¡¡Extensión GLX!! te mando 512megas de RAM

--Extensión GLX: Gracias.....te adjunto el recibo en el log del servidor X.    /var/log/Xorg.0.log

--Extensión GLX: {"Hola de vuelta Servidor X/n"}.. Aqui te mando la memoria que me pedistes.

--Servidor X: Ok......{"Hola de vuelta Applicación Opengl X/n"} Te mando la memoria que me pedisteis hace unos segundos...son 512 RAM.. 

--Aplicación Opengl:Ok gracias.. me alcanzan nomás estoy corriendo el compiz y unos juegos de disparos en primera persona...

Ejemplo 2 AIGLX

aplicación Opengl--{"Que tal servidor XGL/n"} ¿Me presta un poco de memoria para correr el beryl/compiz, etc.?

--Servidor X: Aguardeme unos segundos, debo preguntarle a la Extensión GLX:

--Servidor X: {"Que tal extensión GLX/n"} Le tengo prestar memoria a una Aplicacion opengl, ¿tiene algo de memoria? 

--Extensión GLX: No sé primero tengo que preguntarle a la extensión AIGLX, que es quién se encarga de dar memoria para aplicaciones opengl, y aplicaciones renderizadas.

----Extensión GLX:{"Que tal extensión AIGLX/n"}. La extensión GLX del servidor X me pide memoria para una applicación renderizada o opengl.

--Extensión AIGLX: si tomo su pedido. yo ejecuto gracias a los drivers (driver nvidia, ati, intel etc) , aguardeme que le pregunto al kernel para que le pregunte a la placa 3D/2D.....  {"Hola kernel/n"},¿ tienes memoria?

--Kernel:Si ahi te van 512 de ram.

--Extensión AIGLX: ¡Ok gracias! ¡¡Extensión GLX!! te mando 512megas de RAM

--Extensión GLX: Gracias, ¿AdjuntasteIs el recibo al /var/log/Xorg.0.log?

--Extensión AIGLX: si pero como soy parte del Servidor X no necesito hacer tanta tecnocracia...son sólo tres lineas.

--Extensión GLX: ¡¡UFF!! que alivio. Ya estaba un poco cansado de la tecnocracia.

--Extensión GLX: {"Hola de vuelta Servidor X/n"}.. Aqui te mando la memoria que me pedisteis.

--Servidor X: Ok gracias!!!......{"Hola de vuelta Applicación Opengl X/n"} Te mando la memoria que me pedisteis.

--Aplicación Opengl:Ok gracias.. me alcanzan nomás estoy corriendo el compiz y unos juegos de disparos en primera persona...Last edited by Joaquin24 on Sat Dec 02, 2006 11:49 pm; edited 1 time in total

----------

## skormel

Pues yo lo tengo instalado sin XGL ni AIGLX sólo con los drivers de nvidia y la verdad es que va rapidísimo mucho más que cuando lo instalé con XGL.

----------

## diegomichel

con una i915

la diferiencia entre xgl y aixgl es esta..

aixgl mas lento y sin efecto water...pero no se cuelga

xgl mas rapido y con efecto agua...y debes en cuando se cuelga xD

----------

## ekz

Con los drivers de nvidia.. es necesario usar xlaunch u otra artimaña para lanzar aplicaciones que necesiten renderizado (juegos, etc) ?

SAludos

----------

## skormel

No tngo instalado ningun juego que necesite aceleración lo instalo y te cuento.

----------

## Joaquin24

 *Quote:*   

> con una i915
> 
> la diferiencia entre xgl y aixgl es esta..
> 
> aixgl mas lento y sin efecto water...pero no se cuelga
> ...

 

te falto decir que con AIGLX se puede corregir el gamma "al vuelo"

a mi me pasa lo mismo con una MX400 64MB overclockeada con nvclock   ... ;o)

/etc/conf.d/local.start

```

# /etc/conf.d/local.start

#xset -b b 0

# This is a good place to load any misc programs

# on startup (use &>/dev/null to hide output)

nvclock -n 245 -m 279
```

----------

## Ark del KAOS

 *ekz wrote:*   

> Con los drivers de nvidia.. es necesario usar xlaunch u otra artimaña para lanzar aplicaciones que necesiten renderizado (juegos, etc) ?
> 
> SAludos

 Pues...ni me he dado cuenta....vamos, que he jugado tal cual sin hacer nada especial.  :Rolling Eyes: 

----------

