Xgl 是一个X server,他借由
OpenGL技术充分发挥了新一代显卡优异的3D立体画面表现能力;从“架构”的角度来看,XGL透过了
glitz位在
OpenGL的上层。XGL利用了聚合视窗管理器的帮助(像是
Compiz 或 Beryl)对所有使用X、OpenGL和XVideo所制作的应用和图形效果提供了
硬件加速的支持,所以能表现出包含调整视窗透明度、可旋转的3D桌面、果冻效果等等令人叹为观止的立体特效。这个项目最初由David Reveman发起,并在2006年1月2日的时候第一次发布(release)。
2005年,XGL的很多任务作基于实现的理由,先以闭门造车的方式完成。然后在2006年1月2日,
开放源代码,,而后针对许多显卡驱动加以改造,归入了freedesktop.org。X服务器的后端可采用Xglx以及Xegl。2006年2月起,Novell桌面小组作了一次eye-candy特效展示,包括透明的窗口、可旋转的3D桌面,从而使该项目声名远扬。eye-candy特效最初在一个称为glxcompmgr的复合管理器中实现,但几个特效由于缺乏
窗口管理器与复合管理器的集成,而无法有效实现。取而代之的是由David Revenman开发的
Compiz,这是第一个使用OpenGL来表现的复合窗口管理器(compositing window manager)。
OpenGL并未规范如何去启始显示和处理绘图的细节。取而代之的是规范了一个特殊的中介
API去驱动底层操作系统的绘图系统调用。到目前为止,有两种不同的后端(backend)途径去解决这些初始化的问题。最有可能的是大多数各个后端将会包含相同的代码以及不同的差异将会首先在servers初始化部分上。
Xglx是第一个针对这架构的后端实现。它也是目前发展上的焦点核心。其运作的原理就是在已经存在的X server上用
GLX开一个OpenGL视窗,xgl再来使用这个OpenGL视窗,这样的概念类似于
XnestXegl被认为是Xgl的未来,X Server开发过程的长期日标。它和Xglx Server分享部分绘画代码,但是OpenGL可绘画的初始化和上下文管理则是由EGL
API管理,EGL由Khronos开发(EGL是窗口系统无关的,相当于GLX和WGL,GLX用于在X Window系统上支持OpenGL,WGL用于微软Windows)。当前的实现是使用Mesa 3D提供直接的OpenGL渲染到帧缓存或通过
DRI到图形硬件。2007年7月时Xegl只能运行在使用ATi Radeon R200显卡的系统上,当前开发已经暂停了。它将会被保留直到Xglx Server证明自己可行,并且闭源的驱动支持EGL API,这时它才是一个显而易见的Xglx Server的替代品。
对于另一竞争者
微软公司而言,他们也在自家的Windows操作系统上提供了相似功能的解决方案:视窗桌面管理器DWM。有别于Xgl所采用的OpenGL技术,这套采用微软自家
DirectX技术的DWM已经在新一代的视窗操作系统Windows Vista中问世。
Xgl在技术上为了要较好的实现OpenGL性能,需要用到目前一些3D显卡的特性。但目前对于ATI和NVIDIA显卡最新型号,只能以二进之代码包的形式得到这些内核模块(无法得到源代码)。目前这种情况变成了一个僵局,因为显卡制造商已经声明不会支持完全开放源代码,他们认为这会暴露他们硬件上的商业秘密。不过Intel公司从Intel965芯片组开始,公布其驱动程序的源代码。这将是Linux硬件视频驱动发展上的一个里程碑。之后
ATI也不断发布了新老版本显卡的技术文档,把较老版本显卡驱动的维护间接转移给开源社区。
2006年5月,Xgl含其附属组件(像是聚合
窗口管理器 Compiz 和配置设置工具等等)成为了
SUSE10 这个Linux发行版中的非默认安装项目,也以包的形式成为
Frugalware Linux和SUSE Linux Enterprise Desktop 10的一部分。在
Ubuntu6.06 (Dapper)和
Freespire上,Xgl更可以以最简单的
二进制代码来安装。在
Gentoo Linux上面Xgl也可以以 overlayed package的形式获取。
Arch Linux的用户也可以透过PKGBUILD来获取Xgl。
Mandriva Linux 2007内含由官方发行的由Xgl和
AIGLX搭配
Compiz所组成的package 包。另外Mandriva也提供了drak3d工具,让用户能愉快的使用两键式鼠标来搞定3D立体桌面的全部设置。