3
28
2011
35

新的Arch,杯具的nouveau驱动

本文来自依云's Blog,转载请注明。

上周五,我决定在本机上安装 Archlinux,然后逐步将整个系统迁移过去。但杯具的是,三天过去了,我只能决定暂时放弃。

转向 Arch

自从 Ubuntu 9.04 发布以来,我就告别了 Windows XP,一直在用 Ubuntu 了。时至今日已经快两年了,这个系统却从来没有重装过,Ubuntu 半年一次的版本升级,我都是升级升过来的。但现在,我觉得有必要换系统了。

首先,一个系统用的时间长了,难免有些垃圾文件神马的。Linux 比 Windows 要好很多,不需要“优化大师”神马的,但不清理我心里总觉得不舒服,因为我知道系统里有那么些无用的文件存在。首当其冲的是用户配置文件,就是$HOME下的东东。很多时候会一时冲动安装一些刚刚听说的软件,后来发现并不是自己喜欢或者需要的,所以又卸载掉。最开始什么都不清楚,没有去清理掉$HOME下的配置文件。后来会手动去清理下,但还是不时地发现一些不需要的配置文件。也有一些软件安装了却没有卸载干净,像软件自己生成的全局配置文件之类的,我也不可能每次卸载软件时仔细检查 dpkg 的输出。升级软件后也可能会留下一些再也不会用到的配置文件。

其次,Ubuntu 默认装了太多我从来不用的软件。鉴别出这些软件并不容易。而 Arch 的软件除了核心系统外完全由自己指定安装,这种不干活的软件势必会少很多。另外,Arch 的软件包打包很容易。虽然我不是编译狂人,但有些软件,比如Vim,我还是一直坚持自己编译。用 Ubuntu 的话,我只能很原始地编译好再make install,卸载时还得找到configure好的Makefile来卸载,而在 Arch 上的话,我可以很容易地让 pacman 帮我管理这些自己编译的软件。

再次,我现在的 Ubuntu 不知道被我怎么折腾了下,网络连接出问题了,虽然后来解决了,但是这样会自动使用一个名为“ifupdown (eth0)”的配置,且无法更改。它唯一的问题是,其 DNS 是由路由器分配的,而不是我指定的8.8.8.8。所以每次开机后、挂起/休眠恢复后,我都需要重新连下网,等等几十秒,让我很是郁闷。另外,由于历史原因,我一直在使用 ext3 文件系统,每次检查文件系统时得等好几分钟,很想换 ext4 了。

最后,Arch 的启动和关机界面太漂亮了。我并不喜欢 Ubuntu 的图形启动界面,就像我不喜欢 Window 7 的 Aero 界面一样。纯文本的界面挺不错的,而且我知道它正在做什么。万一卡住了,我也知道是卡在什么位置了。配置也很方便,主要的系统配置都写在rc.conf里,不像 Ubuntu 下,我不知道 sshd、vsftpd 以及 privoxy 是怎么跑起来的。前两者没什么问题,可是 privoxy 我有自己运行的实例,系统自动运行反而占用了端口,让使用我自己的配置的实例运行不了。

新的系统

我是直接复制之前安装在移动硬盘上的终端版 Arch,省得升级和安装曾经安装过的软件的麻烦。首先挂载/home和/boot,dd 了个 70M 的文件再 mkfs.ext4 后挂载到 /var/lib/pacman,专门放 pacman 的数据库。之所以没有使用 reiserfs 或者 ext2,是考虑到它们可能更容易在断电或者宕机的时候出问题。安全第一啊!我可不想因为包管理器的数据库被损坏而重装系统。

复制系统我最开始用的是 tar,可是很快我发现复制过去的可执行文件的权限都是 700……果断 Ctrl-C,然后换 rsync:

rsync -aviK --delete --delete-excluded --exclude=boot/other '--exclude=var/cache/pacman/*' ./ /media/rooty

刚运行几秒钟,我突然想起了 pacman 数据库将要存放的 /var/lib/pacman.fs 文件。于是 Ctrl-C 掉,把--delete参数去掉再继续。就在我以为逃过一劫时,rsync 执行完毕,我看到最后一行赫然写着 pacman.fs 已被删除!

