配置Ubuntu Jaunty和双显示器一起工作

OK. 这一篇的主旨只是为了记录我解决问题的过程。

关闭FrameBuffer设备

上周星期五,我以一千元人民币的价格淘到了垂涎已久的22存高清显示器。今天早晨送到家里,我自然是兴奋不已的打开看了。Ubuntu Jaunty启动之后可以很顺利的识别外接显示器,但是外接显示器的分辨率却不正确。使用xrandr查看,发现整个设备的大小受到限制。Thinkpad X61的spec上写的很清楚,整个图形卡的最大可表现区域是因该是外接显示器于笔记本固有显示器面积的总和,也就是2944×1080。使用xrandr -q查看,发现这个最大值并没有被正确设置。less /etx/X11/xorg.conf看到,配置文件中启用了FrameBuffer设备。立即恍然大悟。原来,早些日子,我在控制台上工作的时候,启用了FrameBuffer来获得更大的显示区域。为了支持这个控制台显示区域,X服务器只能割让一部分显示存储给FrameBuffer设备。要修改回来就是在内核参数行去掉vga=791选项——这个选项代表1024×768的FrameBuffer能力。并且,重新启动机器之后,利用sudo dpkg-reconfigure -phigh xserver-xorg来重新配制xserver。因为,从Ubuntu 8.10版本开始,这个发行版中启用了新的xserver,所以,大部分配置可以由xserver自动完成,不需要再手动更改xorg.conf配置文件了。重启xserver之后,我再用xrandr -q查看了设备能力,输入如下。这是保证双显示器expand输出的前提条件。

$ xrandr -q
Screen 0: minimum 320 x 200, current 2944 x 1080, maximum 4096 x 4096
VGA connected 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm
   1920x1080      60.0*+
   1280x1024      75.0     60.0  
   1152x864       75.0  
   1024x768       75.0     60.0  
   800x600        75.0     60.3  
   640x480        75.0     59.9  
   720x400        70.1  
LVDS connected 1024x768+1920+0 (normal left inverted right x axis y axis) 246mm x 185mm
   1024x768       50.0 +   85.0*    75.0     70.1     60.0     40.0  
   832x624        74.6  
   800x600        85.1     72.2     75.0     60.3     56.2  
   640x480        85.0     72.8     75.0     59.9  
   720x400        85.0  
   640x400        85.1  
   640x350        85.1  

配置双显示器expand表示

利用gnome-display-properties,我可以在这里动态的设置双显示的规格。有图为证。

如果这个方法受限,那么还有一个后背方案,就是采用Intel显卡驱动官方站的指南,采用xrandr来手动配置。

更新Mesa

设置双显示expand之后,我发现小显示器的一部分不能正确更新。初次看到这个现象的时候,我开始怀疑是不是设备能力有限,不能支持这么大的屏幕显示区域。但是仔细计算了一下,这种情况应该是不可能发生的。我的图形卡支持的最大输出是2944×1080,那么宽度上1920+1024不会超过这个2944,而长度来看768小于1080。那问题出在哪里呢?我尝试关闭了“桌面效果”,也就是启用metacity来取代compiz做窗口管理器。我发现这样的话两个屏幕都是可以被正确更新的。立刻想到问题应该处在3D表示的驱动上面。也就是作为3D表示基础库的Mesa有问题。找到关键词就很容易搜索了,google之。立刻发现这个问题是出现在mesa-7.4版本之中的bug。而这个bug已经被修复了。这个时候,我想是不是可以拿到mesa的源代码,然后给它打上补丁后重新package。于是立刻行动,我用apt-get source libgl1-mesa-dev libgl1-mesa-dri那到mesa的源代码,照猫画虎的打补丁。转念一下,这个问题应该已经有很多人遇到了,因为Jaunty发布已经有近4个月的时间,不会只有我遇到这个问题。于是乎,我在launchpad上搜索一下,发现果然有新版本的mesa可以使用。因为这个PPA提供的是unstable版本软件包,所以该PPA的作者声明拒绝外部资源直接给出该PPA的使用方法用来保证每个用户都可以读到警告信息。这里就不再说到底怎么使用了。如果你想在Ubuntu中使用fresh的xorg相关软件包,那么直接点下面的连接跳转过去看看吧。
https://launchpad.net/~xorg-edgers/+archive/ppa

经过以上步骤的折腾之后,我的Ubuntu就可以使用双显示器正常工作了。写代码的时候再也不需要挤在那个1024×768的显示器上用Alt+Tab换来换去了。还有就是玩企鹅滑冰有些就更爽了。(话外音:真浪费)同学,我听见了,虽然这个安装过程还是遇到问题多多,但是谁让俺自己愿意折腾呢?由此可证,所有的GNU/Linux用户都是那“吃饱了没事撑着”的某些人。


参考URL:
http://lists.freedesktop.org/archives/xorg/2008-April/034707.html
http://www.thinkwiki.org/wiki/Xorg_RandR_1.2#Summing_up
https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/146298

小笔电就是便宜货

小笔电应该说是这一年时间之内最火爆的3C产品了吧。日本市场上,小笔电的旋风刮了不止一天两天了。从最开始的EeePC,到日本本土品牌铺开市场打拉据战,现在为止市场上的小笔电用琳琅满目来形容一点都不过分。商品种类增多并且走向同质化以后必然就有别处心裁的创意出现。开始是由E-mobile打了第一枪,申请加入3G移动互联网接入合同,可以免费获得一台指定品牌的小笔电;后来Softbank跟进,把这个市场搞的如火如荼。

