Monday, May 31, 2010

深度:4KB 扇区磁盘上的 Linux

4KB 扇区磁盘上的 Linux:实际建议

确保 Linux 在所有柱面上都启动

Roderick W. Smith, 顾问兼作家

简介: 自 2009 年 12 月起,硬盘制造商开始引入使用 4096 字节扇区的磁盘,而不是常见的 512 字节扇区磁盘。为了操作系统的正常运行,使用固件将 4096 字节物理扇区分成 512 字节逻辑分区,遮掩了这一变化,但是较大物理扇区的使用对磁盘布局和系统性能带来隐患。本文查看这些隐患,包括基准测试,它描述对一些常见 Linux® 文件系统的现实影响。随着 4096 字节扇区自 2010 年以来变得更加普遍,处理这些新磁盘所需的策略变得越来越重要。


为何更改为 4096 字节扇区?

如果您熟悉磁盘结构,就知道磁盘是被分解成扇区 的,大小通常是 512 字节;所有读写操作均在成倍大小的扇区中进行。仔细查看,就会发现硬盘事实上在扇区之间包括大量额外数据,这些额外字节由磁盘固件使用,以检测和纠正每个 扇区内的错误。随着硬盘变得越来越大,越来越多的数据需要存储在磁盘的每一单位面积上,导致更多低级别错误,从而增加了固件纠错功能的负担。

解决该问题的一个方法是将扇区大小从 512 字节增加为更大的值,以使用功能更强大的纠错算法。这些算法可使每个字节使用较少的数据,从而比使用 512 字节扇区能纠正更多严重问题。因此,更改为较大尺寸的扇区有两个实际好处:提高可靠性且增加磁盘容量 — 至少从理论上讲是这样。

不同于增加的显示器大小或提高的中央处理单元(CPU)速度,对终端用户的现实获益可能没有这么明显。不过,专用于奇偶检验的空间减少了,可 能加快较大磁盘的引入或提高磁盘可靠性。

遗憾的是,关于 512 字节扇区的假设潜藏在整个软件链中,在基本输入/输出系统(BIOS)、引导装载程序、操作系统内核、文件系统代码和磁盘工具等工具中。尽管向 4096 字节扇区的转变已经酝酿了多年,有些工具仍未做好准备。Microsoft® Windows® XP 经常被提出有故障隐患,即使在 Linux 中,有些问题也只是暂时得到纠正。

为帮助实现这种过渡,带 4096 字节分区的第一批磁盘将每个物理 扇区转换成 8 个 512 字节的逻辑 扇区。对于 BIOS、操作系统和所有磁盘工具,磁盘看起来有 512 字节扇区,但实际上底层物理扇区大小是 4096 字节。Western Digital 是第一家生产这种磁盘的制造商,它使用术语 Advanced Format 来代表带 4096 字节物理扇区且向 512 字节逻辑扇区转换的磁盘。本文对 Western Digital 的磁盘和使用类似技术的其他制造商的磁盘都使用同一术语。


为何有性能影响?

遗憾的是,在固件中改变表面扇区大小会降低性能。要了解个中原因,首先应了解文件系统数据结构以及如何进行磁盘分区。

最新的文件系统使用 4096 字节或更大尺寸的数据结构。因此,大部分磁盘 I/O 操作占用成倍数量的大小。想一下,当 Linux 想在一个带 4096 字节扇区的新磁盘上读写这些数据结构时,会发生什么事情。如果文件系统数据结构正好与底层物理分区大小一致,对 4096 字节数据结构的读写会产生对单一扇区的读写。硬盘的固件不需要做任何特别的事;但是当文件系统数据结构与底层物理扇区不完全一致时,读写操作必须使用两个 物理扇区。对于读操作,这基本上不会花费很多额外时间,因为磁盘上的读/写头极可能连续通过两个扇区,且固件可丢弃它不需要的数据。另一方面,对不一致数 据结构的写操作需要磁盘的固件首先读取两个扇区,修改两个扇区的分区,然后写两个扇区。该操作所需时间比 4096 字节占用一个扇区时所需时间多。因此,性能下降。

如何判断数据结构是否得到合理对齐? 大多数文件系统将其数据结构与包含其本身的分区开头对齐。因此,如果一个分区起始于一个 4096 字节(8 个扇区)边界,则表示它得到合理对齐。遗憾的是,直到最近,大多数 Linux 分区工具还没有创建以这种方式对齐的分区。下一小节 对 齐分区,描述如何使用普通 Linux 分区软件对齐分区。


基准测试结果

您可能不了解合理的分区对齐有多重要。为此,我们对已对齐和未对齐分区以及若干 Linux 文件系统使用了一个 1TB Western Digital WD-10EARS Advanced Format 驱动。磁盘是通过全局唯一标识符(GUID)Partition Table (GPT) 系统进行分区的,其中已对齐的分区起始于逻辑扇区 40,而未对齐的分区起始于逻辑扇区 34(使用 GPT 磁盘与默认大小的分区表时的第一个可用扇区)。受测试的文件系统是 ext3fs、ext4fs、ReiserFS(第 3 版)、JFS、XFS 和 Btrfs。计算机运行一个 64 比特 2.6.32.3 Linux 内核。

一个脚本执行了一系列磁盘 I/O 操作,包括创建一个新文件系统、提取一个未压缩的 Linux 内核原始码到测试驱动上、复制原始码到驱动、读取测试驱动上刚才未压缩的文件、从驱动上读取原始码、删除 Linux 内核目录。源 Linux 内核原始码存储在另一个磁盘上,对于读测试,输出指向 /dev/null。在每个写测试之后,测试磁盘被卸载,以确保在 Linux 的磁盘缓存中没有操作。所报告的数字包括执行卸载操作所需的时间。内核原始码的大小是 365MB — 远远大于磁盘 64MB 的缓存。每个测试序列对每个文件系统运行 6 次,对合理对齐的分区运行 3 次,对未合理对齐的分区运行 3 次。隔次操作的变动很小。用平均未对齐时间除以平均对齐时间所得的值来确定所应用的不合理对齐对性能的影响程度。大于 1.00 的值表示不合理对齐产生一些性能损失。

许多测试产生适度的损失。针对文件系统创建的值介于 0.96(对于 XFS)到 7.94(对于 ReiserFS)之间,平均值为 2.79。由于文件系统不常创建,所以该损失不是那么重要。读测试生成的值介于 0.95 到 1.25 之间,这表示速度损失不超过 25%,如图 1 中所示。值为 1.00 时表示没有损失;更高的值则意味着性能下降。


图 1. 使用未对齐分区的读性能损失
柱状图显示,在使用未对齐的分区时,读性能下降了 5-15%

大型文件写性能也受到适度损失。这些值介于 1.10(对于 XFS 和 JFS)到 6.02(对于 ReiserFS)之间,平均值为 2.10。一般情况下该值较高都归咎于 ReiserFS 的敏感性。删除它之后,其余 5 个文件系统的平均值为 1.31。文件检测效果类似,从 1.04(对于 XFS)到 4.78(对于 JFS),平均值为 1.97。将 JFS 作为离群值删除之后,平均值变为 1.40。

