XGL简介

来源: 作者:僵尸
  
Xgl 是依附于OpenGL的一个全新的 Xserver 层。Xgl 可以执行复杂图形指令-比如渲染抗锯齿 (http://en.wikipedia.org/wiki/Antialiasing)字体--明显比其他现有的不用 OpenGL 的 Xserver 快。目前执行的后端程序是 Xglx 但以后将会是 Xegl。

更重要的是,Xgl加速了负载的复合操作,通过针对OpenGL优化的复合/窗口管理,比如Compiz,使炫目视觉效果成为可能。这些视效有广泛的实际应用,使Linux更加易用,并为经验不足的用户创建了易于理解和切换的工作空间。

Xgl 必须配合compositor/窗口管理器混合使用才能实现全部功能。Compiz 是一个Xgl窗口管理器程序。

可能将来的显示硬件只支持 3D 指令,不再有 2D 内核。因此,Xgl 对所有依赖于X.org基金会的操作系统来说是一个重要的进步。

开源的Xgl
2006上半年, Xgl 维护者 David Reveman 在freedesktop.org (http://freedesktop.org/wiki/Software) CVS 仓库提交了他最新的Xgl改进和 Compiz。现在,freedesktop.org (http://freedesktop.org/wiki/Software)作为发布维护Xgl包 (http://www.freedesktop.org/Software/Xgl)源代码的主机。

使用 Xgl/Compiz
在 SUSE Linux 上使用Xgl,参见在 SUSE Linux 上使用 Xgl。关于窗口管理器的信息在compiz页面。如果你碰到问题,请看Xgl 问题解决页面。

常见问题 (FAQ)
我能用自己喜欢的窗口管理器协同 compiz 工作么?
不行, compiz 是个窗口管理器,每次只能运行一个。复合管理器和窗口管理器是不同的概念,很多效果需要两者紧密结合,就是所谓的复合窗口管理器。compiz 正是这样一个复合窗口管理器。
那 glxcompmgr.rpm 和 xglx.rpm 是怎么回事?
glxcompmgr 已经不用了,xglx 也一样。
运行 Xgl 的时候不能实现直接渲染,但是在 Xorg 可以。为什么 OpenGL 程序不能加速了?
请勿混淆硬件加速和直接渲染。如果驱动支持,比如nvidia和fglrx去定, OpenGL 可以在 Xgl 下实现 pBuffers 或 [Xgl_问题解决#术语表|FBOs]]加速。直接渲染就是另一回事了,目前不能执行,甚至还没有指定执行直接渲染需要的必要扩展,更不用说直接独立运行了。
直接渲染意味着要硬件加速,而不是倒过来。直接渲染比间接渲染要快一些,但是间接渲染也没有听上去那么差劲。
很不幸,对 Xorg 来说,直接渲染和图形加速是同义词,而且不像直接渲染,很难检测硬件加速是可用。
我能把桌面放在顶面或者底面么?
不行,这没什么意义。想想向上翻两下桌面就该头朝下了,或者你设置个了多个桌面那么你的顶面根本不是矩形。如果你觉得桌面数量不够,改变 apps/compiz/general/screen0/options/size 的值增加桌面。
我怎么配置 Xgl 多显示器设置?
目前 Xgl 和 compiz 不支持 Xinerama 扩展。目前在解决这个问题。
所有这些都是 Xorg 7 一部分么?
不是,Xgl 在 Xorg 社区内开发,但是一个不同的分支。整合将在 Xorg 7.1 发布以后发生。
我怎样在配置文件中启用 Composite ?
不用。 Xgl 本身支持 Composite,之下的 Xorg 无须输出 Composite。这很重要,比如,对 nvdia 驱动,同时使用OpenGL和Composite这里还有问题。
怎么解决绘图出现破碎的情况?
问题复杂,分类讨论。



技术背景说明
Xgl 和 compiz 都是主要有 David Reveman (Novell)创建,Matthias Hopf (SUSE)也作了一些工作。Dave Arlie, Adam Jackson (Red Hat)和 Jon Smirl 从事与独立的 Xegl工作,这里不作说明,但是也与 Xgl 相关。 Xgl 使用 glitz API 作为加速层,这是由 David Reveman 和 Peter Nilsson (UMU)设计开发的。

Xgl 是许多程序的前端,有 glx 后端 (也叫 Xglx) 集中了目前主要开发力量。这个后端运行在Xserver (像 Xnest) 之上,提供必要的 OpenGL 支持。有一个 -fullscreen 开关掌控创建一个全屏窗口。你必须提供一个显示名称,而且不能与原有 Xserver 同名。另外一个后端 Xegl 允许直接在 framebuffer 上运行Xgl。这个后端目前还远不完善,而且仅能在基于 ATI R200 显卡的 Linux 上运行。

glx 后端不能独立运行Xgl,它会在下层自动启动一个 Xorg server。SUSE的默认配置为之使用 display :93 。只有 Xgl 被允许与这个 Xorg server 交流,并为其他所有程序创建 display :0 。

硬件建议
已知这些显示类硬件可以比较好的运行XGL,如果有异议请添加内容。

Intel
所有显示芯片组需要最新的 Xgl 和 compiz 包才能正常运行。请等待 SL10.1 rc1。
i915, i945
加速 XVideo 在这些显卡上有问题。参看问题解决。
NVidia
所有NVIDIA显卡需要专有驱动运行Xgl。在Beta8上,你需要在安装专有驱动以后卸载并重装。
GeForce 4xxx 系列
XVideo无法加速。
GeForce FX 5xxx 系列, Quadro FX 系列
加速 XVideo 太慢,正在调查原因。
GeForce 6xxx 系列
GeForce 7xxx 系列
ATI

Mobility Radeon 9700 SE:以专有驱动 fglrx 8.23 运行 Xgl
Radeon X300: 在专有 fglrx 驱动 8.23 下运行 Xgl
Mobility X700 (PCI-E): 专有驱动 fglrx 8.24.8 Gnome中完美运行 Xgl
如果你不知道自己显卡,用root权限运行: hwinfo --gfxcard 如果你的显卡不在列表上,也可以参阅Gentoo硬件列表 (http://gentoo-wiki.com/HARDWARE_Video_Card_Support_Under_XGL)。

有问题的硬件
已知有故障或不兼容的硬件:

ATI
Mobility Radeon M6 LY (7000), Mobility Radeon M9 (9000) 和 Mobility Radeon M9+ (9200)
绘图混乱,偶尔闪烁。
Radeon 9200
使用 fglrx 8.22.5 驱动没有硬件加速。
Intel
i855GM
可以运行,但 compiz 可能在启动时崩溃,而且效果总体来说很慢。
i815, i845, i855
太老了,Xgl 能运行,但是 compiz 不行。可能以后会添加一个兼容层。

时间:2006-08-28 09:41 来源: 作者:僵尸 原文链接

好文,顶一下
(0)
0%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量