LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2491|回复: 6

由外至内加速你的Linux (openSUSE折腾指南)连载E

[复制链接]
发表于 2009-5-28 15:33:59 | 显示全部楼层 |阅读模式
由外至内加速你的Linux
Opensuse 折腾指南连载E - 优化你的 X


前文见:
[color="Blue"]A篇:当时我就震惊了 - 理念篇
[color="Blue"]B篇:当时我就想要了- 工具篇
[color="Blue"]C篇:当时我就手贱了 - 环境搭建篇
[color="Blue"]D篇:当时我就搞定了 - 初始任务篇 (kernel & glibc)

系统优化思路

好了,我假设你已经通过初始任务掌握了优化编译的操作,在参数优化编译下,现在系统已经出现了相当的性能提升。如果没有,是你感觉不够细腻。是的,撞墙后重来可能会好一些。

现在我们已经优化编译了最重要的 Kernel 和 glibc ,下一步是为自己的系统选择一个优化思路。你可以把系统里面安装的所有包重新通过 rpmbuild 重新编译一遍获取性能提升,下载加编译一次大概也就花你几百个小时而已,任何包升级以后还要再来一遍跟上。这样做费时费力,投入产出比不高。你不得不花时间编译一些永远用不到的东西。

所以在逻辑上定出一条优化思路是比较重要的:选择性优化编译软件!!!

而用 openSUSE 如此折腾是有资本的,它有相当不错的基础系统和打包结构。你可以仅仅用自己编译的包替换就好了,一般不会影响其他包。你也不一定非要先编译 qt4 再编译 KDE。如果时间紧,直接装上官方的 qt 包编译 kde4 也没问题。

作为正常用户来讲,选择什么软件进行优化编译的标准很简单:

1. 优先优化日常使用最频繁的程序。常用什么软件就优化编译什么。
这样优化的效果最明显,带给你的感受最大,节约你的时间最多。

2. 技术上讲,加参数优化编译对过多依赖于硬件响应的程序效果不如运算密集型程序优化效果明显。

根据这两个标准你可以作出判断需要优化编译哪些程序。然后可以做出优化路径,从你希望的底层开始。

每个人最常用的程序可能不一样,可如果你用 Linux 作为桌面系统的话,图形 Xorg + 一个桌面系统往往是必不可少的。篇幅所限,这个连载只讲到 X。因为 X 的话题比较大。呵呵。

优化编译 X

首先确定在连载C里面提到的优化设置/文件都完成了。否则重新编译没有任何效果。开始干活。

折腾到这份上了,不升级对得起自己么?所以,先加源升级你的 Xorg 等 Linux 图形基系统的版本。至于从 11.1 自带的 Xserver 1.5 升级到 Xserver 1.6 性能提升和功能增强都很明显,后面会说。
注意!如果你用闭源驱动,请检查驱动是否支持 Xserver 1.6 。比如我的 ATI Mobility Radeon X700 所用 ati catalyst 官方驱动就不支持 Xserver 1.6。如果你还想用闭源驱动,请勿升级 Xserver!!!!openSUSE 11.2已经自带了 X-server 1.6。请自行抉择。

首先,根据你的系统版本加安装源:
http://download.opensuse.org/repositories/X11:/XOrg/

然后zypper up升级,同时装一些下面编译要用的软件。
su
zypper up
zypper in autoconf automake libtool libexpat-devel fdupes gettext-tools gperf pam-devel rsh update-desktop-files bison flex hal-devel

不升级直接下 src.rpm 编译安装可以么?不可以。必须先升级,这是 Xorg 优化编译的规矩。之后到下面网址下载许多 src.rpm 文件:

http://download.opensuse.org/repositories/X11:/XOrg/openSUSE_11.1/src/ 注意链接里面的 openSUSE 11.1 字样, 如果您是11.2自动换成相应目录,下错结局很麻烦。

你需要下载的src.rpm 文件有:
libdrm
libXi6
Mesa
pixman
xorg-x11
xorg-x11-driver-input
xorg-x11-libICE
xorg-x11-libSM
xorg-x11-libX11
xorg-x11-libX11-ccache
xorg-x11-libXau
xorg-x11-libXdmcp
xorg-x11-libXext
xorg-x11-libXfixes
xorg-x11-libXmu
xorg-x11-libXp
xorg-x11-libXpm
xorg-x11-libXprintUtil
xorg-x11-libXrender
xorg-x11-libXt
xorg-x11-libXv
xorg-x11-libs
xorg-x11-libxcb
xorg-x11-libxkbfile
xorg-x11-server

方便起见,把他们放在一个目录里,然后挨个编译后安装.
编译方法异常简单(这是后面最常用的方法,切记,万分重要):
rpmbuild --rebuild ABC.src.rpm

依赖性处理很简单,前面提过了,缺什么就 zypper in 什么。之后再来 rpmbuild。
虽然事实上可以编译几个特定包,安装一下再接着编译特定包。由于具体比较麻烦,建议编译一个就安装它所生成的包。具体处理参见前文。

编译顺序:
pixman
libdrm
Mesa
xorg-x11-libXau
xorg-x11-libICE
xorg-x11-libSM
xorg-x11-libXdmcp
xorg-x11-libXext
xorg-x11-libxcb
xorg-x11-libX11
libXi6
xorg-x11-libXp
xorg-x11-libXt
xorg-x11-libXv
xorg-x11-libXmu
xorg-x11-libXfixes
xorg-x11-libXpm
xorg-x11-libXprintUtil
xorg-x11-libXrender
xorg-x11-libs
xorg-x11
xorg-x11-libxkbfile
xorg-x11-server
xorg-x11-driver-input
xorg-x11-libX11-ccache
至于显卡驱动可以在xorg-x11-server编译安装完成以后单独编译,你可以选择编译开源的或者是闭源的。这里不一一说明。

OK。升级+优化完成。

现在开始配置新的 X server

与自带的不同,新版 X server 2D  都更快,还支持笔记本触摸板多点触摸,多屏幕自动适配等等功能。需要手动改一下你的 xorg.conf 让它生效。

你需要做的是
sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.bak

优化完成,因为X-server 1.6以上版本都是自动检测配置,无须配置。此外您如果有 Synaptics 触摸板,多点触摸已经自动打开。开个浏览器体验下吧。
发表于 2009-5-28 17:22:41 | 显示全部楼层
这里的xorg-server已经是1.6.1了...
另外N卡用户折腾这个可能效果不明显
回复 支持 反对

使用道具 举报

发表于 2009-5-29 01:57:16 | 显示全部楼层
原来xorg 1.6.1的2d有大幅性能提升啊
难怪升级到ubuntu 9.10和fedora 11能明显感觉到x系统的延时小了很多
回复 支持 反对

使用道具 举报

发表于 2009-5-29 22:27:23 | 显示全部楼层
折腾中。。。。。。。。。。。老大谢谢。。。。。。。。
回复 支持 反对

使用道具 举报

发表于 2009-7-26 21:39:21 | 显示全部楼层
啊嘞...强悍的连载中的帖子.....
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-5-15 20:15:44 | 显示全部楼层
是什么打扰了我的梦
回复 支持 反对

使用道具 举报

发表于 2010-5-15 20:43:52 | 显示全部楼层
算了,编辑掉

不做致命性精确打击

提前引爆 -。-

预祝折腾圆满成功

最好能出个自动化折腾器

恩恩
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表