小型文件创建操作会产生最大的写性能影响(提取内核原始码)。对原始码提取的影响范围为 1.04(对于 ext4fs)到 25.53(对于 ReiserFS),平均值为 10.9。该测试中第二大性能影响者是 XFS,值为 1.82。由于这些数字是未对齐性能与对齐性能之比,值为 10.9 时表示一个原始码提取在合理对齐的分区上需时 10 秒,而在未合理对齐的分区上需时 109 秒 — 一个巨大的差别!对于 XFS,值为 1.82 时表示这个 10 秒钟的操作在未合理对齐的分区上需要花 18.2 秒的时间。

图 2 总结了所有文件系统的这些写性能损失。与前面相同,值为 1.00 时表示没有性能损失;更高的值表示性能下降。


图 2. 使用未对齐分区的写性能损失
柱状图显示,使用未对齐分区时,小型文件写性能平均下降了 10%

注意,这些测试不反映文件系统的总体性能。例如,您不应该因为 ReiserFS 产生一些最大的性能差异,就认为它对性能的影响不好。不过,ReiserFS 对不合理的对齐比其他文件系统更敏感。

除了在分区中对文件系统运行测试之外,在一个 LVM 配置中还对文件系统执行了抽样检查,不管 LVM 分区是否经合理对齐。这些结果类似于原始分区结果。

实际情况是,到底这一切意味着什么?您应该首先确定您磁盘的物理扇区大小。如果您有 Advanced Format 驱动,就应该合理对齐您的分区。


确定物理扇区大小

从理论上,Linux 内核应该在 /sys/block/sdX/queue/physical_block_size pseudo-file 中返回物理扇区大小相关信息,在 /sys/block/sdX/queue/logical_block_size pseudo-file 中返回逻辑扇区大小相关信息,其中 sdX 是您设备的节点名称(通常为 sda、sdb 等)。但是在实践中,物理块大小信息是假的,至少对于第一代 Western Digital Advanced Format 驱动是这样的。遗憾的是,这表示磁盘工具不能合理检测这种磁盘的存在。

那么从实际来看,您必须在制造商的 Web 站点或通过其他方式查找您的驱动的规格。/sys/block/sdX/device/model 伪文件含有设备型号,因此您可以在这里查找,然后与制造商核对。

对于目前的第一代 Advanced Format 驱动,Western Digital 在驱动上贴有标签,以表明它们是 Advanced Format 驱动。遗憾的是,这些标签表示,只有 Windows XP 上的这些驱动有问题。以上基准测试结果显示,Linux 用户必须非常谨慎地对待这些驱动。


对齐分区

对齐 RAID 分区

独立磁盘冗余阵列(RAID)第 5 和 6 级含有与 Advanced Format 驱动类似的对齐问题,不过原因与用于创建阵列的数据带大小有关,通常为 16KB 到 256KB。使用 RAID 阵列时,您应当在成倍大小的数据带上对齐分区。作为一种新兴标准,2048 扇区(1024KB)上的默认对齐对所有常见尺寸的 RAID 条带都很适用。

已发布的测试结果表明,未合理对齐的性能损失大约为 5-30%,比未合理对齐 Advanced Format 驱动所造成的性能损失小多了。从 Advanced Format 磁盘上创建 RAID 阵列时,您不需要采取额外步骤。因为 RAID 对齐值是 Advanced Format 驱动所需的 4096 字节对齐的倍数,如果您为带 512 字节物理扇区的 RAID 磁盘阵列对齐分区,两种技术便都能实现。

当前的 Western Digital 驱动包括一个跳线,可用于设置 Windows XP 兼容性。该跳线能够将扇区编号移动 1 位,因而在真实的逻辑扇区 64 上置入一个分区,计算机将其识别为扇区 63 的开头(对于柱面对齐)。这是解决 Windows 中常见情形(即使用跨整个驱动的单一分区的扇区对齐问题)的一种应急方法。遗憾的是,如果您创建多个分区,除了第一个分区之外,所有其他分区可能都不会被 对齐。因此,您几乎可以肯定不能 使用该跳线;二是使用您的 Linux 分区软件创建合理对齐的分区。

Master Boot Record (MBR) 的三个系列和 GPT 分区工具可供 Linux 使用,且每个工具都有其自己对齐分区的方式。如果您有一个 Advanced Format 驱动,那么您最好的选择就是运行最新的 Linux 分区软件。

提示:如果您想双重启动需要柱面对齐的 Linux 和一个旧版操作系统,尝试在成倍的 8 个柱面上调整所有分区的开头。这转化成用于最优磁盘性能的 8 扇区对齐和用于旧版操作系统的柱面对齐。

fdisk 系列

fdisk 系列是大多数 util-linux-ng 分发包附带的一部分,支持直接编辑 MBR 数据结构,但它不能创建或修改文件系统。通过 util-linux-ng 2.17,fdisk 对分区的 8 扇区对齐不提供任何直接支持。通过 2.17.2 及其以上版本(我写本文时是最新版本),默认对齐仍然是基于柱面的。

不过,您可以使用任何版本的 fdisk 合理对齐分区。为此,您应该在主菜单输入 u, 将默认单元从柱面更改为扇区。然后输入初始扇区值,应为 8 的倍数。在理论上,为实现合理对齐,您可以将第一个分区的扇区数设为 8;但是,最好将第一个分区设置为 64 或更高的值,为 MBR 与第一个分区之间的未分配空间中的装载引导程序代码留出空间。Microsoft 面向 Windows Vista 和 Windows 7 的分区工具将第一个分区起始于扇区 2048,从跨平台角度来讲,这里是开始分区的安全地带。事实上,从 util-linux-ng 2.17.1 开始,当您通过在主菜单输入 c 来禁用 DOS 兼容性模式时,这就是默认设置。我建议保持该设置。

但是,要注意,fdisk 不自动对齐随后的分区。如果您指定以兆字节或更大字节为单位的分区大小,然后接受随后分区的默认值,随后的分区可能会被对齐,但这不一定。出于安全考虑, 您不应检验以 8 的倍数为初始值的每个分区。

使用 fdisk 的另一种方法是通过 fdisk -H 224 -S 56 /dev/sda 启动它,这会更改 cylinder/head/sector (CHS) 几何参数,从而确保在将程序与柱面对齐时有合理的 4096 字节对齐,这也是默认情形。

libparted

libparted 库驱动支持文件系统操作的多个 Linux 分区工具。通过版本 2.1,文本模式 GNU Parted 程序(命令名 parted)仅对柱面边界的对齐提供支持。最好的方法可能是输入 unit s,将默认单元更改为扇区。然后您可以在扇区中手动输入分区起始点,并精确检验分区起始点。

版本 2.2 开始向一种对带 4096 物理扇区的磁盘更有用的策略转变。通过该版本,您可以指定 1M 的起始值,然后扇区将得到合理对齐。当您的分区没有合理对齐时,该版本还会发出警告。

使用 GUI GParted 程序时,您一定要取消选中 Create New Partition 中的 “Round to cylinders” 复选框,如图 3 所示。您必须设置与前一分区末端相关的分区的起始扇区,但是如果您从一个合理对齐的分区开始,这就都能解决。您可以显示一个分区的 Information 对话框,以了解其起始和结束扇区从绝对意义上讲是什么。


