华为 ARM 桌面机(W510)使用体验

ARM 在移动领域大获成功后,ARM 桌面化呼声日益渐高。自树莓派于十年前发布后,让大家看到了 ARM 桌面化的可能性。但是直到现在,树莓派的硬件不管是在 linux 上还是 windows 上都不能完全驱动,而且整体稳定性堪忧,只能称之为一个高级玩具,其在桌面上的表现完全达不到日常使用的标准,而且还越来越贵了。微软也推出了好几代的 ARM 笔记本,但是微软的 ARM 生态很成问题,很少有软件开发商愿意开发 ARM 应用,以至于不得不通过模拟的方式去运行 x86 的应用,其效率低下带来了恶评如潮。不过在 ARM 生态方面,linux 简直不要太好了,主流的 linux 发行版都提供 ARM 的版本,有大量的 ARM 原生应用可以以 100% 的效率运行。所以如果能找到对 linux 硬件良好兼容的 ARM 桌面设备应该是个更好选择。华为擎云 W510 就是这样的设备。

华为擎云W510采用的 CPU 是鲲鹏920。鲲鹏920是华为于2019年低调发布 ARM 架构 CPU,采用 7nm 工艺制造,主要用于服务器。然而也有几款桌面电脑采用鲲鹏920。市面上能买到的除了采用24核的华为擎云W510,还有采用8核的宝德PT620K和清华同方tk930。这三款机型都是针对政企的信创产品,几乎没有零售。最近我就在海鲜市场上收了一台华为擎云W510,估计是流出来的开发版。

外观

因为买的是二手,没有说明书,所以用尺子量了下实际尺寸,大概是317mm*93mm*294mm。尺寸和标准的 Mini ATX 主机相当,但实际上这并不是一台标准 Mini ATX 主机。

正面

背面

W510 的主板提供一条 PCI-E 16X 和 一条 PCI-E 4X 插槽,主板在插槽的位置向内凹,对应机箱的位置也向内凹,所以这不是一个标准的 Mini ATX 主板而是一个异形主板。另外电源控制接口也因为电源按键集成了指纹识别模块而设计了定制的排线。这种定制化的设计严重影响了可扩展性,以至于板卡只能用半高的,也无法把主板拆下来安装到其他机箱机箱里面。

PCI-E 插槽处内凹缺口

PCI-E 插槽处向凹陷

内存支持两条笔记本 DDR4 内存,有两个 SATA 接口,其中一个接口已经接上一个吸入式 DVD 光驱,整体可扩展性不强。24核鲲鹏 920 CPU 直接焊在主板上不可更换。另外两款也采用鲲鹏920的宝德PT620K和清华同方tk930是标准的 ATX 主板,可以方便地安装到任意机箱里,并提供更多的 PCI-E 插槽、SATA 接口和内存插槽,可扩展性也更好,不过 CPU 核心数只有8核。

硬件

华为非常热衷于将自己的硬件支持代码集成到 Linux Kernel 上游,所以 Linux 对华为的支持可以说是所有 ARM 硬件开发商中最好的,几乎所有硬件在上游都有驱动,跑起来除了指纹和音频输出有问题,其他硬件都能正常驱动起来。另外值得一提的是,鲲鹏920支持硬件虚拟化 。我在实际使用中,利用 KVM 跑 ARM 架构的 Linux 发行版非常流畅,和 x86_64 下的 KVM 完全没有区别,这对开发者来说简直太友好了。不过据“信创”群友称,这款电脑的散热不太好,已经有人因为长时间跑复杂运算烧了主板。我也发现 CPU 风扇上的通风口确实有点小。不过我并没有在使用中发现散热有什么严重问题。

软件、系统兼容性

