Xgl 是一个X server,他借由OpenGL技术充分发挥了新一代显示卡优异的3D立体画面表现能力;从“架构”的角度来看,XGL透过了glitz位在OpenGL的上层。XGL利用了聚合视窗管理器的帮助(像是CompizBeryl)对所有使用X、OpenGL和XVideo所制作的应用和图形效果提供了硬体加速的支援,所以能表现出包含调整视窗透明度、可旋转的3D桌面、果冻效果等等令人叹为观止的立体特效。这个计画最初由David Reveman发起,并在2006年1月2日的时候第一次释出(release)。

Xgl
Compiz运行于 Xgl 的透明窗口效果
Compiz运行于 Xgl 的透明窗口效果
原作者David Reveman
首次发布2006年1月2日,​18年前​(2006-01-02
类型Display server
许可协议 编辑维基数据链接
网站web.archive.org/web/20070605230047/http://www.freedesktop.org/wiki/Software/Xgl

历史

编辑

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 Window系统上支持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 LinuxSUSE 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立体桌面的全部设定。

延伸阅读

编辑

参考资料

编辑
  1. ^ 存档副本. [2006-03-08]. (原始内容存档于2006-03-08). 
  2. ^ 存档副本. [2006-03-14]. (原始内容存档于2006-04-21). 
  3. ^ 存档副本. [2006-03-14]. (原始内容存档于2006-03-05). 
  4. ^ 存档副本. [2006-03-14]. (原始内容存档于2008-08-30). 
  5. ^ 存档副本. [2006-02-14]. (原始内容存档于2012-06-29). 
  6. ^ 存档副本. [2006-03-14]. (原始内容存档于2006-04-04). 
  7. ^ 存档副本. [2006-03-14]. (原始内容存档于2012-02-16). 
  8. ^ 存档副本 (PDF). [2006-03-14]. (原始内容 (PDF)存档于2021-03-08). 
  9. ^ 存档副本. [2010-09-06]. (原始内容存档于2011-08-23). 
  10. ^ 存档副本. [2022-05-19]. (原始内容存档于2021-02-27). 
  11. ^ 存档副本. [2006-10-18]. (原始内容存档于2012-12-25). 

外部链接

编辑

安装和使用说明、论坛、寻求支援

编辑

免安装直接开机使用光碟

编辑
  • Kororaa Linux页面存档备份,存于互联网档案馆) 这套含有 XGL 功能的 LINUX作业系统可以被直接安置在光碟里面,您可以使用光碟片开机体验华丽的 XGL 功能而不会更动到任何的硬碟资讯。然而值得住意的是:由于 ATI 和 NVidia 的驱动程式和 GPL 版权规范有所不相容,所以新版的 Kororaa Linux Live CD 将不支援这两家公司的显示卡,直到有符合GPL版权宣告的新版驱动程式出现为止。
  • Mandriva 在其最新版的 Live CD中支援XGL功能。
  • Sabayon Linux页面存档备份,存于互联网档案馆) 是一个支援 XGL 和 AIGLX 的 Live CD。 然而和 Kororaa Linux页面存档备份,存于互联网档案馆) 不同的是它支援了 ATI 和 NVidia 的显示卡。另外它也可以被安装在硬碟上面。

桌面贴图、快照、screencast及范例影片

编辑