怎么会这样?赶紧 man 一下:

       --delete-excluded
              In addition to deleting the files on the receiving side that are not on the sending side, this tells rsync to also delete any files  on  the  receiving
              side  that are excluded (see --exclude).

In addition to

但我知道文件的数据还未真正删除,因为那个文件仍处于被挂载的状态。我尝试过 debugfs,但是没找到它。Google 过,无果。好吧,我认命,又重新 dd 了一个 pacman.fs,一边 dd 我一边祈祷,希望这个文件是连续分配的。

终于搞定复制前,我还经历过一次误删 pacman 的数据库。好在还有一份副本,所以才未酿成大祸。接下来就是一系列的 pacman 命令了。然后,当我尝试启动 gdm 时,杯具发生了——

杯具

花屏了!!!

这个图片是我手动启动 X,然后开 gnome-terminal,再在根本看不清字的情况下输入scrot而得到的。

三天来我一直在尝试各种设置,重装 nouveau 和 xorg,设定不同的 xorg.conf,但无一例外。通过 vimdiff,我注意到 Xorg.0.log 中的以下信息:

[   122.450] (--) NOUVEAU(0): Virtual size is 1366x768 (pitch 0)

而显示正确的时候(在我的 Ubuntu 和 PartedMagic 上)pitch 后面的数字都是 1408。

[    27.992] (--) NOUVEAU(0): Virtual size is 1366x768 (pitch 1408)

Google 后在这里看到设置DisplaySize等来调整 pitch 参数的方法。设置后我紧张地启动了 gdm,可希望再一次地破灭了……

昨天,我终于看到这个帖子。看来是个 bug 了。于是,再一次地,我的 Linux 系统安装宣告失败。记得2009年3月的时候,我第一次安装 Linux,也就是 Ubuntu 8.10。安装很顺利,可是在使用几天之后,X 便再也启动不了,只好重装。重装好几次,每次情况都一样,直到 9.04 的发布。

在尝试解决这个问题期间,我不仅搞定了终端下上 gtalk、中文输入(最开始是 vimim,后来改用 zhcon),还分析了 zhcon 的码表文件格式,并将 fcitx 的码表转成 zhcon 的。

如果让我重新选择,我绝对不会买使用 nvidia 显卡的机器了。

为什么我不用官方驱动

为什么我一定要用 nouveau,而不使用 nvidia 的官方驱动呢?不是因为 nouveau 开源,只是因为我转向 Arch 的原因之一——更漂亮的控制台界面。最开始我就是用的官方驱动,还有 compiz 的特效。我的控制台分辨率,从最开始的 800x600,后来终于折腾成了 1024x768。可是我的显示器是宽屏啊,1366x768 的!我忍受又胖又矮的字体好久,也忍受了每次从图形界面切换到 tty 或者另一个图形界面时的黑屏闪烁。最后,compiz 开始不给力,不时地卡好几秒。于是我终于放弃了特效,转向实用主义,用起了 nouveau 驱动。虽然 Ubuntu 的终端也就是那样,文本到处乱飞,字体也令人不爽,但毕竟切换 tty 时不再闪烁,我可以同时跑 Awesome 和 gnome 了,心里还是挺满意的。

本以为可以完美转向 Arch 的,没想到再次被 nvidia 杯具。我实在是弄不懂,开放接口文档就那么难么?


2011年4月9日更新:

今天准备试试GNOME 3 的 Live CD,结果进入图形界面后一看,和 Arch 一样的悲剧……

2011年4月11日更新:

这里有一些相关的 bug 报告——

2011年4月11日再次更新:

经过两个星期的折腾和等待,以及Update Scanner的不断监视,我于第一时间更新内核至 2.6.38.2,整个世界就正常了!

Category: Linux | Tags: arch 显卡驱动 nouveau | Read Count: 13822
freetstar 说:
Mar 28, 2011 10:57:43 PM

额。。。我的intel i5集成显卡,直接安装的intel显卡驱动,然后xorg.conf都不用配。。
话说n卡还是毕源的较为给力阿

GunsNRose 说:
Mar 29, 2011 09:30:42 AM

前几天升级pacman 3.5也误删了 /var/lib/pacman,没备份, 好在按官方的WIKI弄好的,后来才发现有个--dbonly的参数
一直用的是闭源的nvidia驱动
Arch做桌面还是挺不错的,要加软件自己弄弄PKGBUILD搞定,几年前用了一小段时间的ubuntu,后来转到gentoo才算入门,用了快三年编译怕了,转arch了

