Xegl lives!

Jon Smirl jonsmirl at gmail.com
Mon May 23 13:21:06 PDT 2005


On 5/23/05, Torgeir Veimo <torgeir at pobox.com> wrote:
> So what's the goal, use DRI drivers without fbdev, or use fbdev with
> Mesa-EGL drivers?

If you remove the user space XAA drivers from the Xserver. The Xserver
no longer has any way to set modes. fbdev is used for mode support.
This opens a can of worms since DRI and fbdev and not commonly used
simultaneously and they often conflict. Removing user space mode
setting from Xserver goes a long ways toward eliminating the need to
run as root.

The Xgl server (Xegl is a variation of it) uses OpenGL to draw. But
OpenGL doesn't have an API for things like mode setting and cursor
control. That's where EGL comes in. EGL is an OpenGL extension API
that allows these things. The user space EGL driver then ask the
in-kernel fbdev/DRM drivers to do privileged things on its behalf.

Bottom layer, in-kernel, runs as root:
fbdev, DRM

user space device libraries:
EGL, DRI, mesa, glitz

user space server:
Xegl

application libraries:
Cairo, xlib

This new Xserver model has two huge impacts:

1) All drawing is accelerated like the Mac and Windows Longhorn.
Composited windowing is fast.

2) The entire OpenGL stack functions as like a device driver.
ATI/NVidia can release complete proprietary stack if they want. The
stacks can contain every ugly performance tweak they can come up with.
Since the Xgl server runs on top of these stacks the entire windowing
system will receive the performance benefits. This is a very different
model that the relatively low level XAA interface.

-- 
Jon Smirl
jonsmirl at gmail.com



More information about the xorg mailing list