linux 桌面3d硬件支持,配置XGL实现梦幻般Linux 3D桌面
配置XGL实现梦幻般Linux 3D桌面发布时间:2006-09-16 12:01:25来源:红联作者:flycocoon转载,本文仅做参考学习之用时下,Linux社区最热门的话题之一莫过于对XGL和AIGLX的讨论和实现。XGL出自于Novell,完全基于OpenGL绘图引擎,通过利用 nvidia/ATI显卡优良的硬件加速通道实现可用的2D/ 3D桌面。XGL可以说是新一代的建立在OpenGL
配置XGL实现梦幻般Linux 3D桌面
发布时间:2006-09-16 12:01:25来源:红联作者:flycocoon
转载,本文仅做参考学习之用
时下,Linux社区最热门的话题之一莫过于对XGL和AIGL
X的讨论和实现。XGL出自于Novell,完全基于OpenGL绘图引擎,通过利用 nvidia/ATI显卡优良的硬件加速通道实现可用的2D/ 3D桌面。XGL可以说是新一代的建立在OpenGL基础上的X server。由于充分利用了显卡的GPU,运行速度相当的快。没有出现好看不好用的情况。个人觉得值得期待。AIGLX是RedHat/ Fedora项目下的一个增强目前X服务器显示效能的子项目,也是利用OpenGL的绘图引擎,但主要是在现有的X架构下进行扩展和对Mesa增加 patch.动作不如Novell大。不过由于强调了将尽量依赖open source的driver, 很多人也看好。
官方网站:
XGL:http://en.opensuse.org/Xgl
AIGLX: http://fedoraproject.org/wiki/RenderingProject/aiglx
参考文献:
http://www.ubuntuforums.org/showthread.php?t=131267
http://www.ubuntuforums.org/showthread.php?t=131253
http://www.ubuntuforums.org/showthread.php?t=134657
http://ubuntuforums.org/showthread.php?t=132063
大致的介绍了一下后,现在看看如何在ubuntu Dapper下配置实现XGL。(Breezy没有试过,但应该也是可行的。) 声明一下的是目前这些技术都还处在开发阶段(尽管本人觉得已经相当的稳定了),但还是有可能造成系统不稳定。如果你出现了问题,可以到这里讨论。还有就是由于XGL是基于OpenGL绘图引擎的,所以你必须有nVIDIA或ATI显卡(如果有人能在非这两种卡的情况下配置成功,请告知,我会将这段修改)。 nVIDIA的基本要在Geforce2以上,ATI在r200以上。因为看到网上很多人都报怨现行的驱动已经不支持很旧显卡了。使用nv驱动的肯定不行。(我在nvidia的TNT2上用nv的驱动试了,不行)还有本文主要针对nVidia显卡,因为我没有ATI卡,所以也无法尝试。
1. 确保你打开了sources.list中的universe和multiverse源。怎么打开我就不多讲了。
2. 确保升级到最新的nvidia驱动.
[code]apt-get update && apt-get install linux-restricted-modules-$(uname -r)
nvidia-glx nvidia-glx-dev nvidia-kernel-common[/code]
3. 完成之后,我们开始配置xorg.conf.首先做个备份,以免出错后无法回复。
[code]cp /etc/X11/xorg.conf /etc/X11/xorg.conf.orig[/code]
现在开始配置。看到"Module"的部分,将Load "dri""注释掉。然后加上Load "glx"".完成之后象这样:
[code]Load "glx"
# Load "dri"[/code]
其他的不用修改。然后看到"Device"部分。参照下面的配置改:
[code]Section "Device"
Identifier "NVIDIA Corporation NV17 [GeForce4 420 Go 32M]"
Driver "nvidia"
Option "NvAGP" "1"
Option "NoLogo" "true"
Option "RenderAccel" "true"
Option "AllowGLXWithComposite" "true"
Option "CursorShadow" "1"
EndSection[/code]
Identifier不要照抄我的,你的显卡是什么型号就是什么。
Driver一定要将"nv"改为"nvidia".
Option "NvAGP" "1"表示用agpgart模块。如果你是PCIE显卡,不用这个。
Option "NoLogo" "true"表示不显示nvidia的logo.
Option "RenderAccel" "true"表示打开显卡的硬件加速。
option "AllowGLXWithComposite" "true"表示利用OpenGL来进行图形的合成渲染。
Option "CursorShadow" "1"表示显示鼠标阴影。(这是我原来有的,和XGL没什么关系,加不加无所谓。)
好了,如果你已经完成,那么xorg.conf的部分就完成。Save 你的xorg.conf文件。
4. 重启X或是重启电脑,保证所有的driver和modules都能正常的加载。如果你发现X起不来了,那么你基本上可以在这停下了。恢复原来你备份的xorg. conf然后看看到底是怎么回事。如果你的X还能起,那么,请继续。
5. 这一步我们安装全新的XGL服务器和图形合成管理器。同样,必须打开universe和multiverse源。
[code]apt-get install compiz xserver-xgl libgl1-mesa xserver-xorg libglitz-glx1
compiz- gnome[/code]
6. 完成了之后,我们来配置gdm.
[code]vi /etc/gdm/gdm.conf-custom[/code]
将下面的配置文件完全照抄
[code][daemon]
[security]
[xdmcp]
[gui]
[greeter]
[chooser]
[debug]
[servers]
0=Xgl
[server-Xgl]
name=Xgl server command=/usr/bin/Xgl :0 -fullscreen -ac -accel glx:pbuffer -accel xv:fbo flexible=true[/code]
注意:上面这个配置只能用于nVIDIA显卡.如果你是ATI显卡,将[server]以下的内容改成
[code][servers]
1=Xgl
[server-Xgl]
name=Xgl server command=/usr/bin/Xgl :1 -fullscreen -ac -accel glx:pbuffer -accel xv:fbo flexible=true[/code]
然后,你还要将gdm.conf中
[code]0=Standard
#1=Standard[/code]
改成:
[code]#0=Standard
1=Standard[/code]
这样gdm将缺省用显示屏幕1而不是0. 还有上面gdm的配置文件都是老外写的,我只是拿来用。
7. 现在来配置OpenGL composite manager,这个将取代metacity来渲染和设定窗口的行为。值得注意的是在metacity下设定的快捷键都将没有用了。
[code]sudo vi /usr/bin/start_compiz
#!/bin/bash
gnome-window-decorator &
compiz --replace gconf decoration wobbly fade minimize cube rotate zoom scale move resize place menu switcher opacity &[/code]
这个script也是抄的。
[code]sudo chmod 755 /usr/bin/start_compiz[/code]
opacity这个plugin并没有安装。我们要到
http://ubuntuforums.org/attachment.php?attachmentid=6220&stc=1&d=1140209767
下载,然后
[code]sudo tar xvfz /path/to/your/compiz_opacity.tar.gz -C /usr/lib/compiz/[/code]
9. 修改/etc/X11/xorg.conf 中colordepth from 16bit to 24bit
8.好了,基本上都完成了。你可以重启机器或X来起动XGL,然后在terminal下输入
[code]start_compiz[/code]
如果你看到你的窗口被重新绘制了,恭喜,你已经用上了目前最炫的Linux 3D桌面。如果你想看看有多酷,试试下面的Hotkeys: (这些Hotkeys都可以在gconf-editor->apps->compiz->plugins->... 的各个plugin中查看和修改。我列的这些都是缺省值)
想看看OSX的窗口排列吗:F12
Vista样式的窗口切换
立方体桌面切换+left/right key
立方体切换并保持当前窗口+left/right key
想看看透明窗口吗:+scrollmouse
想看看放大缩小吗:+scrollmouse
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)