Avatar_small
依云 说:
Mar 29, 2011 01:58:18 PM

我觉得 pacman 数据库备份也没多大价值,除非每次更改后都更新下备份,不然出问题后不还是数据库与真实情况不一致吗。还不如把它的日志文件多多备份呢。

梧桐 说:
Mar 29, 2011 11:11:25 PM

呃,我第一次用也是9.04,新氧~后来不了了之(当时神马都不懂啊)~一个月前又开始深入使用ubuntu,每天看书、google,目前感觉对操作系统了解真的多了很多~纯水帖~不好意思哈~

Avatar_small
依云 说:
Mar 29, 2011 11:22:39 PM

呵呵,看来你第一次用时是没被微软恶心到啊。我怕了微软了,换 Linux 之后就再也不主动用 Windows 了 :-)

我觉得用 Linux 之后,我不光了解了一些底层的东西,而且可以无视英语六级了 :-P

梧桐 说:
Mar 30, 2011 12:09:33 AM

目前还没办法彻底摆脱,主要是QQ视频太好用了^_^,我父母和女朋友不在一起嘛哈哈~以前还感觉自己windows用的还算不错了,现在学习linux发现自己真是无知者无畏啊,哈~美中不足linux下面没有好用的屏幕取词软件,学英语不方便,虽然在努力学英语了,但是基础太烂唉~

Avatar_small
亚弥 说:
Mar 30, 2011 01:19:53 PM

哈哈哈~~~你也开始玩Arch啦~~

gfreezy 说:
Mar 30, 2011 03:16:48 PM

我也是nvidia,没遇到过博主的问题。
以前一直用闭源驱动。系统玩死重装后用开源的,
感觉开源的挺给力。tty直接识别为正常分辨率。
gnome3 的特效也挺给力,不知为什么,比闭源的要流畅。
gnome3 还是不习惯,切回gnome2了。
105m的n卡

Avatar_small
依云 说:
Mar 30, 2011 05:37:56 PM

啊,又一个正常的,为什么我就这么悲惨呢。。。

Avatar_small
依云 说:
Mar 30, 2011 05:40:16 PM

QQ 可以试试虚拟机能不能解决。取词可以用stardict。

nswutong 说:
Mar 31, 2011 02:28:15 AM

VB装好了QQ在win下面安装不了驱动,wm可以,但是声卡又不行了~悲剧啊~stardict不可以屏幕取词,听说这个还是微软专利~我今天看到文章说ubuntu是可以定制安装的,用DVD只装gnome-core就可以了~

Avatar_small
依云 说:
Mar 31, 2011 12:55:02 PM

应该说是微软专有漏洞,因为Windows上的取词实际上是一个进程访问另一个进程的数据。stardict 使用 X 选择区实现取词的,所以首先得选中文本。

moonair 说:
Apr 08, 2011 06:37:58 AM

我的也是nv卡,显示器分辨率也是1366x768,开/闭源驱动都相当的正常。

Avatar_small
依云 说:
Apr 08, 2011 03:14:44 PM

我现在是整个 Arch 都相当不正常了(莫名其妙地自动关机),开/闭源驱动也全部杯具了,555……

Avatar_small
蓝色基因 说:
Apr 11, 2011 12:13:36 AM

Ubuntu 下面如果用 checkinstall 来代替 make install 安装程序的话,就可以同时注册到系统的 Package Manager 里面,想卸的时候鼠标点点就能卸载了。

Avatar_small
依云 说:
Apr 11, 2011 02:02:15 PM

貌似很不错,以后有机会我试试。

fanhe 说:
Apr 14, 2011 08:29:41 PM

arch的软件包管理渣啊,我之前试了一下,居然不支持仅搜索包的名字,一定要把描述搜索了,太渣了,比起debian/ubuntu系的,太渣了,于是果断无视,坚定了我deb系的决心。

Avatar_small
依云 说:
Apr 15, 2011 12:37:40 PM

