在 SUSE Linux 上使用 Xgl
简述
我们努力简化 Xgl/Compiz 在 SUSE Linux 10.1 和 SUSE Linux Enterprise Desktop 10 的安装配置(起码和 在老版本 SUSE Linux 上使用 Xgl 比起来)。 尽管如此,这个软件仍然十分年轻,有些小地方甚至是粗糙不堪的。本页面解释怎样在 SUSE Linux 上启用 Xgl ,并解决一些常见问题。
获取最新软件包
10.1发布以后,Xgl 软件包又有很多重要更新,甚至还在 SLED 10 RC2 发布后修正了几个 bug。
可以从 SUSE 车间版 下载最新软件包。根据你的系统从 i586 或者 x86_64 下载最新的 compiz, xgl 和 libwnck 包,以及noarch 里面最新的 xgl-hardware-list 包。
(一旦正式发布 SLED 10 ,这些车间版的包会更彻底的更新,你可能会得到 SUSE 10.1 和 SLED 10 的 Xgl 官方升级包。)
另外一个 compiz 包以及配置工具的来源是 这里。还是根据你的系统架构下那几个包安装。注意这些包包含一些实验性的新特性和不被 SUSE 官方包包含的第三方 compiz 插件,可能会不稳定,也可能会有官方版没有的 bug 。(但一般来说是值得信赖的。--Truth)
在openSuSE10.2上,你还需要从xorg下载最新的xorg7.2包。
安装
除非你先安装 Xgl ,否则不会自动启用。启用它使用 Gnome 控制面板中的 "Desktop Effects" 工具。也可以以终端或 KDE 的“运行程序”运行 "gnome-xgl-settings" 打开。
Desktop Effects 工具将分析你的系统,检测你是否可以运行 Xgl。如果它检测出问题,会给你解决建议。
注: "gnome-xgl-settings" 是 "compiz" 软件包的一部分。
支持和未被支持的显卡
Novell 测试了许多常见的显卡和内置显卡芯片组,包括 ATI, Intel 和 NVIDIA 的产品,找出哪些可以良好运行 Xgl。而 Desktop Effects 工具会告诉你四种结果之一:
- Your graphics card is supported.
- 显卡被支持--Xgl 将运行良好。
- Your graphics card will not work with Xgl.
- 显卡不能运行 Xgl--Desktop Effects 工具将不会让你开启 Xgl,因为你的显卡要么不支持 3D 加速,要么对此类显卡的测试得知使用 Xgl 时可能崩溃或影响日常操作。
- Your graphics card is not supported, but may work.
- 显卡不被支持,但可能能行--并不是说显卡不能用 Xgl,可能是它太慢,或是 Xgl 可能崩溃或者一些特别的应用会导致图形混乱(比如开全屏放视频后转动桌面)。
- Your graphics card is not in Xgl's database.
- 显卡不在 Xgl 数据库--Desktop Effects 工具仍会尽力帮助你配置 Xgl,但是你有可能不能成功。我们还在继续测试新显卡,有新的信息就会升级 xgl-hardware-list 包。
有些情况下,显卡和 Xgl 出现的一些问题是 Xgl,或者显卡驱动中的 bug 引起的,所以如果你有问题,先确认自己使用的相关软件包是最新的。
3D 加速
Desktop Effects 工具提供的下一段信息是显卡的3D加速是否被开启。有些卡是自动开启的,你不需进行额外步骤。有些则需要手动调整一下;Desktop Effects 工具会尽力帮助你。
Intel 芯片组启用 3D 加速
在已支持的 Intel 芯片组上, 启用 3D 加速只不过是 SaX2 里面钩选一下那么简单。如果 Desktop Effects 发现你没有启用 3D 加速 ,它会让你运行 SaX2 解决。正式发布的原版 SUSE 10.1 中,点击 "Run SaX2" 按钮直接打开 SaX2, 你要自行选择正确的按钮(页面下端)点 OK。如果是最新的包, "Run SaX2" 按钮会直接调用libsax给你改过来。
ATI 或 NVIDIA 卡启用 3D 加速
所有支持的 ATI 和 NVIDIA 卡需要制造商的专有驱动启用 3D 加速。如果 Desktop Effects 工具发现你没有安装驱动,它会提议运行软件更新工具为你安装它们。
SLED10, 如果你在安装中进行了 Novell 注册,将会自动打开。如果没有注册,可以使用YaST的 "Novell Customer Center Configuration" 工具。这样会自动把 ATI 和 NVIDIA 驱动仓库加入你的 YaST/ZMD 安装源列表,然后 Desktop Effects 工具会自动找到需要的包。
SUSE 10.1, 首先手动装上驱动。ATI 驱动在 http://www.ati.com ,NVIDIA 驱动在 [ftp://download.nvidia.com/novell/] 。
如果你有 ATI 显卡,一些 /etc/X11/xorg.conf 里面的选项必须被调整一下以便 Xgl 完美运行。SUSE 10.1 自带的 Desktop Effects 工具将会自动修改文件,这也是你为什么要在打开 Xgl 前先安装车间版 compiz 包原因之一。
其它显卡启用 3D 加速
如果 Desktop Effects 工具不能识别你的显卡,即使你确实知道 3D 加速打开了它也会以为 3D 加速被关闭。此时的问题是,Desktop Effects 工具将不允许你启用 Xgl。
按住 Shift 键然后双击"3D 加速"按钮旁边的 "Disabled" ,可以跳过它对 3D 加速的自动检测设置。 只有在你确实知道 3D 加速打开了的情况下这样操作. (同样,你也可以这样做来改变它对是否支持你显卡的判定,但是不推荐这么做。)
打开和关闭 Xgl
如果你有一个可以开 Xgl 的显卡,也打开了 3D 加速, 最下面的按钮将是 "Enable Desktop Effects"。点击按钮,(按要求输入root密码后),工具会自动配置你的机器使用 Xgl,然后将你注销重启 X server。
关闭 Xgl 可以用 Desktop Effects 工具禁用它,将会进行一个与打开 Xgl 操作相反的流程。
如果打开了 Xgl,但是由于某些原因无法显示登录屏幕,以 root 运行 gnome-xgl-switch --disable-xgl 在命令行关闭 Xgl。(你也可能需要 rcxdm restart 来重启 X 以及登录屏幕。。)
使用配置 Compiz
Compiz 即是 Xgl 的窗口管理器也是复合管理器,提供 Xgl 相关所有特效。
GNOME 上使用 Compiz
如果你之前使用 metacity 作为 GNOME 窗口管理器(默认设置), 你会在启用 Xgl 后登录时被自动转到 compiz。Compiz 默认使用大多数和metacity相同的快捷键和鼠标组合,比如 "移动窗口", "最大化",等等。如果你曾经在控制中心"快捷键"改变过 metacity 快捷键,就要再去为 compiz 改一遍。控制中心"窗口"里面的设置也一样,需要再去改一遍。
KDE 上使用 Compiz
首先,像原来一样登录 KDE,"个人设置", "桌面", "任务条"。确定"显示程序图标"被选中。(目前需要这样保证任务栏在 Compiz 下功能正常。)
现在你需要创建2个文件,让 KDE 知道你要用另外的窗口管理器 Compiz 而不是默认的 Kwin。以 root 打开 kate 编辑器-KDE 启动按钮(绿色 SUSE logo,运行命令: kdesu kate 。输入root密码确定,把下面这行粘贴到新的空白文件中:
/usr/bin/compiz gconf & /usr/bin/gnome-window-decorator &
以 compiz.sh 文件名保存到 /usr/local/bin,然后赋予它可执行权限。KDE 启动按钮,系统,文件管理器,文件管理器-超级用户模式(输入密码确定)。用这个文件管理器访问 /usr/local/bin,右键单击=compiz.sh,属性,权限,确定可执行被选中。
创建另一个文件,大体步骤像 compiz.sh 一样,但是以 kdewm.sh 文件名保存到 /opt/kde3/env,它的内容是:
export KDEWM=/usr/local/bin/compiz.sh
同样步骤给文件可执行权限。这就告诉KDE以后执行 compiz.sh 而不是 kwin。完成后,注销重新登录 KDE。Xgl 将配合 KDE 运行。
参看 Xgl 问题解决页面相关部分。
配置 Compiz
Desktop Effects 工具也可以用来配置 compiz 。在 gnome 控制中心中打开它, "Window Effects", "Desktop Cube" 和 "Other Features" 标签栏都可以设置 compiz 。
如上所述,一些快捷键和窗口管理设置也可以通过 GNOME "快捷键" 和 "窗口" 控制面板设置。
有一些更复杂(或新加的以及第三方插件的)的 compiz 选项在 Desktop Effects 工具中无法配置。所有配置都在 "gconf-editor" 工具 (SUSE 10.1 菜单中的 "GNOME 配置编辑器" ,也在 SLED 的 Application Browser 中)的 "/apps/compiz/"下面。在那里可以看到关于每个选项的用途的小部分说明,Compiz 页面也有一些。
此外可以用 gset-compiz 或者 gcompizthemer 软件包,在 这里 下载。
问题解决
Nvidia: 鼠标指针闪烁或残留尾迹
如果你有 Nvidia 显卡 (测试时用的6600GT),而且鼠标指针闪烁,你需要在/etc/X11/xorg.conf的[Screen]部分把 HWCursor option 设为 "On"。
KDE 用户
如果你是按照 SUSE Linux 10.1 默认 KDE 桌面环境安装的,可能会有问题。登录管理器之前你可能会被弹回 console 文本界面,dmesg 会得到 "X server startup timeout, terminating" 错误。如果你也安装了 gnome ,那么在 /etc/sysconfig/displaymanager 中设为 DISPLAYMANAGER="gdm"(原来是kdm)。
链接
更多 Xgl/Compiz 一般性的信息,参阅 Xgl 和 Compiz 概览,遇有问题参看Xgl 问题解决 页面。
更多支持在irc.freenode.org上#Xgl频道。</nowiki>