图 3. 使用 GParted 时取消选中 “Round to cylinders” 复选框(这里显示它处于选中状态,这是默认状态)
GUI GParted 工具中的 "Create new Partition"  窗口,显示用于对齐到柱面的复选框;为实现最优性能,要取消选中它

GPT fdisk 工具

GPT fdisk 工具仅在使用 GPT 磁盘时才有用。0.5.2 之前的版本不执行任何对齐,尽管您可以通过指定合适的起始扇区数来手动对齐分区。版本 0.5.2 以及 0.6.0 到 0.6.5 将所有分区的起始扇区调整为 8 扇区边界,不过这仅针对大磁盘(超过 800GB 的磁盘),而不适用于小磁盘。版本 0.6.6 为所有未分区磁盘引入一种 Windows 样式的 2048 扇区(1MB)对齐,并试图通过现有分区推断过去使用的磁盘对齐。

通过 0.5.2 及其后期版本,您可以通过专家菜单上的 l 选项手动调整对齐值。该选项将大量扇区作为一个选项。为实现对 Advanced Format 磁盘的合理对齐,将该值设为 8 或其倍数。验证选项(任何菜单上的 v)基于当前对齐值报告未合理对齐的任何分区。


前景

目前仅有少量 Advanced Format 硬驱模型可供使用。新闻报道表明,该技术从 2010 年开始将会扩展到来自所有主要制造商的更多驱动。可以想象得到,新模型会遭遇与第一代 Advanced Format 驱动不同的其他性能问题。

最后,制造商可能会丢弃 512 字节扇区这个构想,或提供跳线来支持用户选择是否使用该兼容性特性。如果您遇到一个带 4096 字节扇区、但可选择真实扇区大小的驱动,您可能希望使用它;不过,您需要注意一些警告。

正如之前所述,来自 BIOS 的软件可能包括关于硬盘扇区大小的假设。如果 BIOS 包含这样一个假设,那么您的计算机可能不会从一个含 4096 字节扇区且缺乏到 512 字节扇区的固件转换的磁盘上启动。自版本 2.2 起,对于除 512 字节扇区之外都属于试验性扇区的磁盘,在该磁盘上启动 GNU Parted 时,它自动显示一个支持该磁盘的警告。其他问题可能潜藏在对您很重要的软件中。使用最新的软件可能会帮助您解决这些问题,例如可以将传统磁盘作为启动磁盘 使用,将新技术磁盘仅作为数据磁盘使用(/dev/sdb 或更高)。

总之,在处理不同寻常的新磁盘时一定要谨慎。Advanced Format 磁盘的当前样式以及其他新驱动类型可能很快就会尘埃落定。

通过vrdp使用virtualbox,与主机共享数据

VirtualBox以headless方式启动VM, 有两个程序可以做到这功能:
1. VBoxHeadless
2. VBoxManage

VBoxHeadless可以在启动时改变一些与Headless模式启动的相关参数, 而VBoxManage不行.

VBoxHeadless 的启动方法:
# VBoxHeadless --startvm ubuntu

VBoxManage命令去启动(不过此程序不能在 启动时改变VM的一些参数):
# VBoxManage startvm ubuntu -type vrdp

VM以 Headless方式启动后.用tsclient或者rdesktop直接连接127.0.0.1就可以了,当然我的virtualbox的网络设置用的是nat,当然缺点就是不能用无缝模式啦

然后和主机共享数据
我的vbox在ubuntu或者archlinux的host上,guest是windowns
virtualbox里面设置好了,guest里面映射一下,格式是\\VBOXSVR\“共享名“

to be continued...

Sunday, May 30, 2010

MeeGo传说(一):前生今世; fedora上体验meego

From LDCN

昨晚,MeeGo 1.0 Netbook版正式发布了。

这是Intel的Moblin与NOKIA的Maemo结合后第一个正式发布的版本,来势汹汹。

毕竟是两强结合,背后又有Linux基金会。不过,MeeGo真的能改变移动操作系统领域的格局吗?

当今Android正热,iPhone OS依然强势,连Windows Phone 7也将横插一脚。MeeGo能在这个市场上表现如何 呢 ?

要预见未来,就必须得从MeeGo的身世说起……

MeeGo之前生

MeeGo是Intel的Moblin和NOKIA的Maemo结合而成的,稍微有些了解的朋友都知道,Intel的Moblin是面向上网本/MID设备的,x86架构,使用RPM包管理系统;而NOKIA的Maemo是面向手持设备(如N900),ARM构架,使用DEB包管理系统。两者差异极大,尽管都是Linux内核,但看起来几乎不可能无缝融合的(就像Fedora与Ubuntu一样差异吧)。如果要说共同点的话,Moblin 2和Maemo 5都用了Clutter/GTK+作为图形库。

然而,两者还有一个重要的共同点,就是“未成气候”。

近年NOKIA在智能手机领域表现一直不佳,Symbian似乎难有大作为,Maemo可能是NOKIA的重点发展对象。也就是后来,NOKIA修正战略格局,适时收购Qt,并在Maemo的Roadmap中指明Qt将作为Maemo下一代的默认图形库(淘汰Clutter/GTK+),以使Maemo更加强悍。这是可以理解的,毕竟GTK+是社区的产品,NOKIA尽管自己做了些hack,但难以根据自身需求做更多改进,于是收购Qt成了必要选择。

反观Intel,2007年便发起了Moblin项目,1代反应平平,2代因为采用了一套全新的动感UI(基于Clutter/GTK+),获得了一些关注。尽管Moblin一直是开源项目,甚至在后来也移交给Linux基金会,但改变不了它“非主流”的命运。

这两家公司,就在这样的情况下,讨论结合,共同制作一个面向移动領域的Linux发行版:MeeGo。

MeeGo分Core和UX部分,Core是核心系统,包含内核及基本命令行工具,而UX则代表不同的UI:包括手持设备、上网本等等。因为Qt已经是NOKIA的产品,因此顺理成章地对外宣传中说MeeGo的官方支持API是:Qt。

试着猜想两家公司的战略目标,他们只是想共享核心组件,同时各自开发不同的UI,并借助Linux基金会把MeeGo推广出去,从而让自己的硬件卖得更好。

本篇介绍的就是MeeGo 1.0 Netbook版本(以下简称MeeGo NB)。

MeeGo之今世

在MeeGo 1.0 NB的发布说明中(中文见此:MeeGo 1.0 核心平台及上网本版本发布),大家可以注意到两点:“混合特效用户介面”和“Qt 4.6”

可能大家会联系到是Qt开发的有用户介面,这也是官方之前一直在强调的是用Qt做为应用程序开发工具库。

然而我告诉你,这用户介面完全不是用Qt开发的,它是100%的Clutter/GTK+,也就是之前Moblin用的那一套。

更加直白的,MeeGo仅仅是之前的Moblin换了一个Logo、改了一点配色、默认加入Qt图形库并在各方面做了少许优化和改善的版本。结合如下两张对比图,你可以看出其完全的继承性。

