Xgl

来自ITwiki,开放的信息技术大百科

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

Xgl制造的3D效果截图
Enlarge
Xgl制造的3D效果截图

目录

历史

2005年,XGL的很多工作基于实作的理由,先以闭门造车的方式完成。然后在2006年1月2日,开放源代码,而后针对许多显卡驱动加以改造,归入了freedesktop.org。X服务器的后端可采用Xglx以及Xegl。2006年2月起,Novell桌面小组作了一次eye-candy的特效展示,包括透明的窗口、可旋转的3D桌面,从而使该项目声名远扬。eye-candy特效最初在一个称为glxcompmgr的复合管理器中实现,但几个特效由于缺乏窗口管理器与复合管理器(composite manager)的整合,而无法有效实现。取而代之的是由David Revenman开发的Compiz,这是第一个使用OpenGL来表现的复合窗口管理器(compositing window manager)。

后端

OpenGL并未规范如何去启始显示和处理绘图的细节。取而代之的是规范了一个特殊的中介API去驱动底层作业系统的绘图系统呼叫.到目前为止,有两种不同的后端(backend)途径去解决这些初始化的问题.最有可能的是大多数各个后端将会包含相同的程式码以及不同的差异将会首先在servers初始化部份上.

Xglx

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) 尽管如此,却不能否认这样的一个设计方法,是将整个后端 "原型机" "全部实现" 的方法中,最快速而简单的一招。这样的作法可以让开发者省略掉开发一些已经存在于前置 X server 上的项目,把精力集中在实做Xgl独特架构的本体上面。

竞争者

对于另一竞争者微软公司而言,他们也在自家的Windows作业系统上提供了相似功能的解决方案:视窗桌面管理器 DWM。有别于 Xgl 所采用的 OpenGL 技术,这套采用微软自家 DirectX 技术的 DWM 在新一代的视窗作业系统 Windows Vista 中实现。

争议

Xgl在技术上为了要较好的实现OpenGL性能,需要用到目前一些3D显卡的特性。但目前对于ATI和NVIDIA显卡,只能以二进之代码包的形式得到这些内核模块(无法得到源代码)。虽然有一些这些显卡的开放源代码的驱动程序,但只提供2D和最基本的OpenGL的3D功能。目前这种情况变成了一个僵局,因为显卡制造商已经声明不会支持完全开放源代码,他们认为这会暴露他们硬件上的商业秘密。不过Intel公司最近声明,从Intel965芯片组开始,它将公布其驱动程序的源代码。这将是Linux硬件驱动发展上的一个里程碑。

可得性

2006年五月,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立体桌面的全部设定。

延伸阅读

外部连结

参考资料

安装使用资料

免安装直接开机使用光碟(Live CD)

  • 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 的显示卡。另外它也可以被安装在硬碟上面。