当前位置:操作系统 > Unix/Linux >>

在FedoraCore5上体验Aiglx和Xgl&Compiz

摘要:

  Aiglx是一个旨在为标准桌面启用GL加速功能的项目,目的在于通过小幅度修改X server、使用添加新协议支持的Mesa升级版和带有混合管理器版本的metacity,让用户稍作改动即可在桌面上使用GL效果,随意开启、关闭该功能而无需替代使用中的X server。

  Xgl是基于OpenGL上的X服务架构,现在处于开发阶段,很多重要的部分还未完成。Xglx是目前唯一使用这种结构的X服务器,它需要在一个已有的X服务器,只用于测试和开发目的。Xegl是基于Xgl架构的新一代X服务器,它将使用EGL扩展独立地运行在OpenGL上

  本文简要介绍了Aiglx和Xgl的特点和功能,以及在Fedora Core 5上从源码编译、安装、配置Aiglx和Xgl的一种方法。希望为对此有兴趣的FC5用户提供一种尝试的途径。

  一 写在前面:

  ⒈什么是Xgl?

  http://www.freedesktop.org/wiki/Software_2fXgl

  Xgl是基于OpenGL上的X服务架构,现在处于开发阶段,很多重要的部分还未完成。Xglx是目前唯一使用这种结构的X服务器,它需要在一个已有的X服务器,只用于测试和开发目的。Xegl是基于Xgl架构的新一代X服务器,它将使用EGL扩展独立地运行在OpenGL上。

  它有哪些新的特性呢?

  基于OpenGL的X层,使用混合桌面,开启通往新功能、新机会的大门。以下是一些可能出现的功能,其中一些现在已经实现。我们要破除基于OpenGL的X中看不中用的迷信。

  ①加倍窗口显示分辨率,应用程序可以用特定的分辨率渲染窗口,而与桌面的分辨率不同。想像一下梯度背景,这样的一个窗口或材质只有几个色素,却以1600x1200或更大的尺寸显示。

  ②快速、简单的屏幕旋转、翻转、摇动、放大。

  ③高级字体渲染,包括使用材质和分段程序的及时轮廓字体渲染。

  ④模拟硬件层面,历史悠久的工作站图形功能可以用材质混合实现

  ⑤全屏颜色处理,包括伽玛纠正、对比增强、模糊、加亮等等。

  ⑥同一屏幕上混合像素深度,经重定向,上层窗口可以具有不同的色深(8、16、24、32bpp)。例如:XTerms可以8bpp(只需32bpp图像所用texmem的1/4)创建,用颜色查找表显示(texel 查找分段程序);

  ⑦每窗口任意色图(texel查找分段程序);

  ⑧替代窗口色彩空间,“视频”窗口可以存储为YCbCr(比RGB小),使用材质硬件显示时实时转化为RGB;

  ⑨窗口图像压缩,使用S3TC材质压缩,将内容很少改动的窗口压缩,存储于根窗口的桌面背景就是一个最好的应用。此项技术有可能节省大量内存;

  

  ⑩使用OpenGL多实例表面为反锯齿X渲染提供新应用。

  ⒉什么是Compiz?

  Compiz带来多种视觉效果,使得Linux桌面变得更方便、功能更强大、更新颖、更容易满足用户的特殊需求。Compiz使用OpenGL进行渲染,集窗口管理器与混合管理器于一身;窗口管理器处理屏幕上的应用程序和对话框,而混合管理器则使窗口和图形混合,产生混合图像;Compiz同时具有两者的功能,产生惊人的效果。

  Compiz目前只能与Xgl“共事”,Compiz的插件及窗口装饰器在Gnome和KDE下都能工作。

  ⒊什么是aiglx?

  http://fedoraproject.org/wiki/RenderingProject/aiglx?highlight=%28aiglx%29

  Aiglx(Accelerated Indirect GL X)是一个旨在为标准桌面启用GL加速功能的项目,目的在于通过小幅度修改X server、使用添加新协议支持的Mesa升级版和带有混合管理器版本的metacity,让用户稍作改动即可在桌面上使用GL效果,随意开启、关闭该功能而无需替代使用中的X server。

  代码是与X 社区相关的上游完成,Fedora Core 5是第一个包括了模块X包和在适合位置添加适合协议的发布版。Aiglx在X基础方面已经进行了大量工作,但对实际的渲染效果并没下太大力气,希望广大社区帮助创造有趣、适当的效果。重要的不是此时就推出成品,而是鼓励社区围绕其进行开发和实验。

  二 体验 Aiglx

  参考 http://fedoraproject.org/wiki/RenderingProject/aiglx

  ⒈下载、安装

  ①建立CVS目录

  mkdir /opt/CVS/cd /opt/CVS/

  ②下载安装最新的 GL protocol 头文件

  cvs -d:pserver:anoncvs@cvs.freedesktop.org:/cvs/xorg loginCVS password:<回车>cvs -d :pserver:anoncvs@cvs.freedesktop.org:/cvs/xorg co proto/GLcd /opt/CVS/proto/GL./autogen.shmakemake install

  ③下载安装最新的 Xorg 服务器源码

  cvs -d:pserver:anoncvs@cvs.freedesktop:/cvs/xorg co xserver/xorgcd /opt/CVS/xserver/xorg./autogen.sh --with-mesa-source=/opt/CVS/Mesa --sysconfdir=/etcmakemake installln -s /etc/X11/fs /usr/local/lib/X11/fs

  

  ④下载安装 Mesa 源码

  cvs -d:pserver:anoncvs@cvs.freedesktop:/cvs/mesa co Mesacd /opt/CVS/Mesamake linux-dri-x86make install DESTDIR=/usr/local

  ⑤下载安装 libcom

  cvs -d:pserver:anoncvs@anoncvs.gnome.org:/cvs/gnome loginCVS password: <回车>cvs -d:pserver:anoncvs@anoncvs.gnome.org:/cvs/gnome co libcmcd /opt/CVS/libcm./autogen.shmakemake install

  ⑥下载安装 metacity

  cvs -d:pserver:anoncvs@anoncvs.gnome.org:/cvs/gnome co metacitycd /opt/CVS/metacity./autogen.sh --enable-compositormakemake install

  ⒉配置

  ①启用混合管理器

  gconftool-2 -s '/apps/metacity/general/compositing_manager' --type bool true

  或使用配置管理器设置/apps/metacity/general/compositing_manager键值

  ②修改/etc/X11/xorg.conf,添加

  Section "extensions"Option "Composite"EndSectionSection "Device"...Option "XAANoOffscreenPixmaps"EndSection

  ③禁用混合管理器,运行命令

  gconftool-2 -s '/apps/metacity/general/compositing_manager' --type bool false

  或使用配置管理器修改/apps/metacity/general/compositing_manager键值

  ④使用鼠标右键来启用、禁用服务

  编辑文件:

  gedit ~/.gnome2/nautilus-scripts/aiglx

  添加内容:

  #!/bin/bashtitle="Aiglx Service"#Date: 3-19-2006# Wriiten By: fedorajim@gmail.comzenity --question --text "Do you want to turn On or Off the AIGLX Service? Yes=On / Cancel=Off" --title="$title"if [ "$(echo $?)" == "1" ] #They clicked "no"

  then # Turn off the AIGLX Service

  gconftool-2 -s '/apps/metacity/general/compositing_manager' --type bool falseelse# turn on the AIGLX Service

  gconftool-2 -s '/apps/metacity/general/compositing_manager' --type bool truefi


  

  保存文件,使其可执行

  chmod u+x ~/.gnome2/nautilus-scripts/aiglx

  ⒊ 演示和已知问题

  ①演示

  最小化之一 http://www.gnome.org/~jrb/aiglx/shot01.ogg

  最小化之二 http://www.gnome.org/~jrb/aiglx/shot02.ogg

  菜单淡化 http://www.gnome.org/~jrb/aiglx/shot03.ogg

  ②支持的显卡和一些问题

  http://fedoraproject.org/wiki/RenderingProject/aiglx#head-43a98eb9adc0264c802bf5918f1cc57bddbbc129

  三 体验 Xgl & Compiz

  本文的重点是在不破坏原有系统的基础上,使普通用户体验 Xgl & Compiz的新效能。

  默认情况是安装路径为/opt/Xgl,没有进行(二)部分所做下载

  ⒈下载安装

  ①建立CVS源码目录,下载源码包:

  mkdir /opt/CVS

  下载cvs源码的 libsvg, libsvg-cairo, mesa, xorg/glitz, xkbfile, glxproto, drm, compiz, FixesProto, ScrnSaverProto, CompositeProto, 下载control-center-2.14.0源码; 最新的cairo源码已经不再使用CVS,下载使用git。

  使用yum安装git

  yum install git

  git clone git://gi
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,