这是Moblin 2

Moblin Desktop

这是MeeGo 1.0

MeeGo Desktop

MeeGo NB版继承Moblin没什么不好,也是正常的行为。毕竟Moblin之前的MX Toolkit(基于Clutter/GTK+)很不错,没必要用Qt重写一套(至于在之后的版本中会不会用Qt完全取代这就难说)。

事实上,MeeGo有增强的部分,比如它采用了一个特殊版本的Banshee(基于GTK#的媒体播放器)作为其默认的影音播放器,Intel宁可hack Banshee也不打算用Qt写相关的组件,这不得不说明,Qt之于MeeGo NB版,确实只是个“选项”而已。

以下是我拟的对话:

NOKIA: Intel啊~既然我们要一起做MeeGo了,你以后在Netbook版上也尽量用Qt来做图形吧。

Intel: 呃……这个(本来的Clutter/GTK+用的好好的呀)……嗯嗯,尽量吧,旧的东西先保留,新的东西尽量用Qt开发。

于是呼,MeeGo NB版里内置了N个GTK/GNOME软件,只有一个用Qt开发的应用程序,它就是: Garage(软件仓库),应该是之后改写的。

其他MeeGo NB版里的软件: Chromium,Evolution,Empathy, Banshee,无一不是GTK/GNOME软件。

也就是说,本质上MeeGo仍然是一个标准的GNOME桌面,只是为了鼓励开发者使用Qt进行开发,才淡化这个基础。

小结

可以看到了吧?

Moblin和Maemo结合后的MeeGo 1.0 NB版,依然只是一个纯的Moblin而已。当然对内核及驱动开发来说,可能两者都吸收了各自对内核的优化,这确实是个好的结合。不过Intel本来就是内核开发方面的一个活跃厂商,所以我觉得,两者结合的象征意义大于实际意义。

不过,现在说结论还为之过早。毕竟其他UX版本还没出呢。

所以我非常期待MeeGo的handset版本,因为在NOKIA的Roadmap当中,如果没有今天与Intel的结合,这个时候发布的Maemo 6应该是纯Qt的版本。到底会不会是这样呢?

PS:下篇文章将会着重介绍一下MeeGo 1.0 NB版相对于Moblin的一些改进。


from linux toy

如果想在非 Intel 平台的计算机上体验类似 MeeGo 的桌面环境,那么刚刚发布的 MeeGo 上游 Fedora 13 Moblin Spin 或许就是你最好的选择。

与先前发布的 MeeGo 相似,Fedora 13 Moblin Spin 同样提供了 Clutter 混合特效界面,GUPnP 通用即插即用服务和 Bisho 社交网络聚合套件。

在下大概把玩了下,注意到以下与 MeeGo 1.0 上网本平台不同之处:

  • 支持 AMD 平台的 CPU 及显卡,不再局限 Intel 平台,但是要求显卡驱动要有 3D 加速支持
  • Intel 平台显卡的运行明显比 MeeGo 流畅,估计是 Fedora 13 的显卡驱动比较新的缘故
  • 采取 ext4 文件系统,而不是 Btrfs
  • 采取 Firefox 作为默认浏览器,而不是 Chroium 或者 Chrome

已经安装了 Fedora 13 的朋友,可以通过在终端运行如下命令将 Moblin 添加到桌面环境中:

su -c 'yum groupinstall "Moblin Desktop Environment"'

注意: 由于 Mutter 的冲突问题,不能和 GNOME Shell 同时安装。

gaming on linux:Puppy Arcade

Puppy Arcade: 超强游戏模拟器合集

Puppy Arcade 是一个包含诸多游戏模拟器的 Live CD,通过它来重玩那些经典的游戏真是太方便啦。当前,在 Puppy Arcade 中有 Amiga、Apple、Atari、Amstrad、Arcades、Colecovision、Commodore、GameBoys、 GameGear、Genesis/MegaDrive、MasterSystem、MS DOS、N64、NeoGeo、NeoGeo CD、NES/Famicom、PC Engine/TurboGrafix、PSX、ScummVM、SNES、ZX Spectrum 等模拟器,涵盖的范围非常广泛,游戏玩家切莫错过。

puppy-arcade

Puppy Arcade 的 ISO 映像大小为 105 MB,可从此处下载。

from linuxtoy

记下来自己留用:八款最佳的Linux自由视频编辑软件

八款最佳的Linux自由视频编辑软件
  视频编辑是编辑动态视频画面的程序。在这个个人视频时代,视频编缉逐渐成为桌面的一项核心功能,流行的视频编辑软件也越来越多。过去,Linux视频编辑大大落后于其它流行操作系统。现在情况已经有很大的改善,部分是拜多媒体开发框架的进步所赐,如GStreamer和MLT。此外Linux视频编辑的多功能性也明显提高。Linux现在是编辑视频的优秀平台。linuxlinks的这篇文章编辑了八款最佳的Linux自由视频编辑软件,"包括:KDE桌面的非线性视频编辑软件Kdenlive;GNOME桌面的非线性编辑软件OpenShot;非线性数字录像编辑器Kino;捕捉、合成和音频视频编辑软件Cinelerra;易于使用但功能强大的视频编辑系统LiVES等

Kdenlive Non-linear video editor for KDE
OpenShot Non-linear editor for GNOME, built with Python, GTK, and the MLT Framework
Kino Non-linear DV editor
Cinelerra 3 main functions: capturing, compositing, and editing audio/video
LiVES Video Editing System designed to be simple to use, yet powerful
PiTiVi Non-linear audio/video editor using GStreamer
Open Movie Editor Non-linear video editor designed for basic movie making capabilities
Avidemux Designed for simple cutting, filtering and encoding tasks

新闻和新闻的区别:对比linux社区及cnbeta上对catalyst 10.5的反应

linux eden, linuxtoy, phoronix
AMD 发布 ATI Catalyst 10.5
AMD 今日面向 Linux 平台发布了 ATI Catalyst 显示驱动的 10.5 版本。该版本所添加的新特性依然乏善可陈,主要就是针对 Ubuntu 10.04 提供了初步的支持。

除此之外,在 ATI Catalyst 10.5 中修正了下列问题:

* 更改的颜色伽玛值现在可保留在 Catalyst 控制中心中
* 在休眠/挂机模式后,系统可正常还原
* 启用 CrossFire 时 OpenGL 程序不再导致屏闪
* 解决了在 RHEL 4u8 和 SUSE 11.1 中的问题
------------------------------

cnbeta
又是临近月底,AMD今天正式发布了本月的显卡驱动包催化剂10.5,加入了几项新特性,尤其是前两代老卡也能支持3D立体显示了。本次发布的催化剂10.5显示驱动5月4日就已编译完成,版本号为8.732.0, 支持Radeon HD 2000-5000全系列桌面显卡和相应的集成、多媒体、专业卡,操作系统则支持Windows XP/Vista/7、Linux。配套的催化剂驱动中心、CrossFireX优化档案、芯片组南桥驱动等也都已经更新到10.5版本。

催化剂10.5正式发布 老卡迎接3D

新特性方面:

1、Radeon HD 4000/3000系列显卡支持120Hz显示,也就是支持3D立体技术。

2、ATI Overdrive技术增强,全面支持连接多屏显示的显卡进行超频。

3、初步支持SUSE Linux Enterprise Desktop/Enterprise 11 SP1操作系统。

新驱动没有游戏性能提升,但在bug修正方面又解决了不少已知问题:

Windows:
....

Linux:

1、开启Hybrid CrossFire(混合交火)不再启动X之后导致dmesg报告错误。

2、双头模式中拔掉其他显示器不再导致白屏。

3、RHEL 5.4 x86_64:PCI显卡系统休眠不再导致内核错误。

4、PowerXpress:关闭独立显卡不再导致系统失败。

5、HDMI/DVI/DP显示器可以支持1080i30、1080i25 HDTV模式。

6、连接不同尺寸、分辨率的多显示器时主显示器可以设定正确的分辨率。

7、系统休眠的时候dmseg不再报告错误。




编者按:还是支持amd的,但是amd的catalyst。。。只要linux用的时间长的都知道支持有多滞后

Friday, May 28, 2010

我觉得甲骨文才是开源大敌:MySQL全球用户大会 揭密MySQL未来走势

谁是MySQL的新主人?这似乎是个伪命题,MySQL的新主人无疑是那个强势的甲骨文公司。去年对Sun的收购,让甲骨文顺利的将一个潜在的数据库对手收入囊中,开源社区大哗,一时众说纷纭,唱衰者有之、看好者也有之,但总体看来,忧虑的情绪在社区中弥散,数位MySQL创始人的“拯救”行动,更将 MySQL的悲壮推向了高潮。

  从05年起,笔者就从开源观察者的角度转变成一个正式的开源从业者,从事的,正是MySQL的商业业务,经历了中国MySQL从民间到官方、从互联网向传统行业进军的过程。5年间MySQL数次起落,作为”坐过山车的人”,比起旁观者,可能更多一层体会。在国内等Oracle的消息,感觉是那么的不靠谱,为了了解真相,了解MySQL发展的趋势, 2010年4月11日,我们来到加州小城Santa Clara,参加2010年MySQL全球用户大会。



  这次包括Percona,Inforbright,Zmanda,Pentaho等MySQL关联厂商、技术分支以及甲骨文全球的技术参加了大会,颇有 “华山论剑”的味道,可惜国内仅有我们一行两人,遇上了原先MySQL亚太公司的两位“领导”,原来他们也随着Sun进入Oracle的体系了,他们将在今年5月来中国继续他们的MySQL事业,这点颇令我们惊喜 。



大名鼎鼎的MySQL Performance Blog也在大会摆摊



MySQL用户大会是MySQL开源社区的活动,美国MySQL社区“情绪稳定”,由于MySQL开源属性不变,包括Percona在内的厂商都希望从 MySQL的变化中占据更多先机,在今年MySQL用户大会上上演了精彩一幕。MySQL Performance Blog充分展示了MySQL技术服务咨询能力,从服务器硬件选型、数据库调优及解决方案都形成了自己的服务体系,特别在性能方面,XtraDB全面超越自带的InnoDB及InnoDB Plugin,越来越多的用户选择专业的MySQL技术支持服务团队作为公司数据库技术的后备保障。同时,Oracle在MySQL用户大会期间,在 MySQL 5.5-m3发布没几天的情况下,紧急发布了MySQL 5.5-m4,并强调了新版性能上的调整及InnoDB Plugin新特性。甲骨文的首席架构师Edward Screven更在大会上表示MySQL对于甲骨文来说是十分重要的一部分,表达对MySQL的关切和支持,并明确表示Oracle计划增加对MySQL 的投资,以进一步完善MySQL的功能,改善MySQL的性能。



MySQL官方版本2010年发展路线图

  从上图可以看出,图中中轴线是MySQL官方版本今年的发展路线,其中Google MySQL team在MySQL5.0.37的基础上发布了大量的补丁(主要针对InnoDB),使得MySQL的健壮性和性能都有了极大的提高。而其他MySQL 分支也在持续发展,对MySQL官方版本的发展起到推动和鞭策作用,在开源社区发展出的力量和Oracle体系的竞争中,MySQL本身呈现出加速发展的趋势,无论MySQL的主人是谁,MySQL的开源属性都无法改变,Oracle体系下MySQL变的更完善、更稳定、更加商业化,社区的分支版本更加开放、具备更强的关键性能,也许这两条并行的发展路径,能够创生出更加强大的新MySQL。

  无论是Oracle这样的商业大亨,还是机动灵活的开源社区,只要大家共同推动MySQL的技术进步,对我们广大MySQL的爱好者和用户来说都是好消息,我们不关心谁是MySQL的新主人,我们会持续不断的跟踪最新的MySQL新技术和新发展,并把专业化的技术支持和产品服务带给国内的广大爱好者和用户,共同分享新技术成果带来的新体验和新快乐!

Thursday, May 27, 2010

[译稿]Linux 音频系统简析

我之所以钻研linux内核,只想是知道为什么我的系统还是没有声音……
linux音频系统架构问题由来已久……远远比你想像的复杂。如果你想理 清从读取音频文件到最终从你的扬声器中播放出来这一过程中所用到的技术之间 的关系的话,纸上的结构图足以像炸酱面一样混乱,而你根本找不到任何头绪。

  • Linux 音频系统简析

这是因为,音频系统本身就比其他架构更加复杂。OSI模型每一层都有自己的作用域和功能,每一层几乎不会有任何交集,所以你绝对不会碰到任何混乱情 况。但是,在linux音频系统上,却上演着这样的事情:没有明确的底层,各种音频技术各自为政。linux的音频系统架构有点像地壳构造,偶尔就地震一 下,要不就火山爆发一下,上层结构则要使劲遮掩发生的一切。

Open Sound Protocol(开放声音协议?),原本用来内核和声卡通信的(驱动),但是现在却成了alsa的一个胶合层(也不错,驱动声卡)。alsa兼顾底层和 硬件通信,为应用程序提供api,即负责混音,又负责硬件资源调用,多声道支持,环绕立体声输出等,甚至还要负责mp3解码(什么时候alsa负责mp3 解码了?我out了)。所以当众多发行版使用PulseAudio或者Gstreamer时候,错误就不断的发生了…

  • ALSA

输入: PulseAudio, Jack, GStreamer, Xine, SDL, ESD

输出: Hardware, OSS

首先,让我们从了解alsa(Advanced Linux Sound Architecture, 高级linux音频架构)开始。alsa直接和内核通信,并提供音频接口功能以供调用。但是,似乎alsa做了“比当好一个驱动程序”更多的事情:为系统 混音,为其他程序提供音频输出输出接口,为程序员提供api。他的目标好像要同Windows的ASIO或者OS X的CoreAudio一样,作为一个底层而稳定的后台程序运行。

本来alsa是设计成为oss的继任者的,值得庆幸的是,oss并没有真的死亡,凭借着alsa的兼容层重生了。所以可以简单的把alsa理解为声 卡的驱动层。实际驱动声卡的还是oss。声卡需要加载前缀为snd_的内核驱动模块,以在发声事件时驱动声卡发声。这也就是你需要linux声卡驱动的原 因,这也可能是你笔记本不出声音的原因…

幸运的是,大部分的发行版都已经自动配置好相关设备以及驱动模块,alsa负责提供api给应用程序,应用程序可以调用api发声。最初这个设计是 给oss用的~(当时大部分驱动都是如此),但是会引发声卡独占问题(即只有一个程序可以发声,其他程序只能进入队列等待)。

alsa需要一个软件部件监测声卡并管理声卡。当有两个或多个程序需要同时发声,alsa则进行软混音——如果你的声卡支持,则使用声卡硬混音。 alsa最多可以同时管理8路的声频硬件,还可以同时支持mid特性。当然这个特性要取决于你的计算机硬件,所以随着硬件的发展,这个特性不是显得那么重 要了。

alsa和其他驱动不同之处是它的可制定性。也正是因为高度的可制定性,导致linux音频系统架构越来越复杂。通过配置文件(/usr /share/alsa/alsa.conf)你可以管理一切——不论是混音方式,输出设备选 择,采样率,比特深度,还是实时音效。

alsa因其透明性、高效性和灵活性使之成为 了Linux音频系统的标准,也成为了几乎其他所有的音频架构和硬件通信的桥梁。
  • PulseAudio

输入: GStreamer, Xine, ALSA

输出: ALSA, Jack, ESD, OSS

如果你认为让alsa当后台就万无一失,那可就大错特错了。alsa虽然可以管理硬件,但是软件层却是其力所不及的地方。

这就是pulse,连接软件和硬件,远程计算机和本地计算机。它可以像alsa那样处理本地音频流,可以更灵活的处理远程计算机的音频流并在本地发 声。因为其灵活性,可用性,已经被众多linux发行版所采用(为什么arch还是alsa而不是pulse,囧)。

附加效果和alsa一样,高度的灵活性带来了高度的复杂性。但是似乎pulse的问题更为复杂,因为pulse是面向用户设计的,所以用户的错误配 置可能轻易的引起故障。所以就算是ubuntu,系统也尽量不会让用户更改其配置文件。

当你使用面板上的音量调节工具调节音量时,实际上你调节的是个虚拟设备——你调节pulse的虚拟设备,pulse调节alsa,alsa反馈给 pulse,pulse再反馈给虚拟设备……(多纠结啊)

好像pulse没有给linux音频系统带来什么增益?所以反对的声音不绝于耳(他们觉得和alsa相比就是重复造轮子?)。他没有使已有的操作起 来更简单(指alsa),也没有带来更好地音效(本子想要hifi效果?),但是它带来了几个非常重要的特性。首当其冲就是混音特性。

如果所有的程序都使用pulse,一切都将变得美好起来。开发者们不用再考虑系统复杂性,因为pulse是跨平台的。但正是因为如此,所以有这么多 其他的音频解决方案的主要原因之一。

不像alsa那样,pulse可以跨平台,运行在不同的操作系统上,包括POSIX标准的unix-like系统和微软的Windows。也就是说 呢,如果你写的程序使用pulse而不是alsa,那么移植起来会非常轻松。

事情其实并不简单,因为在linux上,pulse依赖于alsa,pulse把自身模拟成输出设备,供alsa调用。这点有点和Jack相似,处 在alsa和桌面之间,使用管道来传输数据。

不同于jack,它不主动添加或删除音频源,所以你可以对所有输出的音频程序音量等进行分控,哈哈,至少用这个特性你可以让那些吵人的网站全部静音 (firefox静音吗?flashblock就好了嘛~)

  • GStreamer

输入: Phonon

输出: ALSA, PulseAudio, Jack, ESD

算上gstreamer,linux的音频系统更加复杂了……因为gstreamer有点像pulse,没有什么新的特性。他是诞生在pulse之 前,而且拥有更多的开发者。看起来更象是gnome专属的一个多媒体框架。它是为数不多的可以安装并使用解码器的架构之一。他也是GTK开发者的首选,使 用gstreamer你甚至可以为Palm Pre进行程序开发。

gstreamer介于软件层和音频输入层之间,优先于pulseaudio。gstreamer与众不同之处在于他不只是个音频处理框架,通过安 装解码器,你还可以通过他来播放音频视频文件。

例如播放mp3,通常是下载相应的gstreamer解码器并安装。linux下唯一一个官方授权的商业版的Fluendo MP3解码器,是一个gstreamer插件,其实mpeg,h264等也都是如此。
  • Jack

输入: PulseAudio, GStreamer, ALSA,

输出: OSS, FFADO, ALSA

拥有pulse开放性等特点,通过管道传输音频流,最终使用输出设备输出音频。jack是个中间层,音频和程序的远程进程信号等同,这使得应用程序 可以通过组件建立。

最好的例子就是虚拟录音,应用程序在录音的同时可以对音频进行处理,并把处理好的数据通过一个虚拟设备“输出”到应用程序。实际录音情况中有可能使 通过网络或者电缆等,jack同样对输入的音频流进行处理。

jack是jack音频连接工具包的简称,由于其低延时,面向底层设计,所以不会发生因为需要处理过多数据而缓慢的情况。但是如 果需要使用jack,音频程序需要进行相应的编码,专为jack而设计。jack不像alsa,pulse那样简单,他需要运行在系统的最高优先级,而且 需要专门的设备输入。

在jack兼容的程序中,你自由的选择音频输入方式,例如你可以直接使用audacity录制当前vlc输出的音频。或者你可以通过 JackRack,建立包括ping延迟、多道混响和语言编码等多种实时效果的应用程序来发送它。

jack对于多媒体工作站是不二之选。Ardour就是使用jack作为输入输出组件。jack是如此之出色,甚至你在mac上也能看到他的身影。

  • FFADO

输入: Jack

输出: Audio hardware

许多专业设备都是通过“火线”连接到pc的。这样做有很多优点,火线传输速率快,而且可以为外设供电。很多台式机和笔记本都有火线插口,它是如此稳 定而成熟。在外面,你可以通过笔记本的火线插口录制音频,回到工作室再导入工作站中。

与usb不同,它是专用于音频输入输出的插口,拥有自己的通信协议,无须安装驱动程序。如此的复杂性,导致alsa不能胜任。所以它使用专属于自己 的胶合层。

起初,这是个叫FreeBOB的项目,这得益于许多火线音频设备都是基于相同的硬件协议。FFADO是FreeBOB的继任者,提供更多特性,并为 其他类型的火线插口设备提供支持。

2009年末,他发布了第二版,包含了对许多类似Alesis、Apogee、 ART、CME、Echo、Edirol、Focusrite、M-Audio、Mackie、Phonic和Terratec的单元的支持。因为不能确 保所有的硬件都能在这个平台上工作,所以购买前你需要进行测试(livecd测试ati显卡?lol),很多厂商也提供FFADO开发者设备以支持其改进 和驱动完善。

FFADO另一个特性是整合了dsp芯片的混音驱动,你可以通过图形界面设置输入输出,以及音效等。不同于alsa的软混音,你可以真正的对硬件进 行控制,做到真正的0延时,这对现场录音等需求大大有助。

和alsa等其他架构不同,jack仅仅对其支持的硬件进行处理,没有对alsa或者pulse提供接口,除非你用alsa替代jack,否则你无 法使用jack正常的进行音频播放。但是很多专业设备对jack支持良好,所以jack是你的最优选择。

  • Xine

输入: Phonon

输出: PulseAudio, ALSA, ESD

如果说linux音频发展像地球史,那xine就处在白垩纪。它就像个遗老,你仍能从很多播放器中发现它的身影,所以很多linux发行版仍然捆绑 着xine。

xine创立之初,设计分为前端和后端,前端用于和用户交互,后端处理多媒体。得益于封装的解码库,它可以播放包括AVI、Matroska和 Ogg以及它们 包含的数十种格式,例如AAC、Flack、MP3、Vorbis和WMA。

因为它依赖于库实现,所以xine被开发成一个多媒体框架,库的开发,使得xine在法律允许范围内对多媒体文件提供最好的支持。xine可以和 alsa,pulse通信,很多程序也可以调用xine,例如totme-xine。同时xine也是kde的Phonon默认后端,所以不论是 Amarok 还是 Kaffeine,都能看到他的踪迹。

  • Phonon

输入: Qt 和 KDE 程序

输出: GStreamer, Xine

跨平台是他最大的优势。开发者可以用Qt在Linux上编写一个音乐播放器,然后可以重编译给OS X和Windows使用,而无需要考虑音乐是如何播放的、使用的音频硬件的兼容性如何,或者最终操作系统会如何处理音频这些问题。Qt的Phonon自动 完成音频传送,例如自动传送到OS X的CoreAudio的API中,或者Windows的DirectSound中。
在Linux平台上(不同于早先的KDE版本),得益于其透明的编解码器的支持,Phonon传递音频给GStreamer。phonon正在 慢慢从Qt的框架中剥离。
这个架构受到最大的批评就是它过于简单,没有任何新的特性,不过看样子KDE 4中,还是会将它保留在架构中的。
  • 其他分支

当然还有其他很多小众的音频技术,例如ESD、SDL和 PortAudio。

ESD是声音启发守护进程(Enlightenment Sound Daemon),它在曾经很长的一段时间里曾是Gnome桌面的默认声音服务。后来,Gnome开始使用libcanberra(它本身可以和ALSA、 GStreamer、OSS和PulseAudio通信),ESD在2009年4月被彻底放弃支持。在kde上esd也是杯具。因为大部分人都是使用 kde4,所以phonon替代了esd。慢慢的esd坠入历史长河…

SDL依然欣欣向荣的发展着。因为已经是用他开发了上百款跨平台游戏, 所以SDL库的音频输出组件依然支持良好,具有大量新的特性,并且成熟而稳定。

PortAudio也是一个跨平台音频库,它把 SGI、Unix和Beos加入到可能的终端混音器中。使用PortAudio的最知名的应用程序就是Audacity音频编辑器了,因为使用了 portaudio,使得它音频输出遇到了问题,jack支持也遇到了bug(audacity得不偿失啊)

OSS,开放声音系统(Open Sound System)。它已经被从linux 2.4之后的版本中剥离,但是他仍然存在……主要原因是有太多的程序仍然在使用它。不像 alsa,它可以在除Linux的平台上运行。它甚至还有个FreeBSD版本……(老当益壮~)在1992年,它可以说是一个很好的系统,但是现在它几 乎被alsa替换。OSS定义了Linux下音频的工作方式,特别是音频设备要通过ioctl分支访问,例如通过/dev/dsp。ALSA提供了一个 OSS兼容层来让那些使用OSS的程序仍旧可以使用alsa标准。OSS项目曾经作过开源和专利开发的尝试,现在仍作在为4项前端技术(4 Front Technologies)的商业开发而努力,并在2009年11月发布了OSS 4.2的2002版。



抄下来以后慢慢看!

Wednesday, May 26, 2010

KDE SC 4.5 预览

计划今年八月发布的 KDE SC 4.5 目前已进入特性冻结期。让我们随同 LinuxCrunch 网站来一起看看 KDE SC 4.5 都有哪些新东东吧。

KDE SC 4.5 预览

KDE SC 4.5 默认桌面

KDE SC 4.5 预览

通知

KDE SC 4.5 预览

与 PIM 集成的 Plasma Calendar

KDE SC 4.5 预览

新的活动管理器

KDE SC 4.5 预览

已重新排列的系统设置窗口

KDE SC 4.5 预览

新的键盘设置模块

KDE SC 4.5 预览

新的窗口边框配置模块

KDE SC 4.5 预览

新的 KinfoCenter

KDE SC 4.5 预览

平铺窗口功能



编者按:哪里有高手告诉我重大变化在哪里呢?

GNOME 3登录和锁屏画面草案

漂亮的GNOME 3登录和锁屏画面草案

GNOME 3的设计图已经越来越多了,最近开发者们刚刚放出了“登录”和“屏幕锁定”两种画面的设计图。

从图上看,GNOME 3跟现在的桌面,几乎是完全两样。

这是登录画面的设计图,在这里,你看不到之前GDM丑丑的、死板的按钮和样式,取而代之是很精致的“Sign In”和用户列表,半透明的风格非常好看~

当选择了某个用户后,就会显示成这样的画面,提示输入密码。

不知道这两者的切换会不会有类似于Mac OS X那样的切换效果,我想肯定会有。因为有Clutter

至于锁定屏幕的设计,也是走这种半透明+简洁的风格。

我个人是相当喜欢这样的设计。不知道最终是不是会完美地实现出来呢?拭目以待吧!

Tuesday, May 25, 2010

少见的鼠标评测:The mouse ain't dead...yet: five of the best mice reviewed



19diggsdigg For over thirty years the computer mouse ruled over the kingdom of computer navigation. Despite losing its rubber ball and cord over the years, the peripheral lived a long, full life of being pushed across desks and tables getting the cursor where it needed to go. It died today from neglect as it was abandoned en masse for touchpads and touch-based computers.

Many tech pundits have already started drafting an obituary of the computer mouse like the one above, but let's be clear: we think the death of the mouse is greatly exaggerated. In fact, we're so convinced the mouse isn't dead that we've been testing some of the best on the market for the last couple of months. Click on below to find out why we think the lowly mouse has more than a few good years left, and which ones out there deserve your attention.


The state of computer navigation
Sure, the mouse may one day perish to fancy new touch operating systems and better multitouch hardware, but that's just not the computing world we currently live in. Let's start with the biggest issue: terrible trackpads. Readers of our laptop reviews are certainly not strangers to the fact that many systems – big and small -- are riddled with quite unsatisfactory trackpads. Sometimes, like with HP's ClickPads, that's a result of poor multitouch software that attempts to try and enable more finger gestures but ends up ruining the basic navigation experience -- we often wonder if anyone uses some of these laptops before shipping the out. Other times, it's simply the result of uncomfortable and poor hardware, like with Dell and Gateway's newest systems which can be so frustrating and physically painful to use that there's no other option than to reach for an external mouse. That's not to say some trackpads aren't close to perfect – Lenovo's dimpled ThinkPad surface and Apple's aluminum multitouch touchpad are two of the best -- but even then there are some that find flat surfaces uncomfortable for long periods of desktop navigation.

No matter how you slice it, Windows 7 and Mac OS X are still very much mouse-based operating systems.

But trackpads will soon be a thing of the past as touch-based operating systems that are completely oriented around finger input take over, right? Well, not any time soon. The iPad may represent an early move towards larger touchscreen interfaces, but the iPad is a secondary device, and our primary desktop operating systems were built with the mouse as the primary means of control. Simply replacing the mouse with touch leads to inconsistent experiences -- just look at the Windows 7 laptops with touchscreens that have popped up recently. While the OS is more touch-capable than previous Windows OSes, users cannot rely solely on touch -- another method of pushing the arrow around is required. No matter how you slice it, Windows 7 and Mac OS X are still very much mouse-based operating systems through and through. We can't say what will be next from either company, but we do know Windows 8 isn't expected until 2012, so it looks like the majority of us will be living with the mouse for the next two years at the very least.

So yeah, the mouse isn't close to being buried; heck, it isn't even on life support. And there's also the little fact that external mice are actually pretty great, and can do more than ever before with improved shortcut options and scrolling functionality. We've spent the last few months testing some of the more advanced mice on the market, so mosey on down to see how they perform.

The newest mice reviewed

Logitech Anywhere Mouse MX ($80)

Of all the mice we have played with, the Logitech Anywhere Mouse MX stole our hearts most consistently. Most travel mice are too small to use comfortably as an everyday mouse and typically lack the extra controls of full-size mice, but not the Anywhere MX. It's wireless, about the size of an BlackBerry Curve, and perfectly symmetrical for both righties and lefties. Saying it's comfortable to use is an understatement if we've ever heard one – its wider body fit snugly in our hand, and it felt like its grippy coating melded to our fingers after a week or so.

The MX has a scroll wheel between its right and left clickers with a shortcut button below them, as well as up and down arrows on its left side. We had no issues configuring all those on a Mac or PC with Logitech's Control Center software. Hands-down, our favorite part of the mouse is the shortcut button, which is preset to activate Windows Areo or Apple Expose. We also love that the scroll wheel can be pushed in to change from a click-to-click scrolling to hyper-fast scrolling, but the latter option doesn't have quite enough precision. The Anywhere MX also has Logitech's Darkfield laser tracking technology, which allows it to be usable on most surfaces. That's no lie, either – it worked just fine on carpet, a glass table, and on rough title flooring.


Microsoft Explorer Mouse ($79.95)

Microsoft was first to market with the BlueTrack system that enables the Explorer mouse to work on any surface, but Logitech wasn't far behind with its similar Darkfield tech. Still, the Explorer is a standout option, and we're particularly big fans of its glowing blue aura and inductive charging base (honestly, who has fresh AAs lying around when you need them?). We happen to have small hands, so we didn't find Explorer's wider body to be all that comfortable, but when we lent it to a friend with larger mitts he didn't complain about the ergonomics.

The Explorer is Mac and PC compatible, and there were no hiccups configuring the two narrow buttons on the left edge and the scroll button. But we're not fans of the mushy scroll wheel -- it really should have a clicking option for easier control. On a mouse of this size we'd also expect a few more buttons; we're not talking 16 more buttons like the WarMouse Meta, but just a few more so you have the option for a few shortcuts. Despite those drawbacks, the Explorer's still a solid choice for those that are looking for living room or kitchen mouse, as it did work on virtually every surface we slid it on.


MadCatz Eclipse TouchMouse ($59.99)

We won't lie: when we set up the Eclipse TouchMouse we didn't know what to make of it. It's crazily shaped, has a touchpad in place of the scroll wheel, and it look more like a lawn chair than anything else. However, the Eclipse is more comfortable than it looks, although we wish it were raised higher off the ground -- like the Magic Mouse, it's a bit too flat for our liking.

There isn't much of a learning curve when it comes to using the touchpad. When we paired the mouse with our MacBook Pro it recognized the pad as the scroll wheel, and dragging a finger up or down was quite responsive. We couldn't get the other TouchGestures working on a Mac, but when we connected it to a Lenovo ThinkPad we were able to swipe left and right on the pad to move forward and backwards in Internet Explorer. Not a bad trick, but oddly, the basic sensitivity on the mouse had to be turned all the way down to achieve normal speeds on both the Mac and the ThinkPad. Unlike the Logitech and Microsoft, the Eclipse can't sail over carpet, but it held its own on a mirrored table.


Razer Imperator ($79.99)

We couldn't round up a slew of new mice without including a corded, gaming option. Razer's long stood out amongst gaming peripheral manufacturers, and the Imperator with its 5600dpi sensor and blue LED accents is what you want to have in hand when tearing through an MMO or first-person shooter. The Imperator really stands out in ergonomics – well, that's if you're a righty. Size-wise it's just right – not too thin or too wide, and the rubber top and scroll wheel feel pretty great in hand. The side grip is covered in a glossy plastic, and though it becomes seeped in fingerprints, it's still a cozy place to rest your right thumb. There are two vertical shortcut buttons on its face, and another duo on the left side that can actually be slid forward or backward with a switch on the bottom.

It's annoying that the Imperator doesn't come with drivers, but it's easy enough to download them from its support site. (Quick note: no matter how much mice may evolve, we're convinced that mouse drivers will always be more frustrating than they really should be.) Either way, on both Mac and PC laptops we were able to easily adjust the Imperator's sensitivity and acceleration, as well as configure the five shortcut buttons. Sure, the Imperator was built for gamers, but it happens to be one of our top picks when it comes to good old fashioned comfort.