为什么要搜索包名呢?补全基本上够用了。如果你一定要搜索包名的话,自己处理下就可以了,比如
ls -d /var/lib/pacman/sync/*/*keyword*|cut -f 7 -d/|sed 's/-[^-]*\(-[[:digit:]]*\)\?$//'

荒野无灯 说:
May 04, 2011 12:36:21 PM

11.04太令人蛋疼了,现在我也从属于ARCH阵营的人啦

GunsNRose 说:
May 04, 2011 12:51:03 PM

备份是没啥用,是因为我删掉了,哈哈
你可以试一下ubuntu,gentoo这些,把存你安了什么包的那东东给删了就知道了,结果就是你的系统没安任何软件包,后来还是恢复了

Avatar_small
依云 说:
May 04, 2011 01:48:10 PM

啊,大家都说11.04不好啊,还好我没有升级。

梧桐 说:
May 05, 2011 11:27:36 AM

我也转arch了,11.04太蛋疼了。。arch感觉学的东西更多了。

荒野无灯 说:
May 07, 2011 08:33:16 PM

我升级ubuntu到11.04后直接删除之了。原来10.04.2用得相当方便的,真后悔升级了。不过也好,我又认识了ARCHLINUX

荒野无灯 说:
May 07, 2011 08:35:27 PM

哪里不支持。。。。。
你试下:
sudo pacman -Ss php-apc
包名是 php-apc ,描述里面没有该字眼。

梧桐 说:
May 07, 2011 09:16:16 PM

直接yaourt packagename。。

Avatar_small
依云 说:
May 07, 2011 09:18:34 PM

Arch 别的都好,就是升级太快,还不方便降级。GTK 3 下的 fcitx 十分悲剧。。。。

fanhe 说:
May 16, 2011 02:01:39 PM

想知道自己到底真正想要怎样的系统, 装一遍 LFS 就知道了. 只要知道了自己所需, 你可以直接无视什么所有不爽的发行版之类的, 别人云好就好.

Avatar_small
依云 说:
May 16, 2011 02:48:51 PM

那个在我的机器上得冬天弄,现在不行。。。

Avatar_small
亚弥 说:
May 16, 2011 04:29:47 PM

哈哈,为什么呢?

木大 说:
Nov 23, 2011 07:01:50 AM

仙子你真是身在福中不知福呃~~还嫌弃N卡呢,不知道linux世界中最悲剧的是我的sis卡么。。。。连一个正常的分辨率都木有啊。。。

Avatar_small
依云 说:
Nov 23, 2011 12:38:36 PM

现在才知道,Linux 下显卡都如此悲剧,唉。。。

Avatar_small
题叶 说:
Mar 18, 2012 05:44:40 PM

昨天我尝试去装 Arch, 先是 Chakra, 显示没有问题,
但是搜不出来 gnome 就太难受了, 然后 ArchBang..
结果 Arch 的 Wiki 里写的驱动装上基本没有效果,
然后等我装上 Gnome 折腾几次, 桌面就翘了..
虽然纠结, 还是得庆幸比楼主一年前发这篇文章的时候轻松一些了

秋景雨 说:
Oct 21, 2012 05:59:29 PM

我更悲剧呀,几天时间都在弄显卡驱动,从A卡与intel双显卡到N卡。装arch都正常,但都没有发挥显卡的性能,感觉全是cpu在运算。现在N卡的电脑装的是nouveau,但一休眠之后屏幕就是最高亮度,无法调节,跟在fedora 15上一样,至今天都一开到晚开着电脑,不敢休眠呀。

ggddver 说:
May 31, 2013 05:35:34 PM

我的也不敢休眠啊,我用的LMDE, 默认的3.2内核倒是可以休眠,但是声卡驱动有毛病,会莫名其妙的加大声音或者减小声音。。后来自己升级到3.8内核,这下声音没问题了,休眠问题来了,只要一休眠,再次唤醒会花屏,然后白屏,切到tty下面会看到一大串nouveau的信息,然后得换另外一个tty重新启动一下mdm服务,才能进入X界面,真心蛋疼啊,3.9的内核依旧这样,现在换到3.10RC3的内核, 问题才搞定了,但是开机有一条错误信息Fast TSC calibration failed,虽然不影响使用。。。真是没一个完美的啊


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter

部分静态文件存储由又拍云存储提供。 | Theme: Aeros 2.0 by TheBuckmaker.com