ARM 软件生态兼容性的问题不是我关注的重点。另外一个数码博主二斤啦啦啦啦做过相应的评测(https://www.bilibili.com/video/BV17f4y117gu?vd_source=a3bd61f4a6340505ae976efbc4bccd99),有兴趣的可以去看。简单的说,如果你平时使用的大都是开源软件,软件支持不会有什么大问题,开源生态对 ARM 的支持是非常好的,并没有二斤说的那么严重。但是如果有商业软件的使用需求那么问题就非常大,很少有商业闭源的 ARM 应用。另外鲲鹏920桌面机通常都自带国内的 UOS 或者银河麒麟发行版,没激活可能没多少软件可用,这和软件生态本身没关系。至于能不能安装 windows ARM,说是不行,但我觉得可以,只是可能没驱动。官方也在不起眼的地方表示不支持安装多个操作系统,但实际上是可行的。

我关心的问题其实是系统的兼容性。上面二斤的测评被很多吐槽不专业,甚至有自称华为的开发在后面回应“我知道的 ubuntu,redhat,suse,deepin 都是有对应ARM64版本支持。推荐安装官方开源的openEuler,软件支持最完善。”这位开发如果不是睁着眼睛说瞎话,就是自己没把功课做好。下面是我测试过系统的实际情况:

OS 运行情况
Centos 8 正常运行
Centos 9 启动卡死
openEuler 20.03 反复自动重启
openEuler 22.03 启动卡死
openSUSE Leap 15.3 反复自动重启
openSUSE Leap 15.4 启动卡死
openSUSE Tumbleweed 启动卡死
Debian 11 正常运行
UOS 20(自带) 正常运行

从上面表格列出的情况可以看出,系统越新问题越大。启动卡死这个问题其实是华为内核开发在 kernel 5.11 提交的功能变更触发了 BIOS 的 bug。这个 bug 是所有鲲鹏920桌面的机的通病。其实华为的开发很早就知道这个 bug,但不知何故,一直不更新去修复这个 bug 。出于好奇,我查了一下 BIOS 开发商,叫南京百敖软件股份有限公司,是北京中科院软件中心有限公司的子公司,很多信创产品的 BIOS 这家公司做的。一家有中科院背景的企业做出来的东西是这样的,我对信创产品是否真的可控表示怀疑。看样子市场化的东西和特供产品区别很大。

另外反复自动重启这个故障据“信创”群友提供的信息,这很可能不是 bug ,而是 Feature。也就 BIOS 里面可能有个兼容白名单,白名单以外的系统都会触发重启故障。按这个思路的确可以解决这个问题。如果真是这个原因,把自家的 openEuler 排除在白名单之外这可就奇了。

上面故障都有办法绕过,可以参考这里:https://zh.opensuse.org/%E9%B2%B2%E9%B9%8F920%E5%8F%B0%E5%BC%8F%E6%9C%BA%E5%AE%89%E8%A3%85

性能

性能方面在使用上感觉不出与 x86 架构电脑有什么区别。我用 openSUSE 自带的编译打包工具 osc 通过编译内核简单的测试了一下性能。对比平台是 AMD Ryzen 2700,这款 CPU 发布与鲲鹏 920 的前一年。

osc 是 open build service 的一个命令行管理工具,这个工具也可以进行本地包的编译。其过程包括压缩、解压、gcc 编译、patch 操作等,用这个测试性能算是比较全面又不涉及 GPU。编译同一个 kernel 版本,AMD Ryzen 2700花了3465s,采用24核的 W510 花了6484s。AMD Ryzen 2700 的综合性能超出了 W510 接近一倍,和同时期中端主流的性能差不多。这样的性能应该可以跑复杂一点的运算,不过前提是散热压得住。

osc 综合编译性能测试

ARM 桌面化的现状

以华为擎云W510为代表的国产 ARM 桌面机及硬件向大家展示了 ARM 桌面化的可能性以及现状,其性能和稳定性其实已经赶上了 x86 的主流水平,完全已经达到了日用的水平,硬件的扩展性也能做得和 x86 架构的一样。所以国产的 ARM 桌面机型都列入了政企的采购清单,这也是对 ARM 的认可。不过对比移动领域的火热,ARM 在桌面领域仍然是冷门的存在。除了部分厂商和政体有自主化的需要(比如苹果和中国政府),市场上鲜有 ARM 桌面机的存在,所以 ARM 桌面机什么时候能得到厂商和消费者的认可,还需要时间来验证。

发表评论?

1 条评论。

  1. 感谢博主评测。这两天我也收了一台二手W510,用了 wiki 上的方法装Tumbleweed成功了。这两天使用下来没发现啥太大问题。8g内存一编译就卡死,自己加装到32G了。我这台的显卡是amd r 520,带不动4k 60hz。不知道别的显卡有没有兼容性问题所以没换。另外鲲鹏920只支持64位,无法运行32位程序(除qemu),有些遗憾。拿来做日常arm平台的研究和开发应该够了。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据