Apple Magic Mouse ($69.00)

It seems only appropriate to close with Apple's Magic Mouse, as there's no other mouse out there that's such a hybrid of old and new desktop navigation ideas. When it first launched, we were impressed by its thin, minimalist and unified design, but after a few months of use, most of the Engadget staff agrees that it's just too flat and not nearly ergonomic enough for general use. And that flatness is even more apparent when it comes to using those unique multitouch gestures; we always want to have our finger propped up higher to scroll rather than keep it resting flat on the mouse.

That being said, we do really like the responsiveness of the gestures, especially the single-finger scrolling and two finger forward / backward swiping. If anything our major issue is that Apple's mouse doesn't allow for enough gestures. But there's always BetterTouchTool, a free program that enables almost anything you want, including the ability to customize three finger Expose, and single / two-finger tapping.


Wrap-up


The computer mouse lived longer than many ever anticipated.

Yep, that's going to be the first line of the mouse's obituary. One day we may navigate every computer with a glass multitouch trackpad, or by simply by touching the screen, but today and for the foreseeable future we're living in a world of subpar trackpads and cursor-based operating systems. We'd love to see laptop manufacturers focusing more on trackpad usability, and we're hopeful that Apple and Microsoft are hard at work making their operating systems much more touch-friendly, but until then we'd suggest keeping that Logitech MX or Razer Imperator in hand and well fed.