周末无事,我最喜欢逛的就是几家大电器店的卖场。日本人卖小笔电的风格和中国人在市场上叫卖大白菜基本上属于一个架势。用扩音喇叭吆喝,10分钟到20分钟就来一次降价促销,或者抽奖活动。如果有人说“给我来一台”立刻打包拿走,销售人员还会摇铃庆贺。而放在同一个卖场的“大笔电”和台式机的生意就显得冷淡了许多。不禁要感慨“降价”的吸引力真是无以伦比。请不要鄙视我使用了降价这个词汇,因为,事实上在很多小笔电的购买者来看,“小笔电”和“大笔电”没有区别,有区别的仅仅是它们的价格。于是乎,就有人要求仍够使用小笔电外接DVD来看大片,更有先进的大叔问售货员,能不能看蓝光碟。又有调查显示,事实上很多人根本分不清楚小笔电和大笔电的区别。

NDP的研究報告中,有六成的消費者購買小筆電是為了要取代原本的筆電做為日常工作使用,但只有58%的消費者滿意自身購買的小筆電。

只有4成消費者了解小筆電的定位,對於一般民眾可能根本分不太出來小筆電和筆電有什麼差別,在購買上很可能就容易買到不適合自己使用的小筆電。

恩,基本上,“小笔电”=“降价电脑”。虽然我曾经看到有人对上网本的未来提出疑问。但在我看来基本上这里不存在什么疑问。用户需要更轻便更高效,最重要的更便宜的电脑。就这么简单。如果单单把小笔电定位在“上网本”的领域之内,那就是典型的固步自封了。虽然,上网本最初以9-10寸的大小出现,但是后来很多厂商跟进之后都推出了12寸甚至更大的“小笔电”,也许意义就在这个地方。当市场对某一款产品的认知偏离原来的设计初衷时,适当的快速的自我调整才是必由之路。整天叫喊着用户都是SB,根本不理解小笔电是什么的态度,估计在商业上根本不会占得先机。偏执的理想主义者往往是死的最快的那个。

又有Google在最近退出的Chrome OS,有人说它的定位与Android重叠,并且重点只是在轻省笔电市场。但是,这里的重点却是“轻省笔电”是不是可能成为未来个人计算机的主力平台?如果答案是肯定的,那么我想,Google瞄准的不仅仅是一个二级市场,而是整个行业的未来。“小笔电”和“大笔电”之间,真的需要划分的那么清楚么?或者它们之间的界限本来就是模糊的?看看现在行业霸主的动作连连,我只能说祝愿微软好运了。Intel收购Windriver,开发Mobin平台,事实上算是加入操作系统俱乐部。WinTel联盟已经开始土崩瓦解了。竞争始终都是好事情,最终得到实惠的还是普通消费者。也许有一天,很潮的哪位大叔已经不需要再向售货员问是不是可以播放蓝光的问题了,有可能那个事情以及成为小笔电的“标配”。说到底,我们还是喜欢“便宜货”!

在Ubuntu系统中使用KVM体验moblin

使用KVM体验moblin

系统要求

1. VT技术的CPU
你可以用下面的命令检查你的CPU是否支持VT技术。
$ egrep '(vmx|smx)' /proc/cpuinfo
如果输出中出现flags:…云云,那么恭喜你,你很会买东西。

2. Ubuntu 9.04操作系统
请确认你的操作系统运行官方支持的内核,目前的版本是:
$ uname -r
2.6.28-11-generic

需要的软件包

KVM和QEMU。

$ sudo apt-get install kvm qemu

启用VT技术

使用modprobe载入kvm相关的内核模块。

$ modprobe kvm
$ modprobe kvm_intel
或者
$ modprobe kvm_amd

如果你得到如下的错误,说明你需要在BIOS设置中启用VT技术。

FATAL: Error inserting kvm_intel...Operation not supported.

如果已经用上面的方法确认了CPU是支持VT技术的,那么,说明在BIOS中VT并没有被启用。看看吧,浪费东西了吧。这说明使用Windows的很多用户都在浪费机器的性能。如果正是这样,请重新启动计算机,进入BIOS设置,在CPU相关选项中启用VT技术。

下载Moblin的KVM镜像文件

文件夹
http://repo.moblin.org/moblin/releases/test/alpha1/images/
KVM镜像的地址是
http://repo.moblin.org/moblin/releases/test/alpha1/images/moblin-netbook-core-alpha1-kvm.tar.bz2
用wget直接下载。

$ wget http://repo.moblin.org/moblin/releases/test/alpha1/images/moblin-netbook-core-alpha1-kvm.tar.bz2

解压,

$ mkdir moblin-kvm
$ tar jxf moblin-netbook-core-alpha1-kvm.tar.bz2 -C moblin-kvm/

然后可以尝鲜啦。

kvm moblin-netbook*.raw

当然,你可以尝试一下alpha2,镜像文件的下载地址如下:
http://repo.moblin.org/moblin/releases/test/alpha2/images/
已知问题可以参照Mobline V2的ReleaseNote。
http://moblin.org/community/blogs/tshureih/2009/announcing-moblin-v2-core-alpha-release

最后,一起欣赏一下桌面截图吧。
moblin-run-in-KVM-ubuntu