XGL
目录
Xgl是基于OpenGL上的X服务架构,现在处于开发阶段,很多重要的部分还未完成。Xglx是目前唯一使用这种结构的X服务器,它需要在一个已 有的X服务器,只用于测试和开发目的。Xegl是基于Xgl架构的新一代X服务器,它将使用EGL扩展独立地运行在OpenGL上。
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独特架构的本体上面。
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的X层,使用混合桌面,开启通往新功能、新机会的大门。以下是一些可能出现的功能,其中一些现在已经实现。我们要破除基于OpenGL的X中看不中用的迷信。
①加倍窗口显示分辨率,应用程序可以用特定的分辨率渲染窗口,而与桌面的分辨率不同。想像一下梯度背景,这样的一个窗口或材质只有几个色素,却以1600x1200或更大的尺寸显示。
②快速、简单的屏幕旋转、翻转、摇动、放大。
③高级字体渲染,包括使用材质和分段程序的及时轮廓字体渲染。
④模拟硬件层面,历史悠久的工作站图形功能可以用材质混合实现⑤全屏颜色处理,包括伽玛纠正、对比增强、模糊、加亮等等。
OpenGL并未规范如何去启始显示和处理绘图的细节。取而代之的是规范了一个特殊的中介API去驱动底层作业系统的绘图系统呼叫。到目前为止,有两种不同的后端(backend)途径去解决这些初始化的问题。最有可能的是大多数各个后端将会包含相同的程式码以及不同的差异将会首先在servers初始化部份上。
对于另一竞争者微软公司而言,他们也在自家的Windows作业系统上提供了相似功能的解决方案:视窗桌面管理器DWM。有别于Xgl所采用的OpenGL技术,这套采用微软自家DirectX技术的DWM已经在新一代的视窗作业系统Windows Vista中问世。
2006年五月,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立体桌面的全部设定。
附件列表
故事内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
