Xgl 是一个X server,他借由OpenGL技术充分发挥了新一代显卡优异的3D立体画面表现能力;从“架构”的角度来看,XGL透过了glitz位在OpenGL的上层。XGL利用了聚合视窗管理器的帮助(像是Compiz 或 Beryl)对所有使用X、OpenGL和XVideo所制作的应用和图形效果提供了硬件加速的支持,所以能表现出包含调整视窗透明度、可旋转的3D桌面、果冻效果等等令人叹为观止的立体特效。这个项目最初由David Reveman发起,并在2006年1月2日的时候第一次发布(release)。
原作者 | David Reveman |
---|---|
首次发布 | 2006年1月2日 |
类型 | Display server |
许可协议 | |
网站 | web |
历史
2005年,XGL的很多工作基于实现的理由[1],先以闭门造车的方式完成。然后在2006年1月2日,开放原始码,[2][3],而后针对许多显卡驱动加以改造,归入了freedesktop.org。X伺服器的后端可采用Xglx以及Xegl。2006年2月起,Novell桌面小组作了一次eye-candy特效展示,包括透明的窗口、可旋转的3D桌面[4][5][6],从而使该项目声名远扬。eye-candy特效最初在一个称为glxcompmgr的复合管理器中实现,但几个特效由于缺乏窗口管理器与复合管理器的集成,而无法有效实现。取而代之的是由David Revenman开发的Compiz,这是第一个使用OpenGL来表现的复合窗口管理器(compositing window manager)。[7]
后端
OpenGL并未规范如何去启始显示和处理绘图的细节。取而代之的是规范了一个特殊的中介API去驱动底层操作系统的绘图系统调用。到目前为止,有两种不同的后端(backend)途径去解决这些初始化的问题。最有可能的是大多数各个后端将会包含相同的代码以及不同的差异将会首先在servers初始化部分上。
Xglx是第一个针对这架构的后端实现。它也是目前发展上的焦点核心。其运作的原理就是在已经存在的X server上用GLX开一个OpenGL视窗,xgl再来使用这个OpenGL视窗,这样的概念类似于Xnest。在未来,这种运作模式将只会提供专业的开发者使用,毕竟它存在着一个看似多余的X server机制。在2006年XDev会议(XDevConf)上面,NVidia这家公司明白的表示这样的发展的方向是一个错误的方向,因为这让XGL的后端竟然只是一个次级的OpenGL视窗(layared server)而不是一个独立的个体(like X server),这将使得许多显卡的特效受限于最前端的X server而无法呈现。!(像是3D立体的glasses)[8] 尽管如此,却不能否认这样的一个设计方法,是将整个后端 "原型机" "全部实做出来" 的方法中,最快速而简单的一招。这样的作法可以让开发者省略掉开发一些已经存在于前置X server上的项目,把精力集中在实做Xgl独特架构的本体上面。
Xegl被认为[谁?]是Xgl的未来,X Server开发过程的长期日标。[9] 它和Xglx Server分享部分绘画代码,但是OpenGL可绘画的初始化和上下文管理则是由EGL API管理,EGL由Khronos开发(EGL是窗口系统无关的,相当于GLX和WGL,GLX用于在X窗口系统上支持OpenGL,WGL用于微软Windows)。当前的实现是使用Mesa 3D提供直接的OpenGL渲染到帧缓存或通过DRI到图形硬件。2007年7月时Xegl只能运行在使用ATi Radeon R200显卡的系统上,当前开发已经暂停了。[10] 它将会被保留直到Xglx Server证明自己可行,并且闭源的驱动支持EGL API,这时它才是一个显而易见的Xglx Server的替代品。
Xegl貌似已经失败。
竞争者
对于另一竞争者微软公司而言,他们也在自家的Windows操作系统上提供了相似功能的解决方案:视窗桌面管理器DWM。有别于Xgl所采用的OpenGL技术,这套采用微软自家DirectX技术的DWM已经在新一代的视窗操作系统Windows Vista中问世。
争议
Xgl在技术上为了要较好的实现OpenGL性能,需要用到目前一些3D显卡的特性。但目前对于ATI和NVIDIA显卡最新型号,只能以二进之代码包的形式得到这些内核模块(无法得到原始码)。目前这种情况变成了一个僵局,因为显卡制造商已经声明不会支持完全开放原始码,他们认为这会暴露他们硬件上的商业秘密。不过Intel公司从Intel965晶片组开始,公布其驱动程式的原始码[11]。这将是Linux硬件视频驱动发展上的一个里程碑。之后ATI也不断发布了新老版本显卡的技术文档,把较老版本显卡驱动的维护间接转移给开源社区。
可得性
2006年5月,Xgl含其附属组件(像是聚合窗口管理器 Compiz 和配置设置工具等等)成为了SUSE 10 这个Linux发行版中的非默认安装项目,也以包的形式成为Frugalware Linux和SUSE Linux Enterprise Desktop 10的一部分。在Ubuntu 6.06 (Dapper)和 Freespire上,Xgl更可以以最简单的二进制代码来安装。在Gentoo Linux上面Xgl也可以以 overlayed package的形式获取。Arch Linux的用户也可以透过PKGBUILD来获取Xgl。
Mandriva Linux 2007内含由官方发行的由Xgl和AIGLX搭配Compiz所组成的package 包。另外Mandriva也提供了drak3d工具,让用户能愉快的使用两键式滑鼠来搞定3D立体桌面的全部设置。
延伸阅读
- X Window System
- AIGLX
- VirtualGL
- OpenGL
- Compiz
参考资料
外部链接
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.