OpenBSD/arm64 上,有人在一台 HP Elitebook X G2q 上把 USB、键盘、触控板跑起来了,走 ACPI 模式。提交者 Tobias Heider,同时在 Canonical 上班。
这是 OpenBSD 对 Snapdragon X2 Elite 笔记本的第一批支持代码。量不大,功能离完整差得远。但它躺在 git log 里,能被翻出来——新闻稿不行。
Qualcomm 那边的说法是:要把 Snapdragon X2 系列的核心驱动 upstream,点名 Hexagon NPU 和 Adreno GPU,目的是让合作伙伴接进来更容易。HN 那帖底下,一半人"终于",一半人"这话我听过"。
我站后一半多一点。
不是怀疑 Qualcomm 的能力。是这个领域里"声明"和"交付"之间隔着的那段路,比大多数讨论里想象的长。长到不画一张图说不清。我平时画的是模型那一摊地图,这次画的是一摊驱动、固件和人力——题材换了,画法一样:先把坐标钉住,再往上走。
两个坐标先钉一下。
第一个是"能不能 boot"。这是默认起点,也是信息量最低的那个点。机器能从 U 盘起来、进桌面、连上 Wi-Fi,今天已经不难了,BSP 内核糊一层 out-of-tree 补丁就能做到,很多年前就能做到。它证明的只有一件事:有人愿意花两周。它不证明这个平台有维护路径。
第二个是"内核版本能跟着发行版走多久"。这才是问题本身,也是几乎没人愿意正面回答的那个。
一台笔记本的生命周期三到五年。你买它的时候装的是冻结在某个 LTS 上的 BSP 内核,两年后发行版把内核升到新版本,你的驱动得重新 rebase 一遍。rebase 的人是谁?不知道。
这篇要走的区:先把内核支持的三种形态切开,说清楚为什么下游内核必然走向维护地狱;再讲引导链上 UEFI、ACPI、SBSA 那条契约线,以及它为什么比驱动更根本;然后上到人力层和商业层,因为能不能预测交付,看的是这层;中间插一段侧翼,一个 OpenBSD 的 commit 能读出什么;最后用一张表把前面所有分支压平,落一个判断——现在站在哪、地图上还空着哪几块。
不写"哪个型号值得买"。那是另一类稿子的活。
一、内核支持有三种形态,只有一种活过三年
社区吵"Linux 支持好不好",经常把三件完全不同的事混着说。摊开是这样:
| 形态 | 长什么样 | 发行版升内核时 | 典型症状 |
|---|---|---|---|
| 下游 BSP 内核 | SoC 厂给一整套冻结版本内核 + 成堆 out-of-tree 补丁 | 挂掉,要重做 rebase | 卡在某个老内核上,用户不敢升 |
| 混合态 | 核心子系统进了 mainline,显示/相机/固件还在下游 | 部分能跟着走,部分靠外挂模块 | 能 boot,但某个功能在大版本升级后消失 |
| mainline in-tree | 驱动在内核树里,跟着内核节奏发布 | 不用管 | 一般用户根本不会意识到自己装过驱动 |
HN 那帖里有人描述过老的 Qualcomm Linux 设备:拿到的是塞满 out-of-tree 补丁的 vendor kernel,发行版升级和维护都很难做。这段描述准确,描述的正是第一种形态。
第一种形态的问题不在"不开源"——BSP 内核常常也开源。问题在于它的时间轴和 mainline 的时间轴不是同一条时间轴。
补丁是相对某个冻结的内核版本写的。mainline 每九到十周往前走一个版本,内部 API 会变。BSP 在它冻结的那一刻是自洽的,往后每过一年,把它往新内核上 rebase 的成本翻一倍。到最后重写一遍比 rebase 便宜,于是 BSP 版本就真停在那儿了。
这不是懒惰,这是数学。
所以判断一次"上游化"声明值不值钱,看的不是它列了哪些子系统,是看它列的东西是不是奔着 mainline in-tree 去的。Qualcomm 这次点名的两块恰好是最难进 mainline 的:NPU 的用户态 runtime 抽象至今没有稳定共识,GPU 驱动本身就是个大子系统。把这两块点名,至少说明这份声明不是"我们再发一版 BSP"的同义反复。这是它比过去那些声明更值得看一眼的地方。
但也就到这一步。声明进 mainline 和补丁真的被 merge 是两件事,中间隔着 review 周期、ABI 讨论、以及 maintainer 愿不愿意接。以那帖里的公开信息为准——我没去翻 patchwork,也没核 mainline 的具体状态。这一层我给不出锚点。
地图上还有一笔老账。那帖里提到,Qualcomm 给更早的 Snapdragon X 做内核上游化已经做了大概两年,社区到今天还在跟驱动和固件问题纠缠。两年不短,一个完整的发行版周期都该走完了。这条记录,是判断 X2 这次能不能不一样的最硬参照。
不是唯一参照。但是最硬的。
二、引导链才是地基,UEFI 是 ARM 笔记本最意外的恩人
驱动写得再好,起不来也白搭。而"起不来"在 ARM 笔记本上从来不是驱动问题,是契约问题。
x86 那边有几十年沉淀下来的默认答案:UEFI 固件、ACPI 表、可枚举的 PCIe 总线。厂商做不做功夫,机器都能起来。
ARM 这边没有这套默认答案。历史上每一块板子有自己的 device tree,自己的 U-Boot 移植,自己的 DDR 训练参数。同一个 SoC 换一个 OEM 的板子,device tree 得重写一遍。
所以那帖里有人提:Qualcomm 应该像 Ampere 那样走 Arm 的 SBSA、UEFI、ACPI 标准,这样通用的 Linux 或者 BSD ARM 发行版能直接在它的芯片上 boot。这个提法是对的,也是这张地图上最容易被低估的一块。Ampere 把这条路走通了,所以通用 ARM 服务器发行版能直接起在它的机器上,没有"给这台机器专门做一个镜像"这种环节。
有意思的地方在这:把 ARM 笔记本启动碎片化往下压了一截的,不是 Linux 阵营,是 Microsoft。那帖里有人观察到,Microsoft 推 UEFI 反而减少了 ARM 笔记本上的启动碎片。这个观察我认。Windows on ARM 要跑就得有一个统一的固件接口,OEM 为了让 Windows 能跑做的那套东西,顺手给 Linux 留了一条标准入口。
这是个典型的"最大受益者不是你、但你搭了便车"的结构。不值得高兴,值得记在地图上。
ACPI 模式这件事跟开头那个 commit 直接相关。Heider 在 HP Elitebook X G2q 上让 USB、键盘、触控板跑起来,走的是 ACPI 模式。翻译一下:X2 这一代的启动路径已经开始往"通用"那一侧收敛,而不是继续往"每家一块板子一套 device tree"那边走。这条信息比新闻稿有分量——新闻稿说的是意图,commit 说的是已经发生的事。
还有一条得单独拎出来:Heider 演示了 Ubuntu,并确认 ARM EL2 能工作。EL2 能工作意味着 KVM 有戏。前面几代缺的就是这个。对开发者的意义比对普通用户大得多——它决定这台机器能不能当开发机用,能不能在里面跑容器、跑虚拟机、跑别人的发行版。
三、谁在领工资,比谁发了新闻稿更能预测交付
地图往上走一层是人力层。这层不好看,但预测能力最强。
那帖里有人说,Qualcomm 从 Linaro 招了开发者,过去两三个月他们一直在 Linux ARM MSM 邮件列表上直接支持好几台 X2 笔记本。这条信息的分量,比前面所有技术细节加起来都重。
原因简单到不值得展开:驱动是写出来的,写驱动要人,人要吃饭。一个 SoC 厂商对 Linux 的态度,最直接的读数不是新闻稿的语气,是它账上有几个全职做 mainline 的人、这些人是不是出现在公开邮件列表上、出现得是不是持续。
两三个月在邮件列表上直接支持几台具体机型,这个信号很具体。它说明在 X2 这个时间点上,确实有拿薪水的维护者在干活。
Canonical 那边发过"Ubuntu 即将支持 Qualcomm Snapdragon 平台"的 blog 帖。以那帖里链过去的信息为准,我没点进去核全文,只能当方向性信号看——发行版愿意提前站台,通常意味着它有渠道拿到硬件和早期固件。但站台本身不是交付。
这里说一句可能不太受欢迎的:这张地图上,"某公司宣布 upstream"和"某公司雇了人常驻邮件列表"是两种不同量级的信息,而社区讨论的注意力配置是反的。前者传播广,后者没人转。前者是意图,后者是产能。
判断一个平台三年后能不能用,看产能。
再往下还有一层:硬件可得性。那帖里提到 X2E-96-100 在美国有卖,欧洲似乎没有,欧洲那边只有 X2E-94-100。很多人当花边看,我认为它是地图上一块实打实的坐标。
道理不复杂。驱动作者得先有机器。一个 SKU 只在北美流通,欧洲和亚洲的开发者想给这代芯片写驱动,得先想办法搞到硬件,或者干脆放弃。硬件供给的区域性割裂,最后会变成驱动覆盖的区域性割裂。这条我承认是自己的推断,不是帖子里有人明说的结论——但把"买不到"和"没人给写驱动"分开看,怎么想都不合理。
四、一个 OpenBSD 的 commit 比十篇新闻稿有信息量
回到开头那个 commit,现在可以说它为什么值得单拎。
它是 BSD 侧的。Linux 阵营讨论 ARM 笔记本支持时,默认语境是 Linux 发行版,BSD 那条线经常整个从地图上消失。但 BSD 侧的动向恰好是最干净的信号源——OpenBSD 这种项目对"这个平台值不值得支持"的判断标准,比厂商的合作关系硬。它不会因为谁是赞助商就去写驱动。
而且它给的信息具体:ACPI 模式、USB、键盘、触控板。这三样是"这台机器能被人用起来"的最小集合。它没有夸张。一个只跑起来三样东西的 commit,比一篇说"全面支持"的新闻稿可信。
更有意思的是 Heider 的身份——在 Canonical 上班,同时给 OpenBSD 提交代码。这种人的存在本身就是地图上一个坐标点:有能力同时看到发行版侧和 BSD 侧、并且愿意往公开树里提交的人,数量不多,而他们流向哪些平台,通常提前于平台的成熟。
这一节我想说的是方法论:判断一个平台的 Linux 支持状态,看邮件列表的提交密度、看公开树里的 commit,比看厂商博客和发布会可靠。厂商博客是给采购看的,commit 是给编译器看的。后者不会说谎。
五、反向坐标:Rockchip、Chromebook,和把 modem 挂到 USB 上
地图上还有几个"反着走"的坐标,特别值得看,因为它们把主线的坑标出来了。
那帖里有人提到,他们会建议客户用 Rockchip,因为 mainline 支持更好;同时把 Qualcomm 的 modem 通过 USB 接出来,这样 modem 不会拖住整个产品。
这是非常工程化的解法,也是我读那帖时觉得最实用的一条。它同时说明三件事:
一、Rockchip 在 mainline 支持上的口碑是长期积累出来的,不是一次声明换来的; 二、Qualcomm 在这类项目里的定位,有时候是"必须用它的 modem,但最好别用它的 SoC 平台"; 三、一块地图没画好时,工程上的正确做法常常不是去补那块地图,而是绕开它。
第三条值得展开。做一个带蜂窝网络的设备,modem 绕不过去。但如果 modem 走 USB 挂上去,modem 的驱动和 SoC 平台的驱动就解耦了——modem 的固件和驱动属于一条成熟的、可以单独维护的线,SoC 那一边如果支持差,最多是性能差,不会让整个产品无法升级。这是把风险切开的做法。
同一个帖里还有个更平常、但更能说明问题的细节:有人说很多 Chromebook 的 mainline Linux 支持比最近几年的 Qualcomm 笔记本还好。Chromebook 是个好对照组——硬件规格不高,卖得也不贵,但它的内核上游化是被 Google 的长期投入硬推上去的。这条对照说明,"能不能有好的 upstream 支持"跟芯片性能没关系,跟谁在付钱有关系。
六、x86 那边站着的不是性能,是插槽
现在把地图拉到最高一层,看一个比驱动和固件都更根本的分岔。
那帖里有人反驳 ARM 笔记本的乐观情绪,理由是:x86 在标准化和可升级性上仍然更容易,ARM 笔记本还没有主流意义上的插槽式 CPU、可升级内存、独显支持。
这条是整张地图上最容易被技术讨论忽略、影响却最大的坐标。把差异摊开:
| 维度 | x86 笔记本 | ARM 笔记本(当前) | 撤掉差异需要什么 |
|---|---|---|---|
| CPU | 有插槽形态(桌面/部分机型可换) | 基本全部 BGA 焊死 | 没有厂商有动力做,市场不认 |
| 内存 | 普遍可插拔升级 | 基本全部板载 | 同上,且 LPDDR 焊死是功耗决策 |
| 独显 | 有成熟生态 | 基本没有 | 需要独显厂商出 ARM 平台方案 |
| 二手残值 | 可局部升级,残值有底 | 整机生命周期绑死 | 由上面三条共同决定 |
这四条意味着什么?意味着即使 Snapdragon X2 的 Linux 支持完美到跟 x86 一样,它作为一台"能长期持有"的机器,跟 x86 还是不在一个坐标上。一台 x86 笔记本三年后你可以加内存、换硬盘、甚至换 CPU;一台 ARM 笔记本三年后如果驱动跟不上了,你只能整机换掉。
这不是技术问题,是商业结构问题。而这个结构反过来会压低厂商做长期软件维护的动力——反正用户也没法局部升级,硬件换代本来就得整机换,软件支持做三年和做五年,对销量的影响不大。
所以那帖里"Snapdragon X2 是笔记本级里最接近 Apple M 系的竞争者,某些指标上超过 Intel 和 AMD 最好的产品"这个判断,我认为是对的。但它是一句性能判断,不是一句平台判断。性能坐标和平台坐标在这张图上不重合,这两件事经常被混着说。
七、性能数字是对的,重点是数字旁边那句
那帖里提到的 Geekbench 对比:Snapdragon X2 Elite Extreme X2E-96-100 距离 Apple 的 M5 Pro 已经不远,但单核和多核都还落后 M6。
这个结果可以接受,不需要多评论。它说明 Qualcomm 在纯算力这条线上已经进入能跟 Apple 放同一张表比较的位置,这在几年前不可想象。
真正该被拎出来的是同一帖里的另一个对比:有人拿 Snapdragon 版的 ThinkPad T14s 和 Intel Core Ultra 5 版的 ThinkPad T14s 2-in-1 比续航,前者大概 14 小时,后者超过 10 小时。然后他补了一句,那台 Snapdragon 机器已经两年了,仍然没有完整的 Linux 支持。
14 小时对 10 小时,这个差距是真的,也是 ARM 笔记本最大的卖点。但后面那句才是关键坐标:一台性能好、续航好、两年后仍然不能完整跑 Linux 的机器,在开发者这个群体里的实际价值要打一个大折扣。
也正因为这样,那帖里还有一群人说自己已经在 Windows 11 ARM64 下用 Snapdragon X 了,性能不错,很期待 Linux 能榨出多少。这个期待合理,但我认为它问错了方向。问题从来不是"Linux 能不能榨出更多性能"——Linux 在这类平台上的性能基本不会比 Windows 差。问题是"这个性能在三年后还在不在"。前者是 burn-in 阶段的事,后者才决定持有成本。
八、Apple 那场争论,两边说的不是同一件事
帖子里有一场熟悉的争论:Apple 的垂直整合到底是不是优势。一边说控制芯片、OS、硬件三样给了它优势;另一边说 Apple 拒绝 UEFI、Vulkan 这类标准,逼着别人做重复劳动。
这场争论吵不出结果,因为两边在说两件不同的事。
说垂直整合是优势的那一边,评的是"给定硬件和软件都由一家控制,能做出什么"——评的是上限。说拒绝标准是负担的那一边,评的是"这套东西对生态的溢出效应"——评的是外部性。
上限和外部性不是同一个维度。垂直整合在自身体系内确实更容易做出一致体验,代价是体系外的人要重复劳动;开放标准让体系外的人省事,代价是体系内的人要忍受别人拖后腿。这两句话都对,不构成矛盾,也不该被拿来互相反驳。
对画这张地图来说,这场争论有用的地方是它提示了一个坐标:Snapdragon X2 的 Linux 支持天花板,很大程度上不由 Qualcomm 决定,由 Windows on ARM 那条线的需求决定。Qualcomm 做 UEFI/ACPI 是因为 Windows 要,不是因为 Linux 要;它什么时候把某块驱动的上游化做完,大概率也跟 Windows 那条线的时间表有关。这不是阴谋论,是资源分配的自然结果。
九、把所有分支摊成一张图
前面梳过的,加上没单独展开的,压成一张表:
| 分支 | 现在的状态 | 关键锚点 | 代价 / 卡点 |
|---|---|---|---|
| 内核上游化 | 声明中,X2 核心驱动(Hexagon NPU、Adreno GPU) | Qualcomm 官方声明;X 系已 upstream 约两年仍有驱动/固件问题 | NPU 用户态抽象无共识,GPU 是大子系统 |
| 引导链契约 | 部分收敛 | Heider 的 commit 走 ACPI 模式;Microsoft 推 UEFI 减少碎片 | 消费级 SoC 未普遍走 SBSA |
| 虚拟化 | 首次具备 | Heider 确认 ARM EL2 可用,前代缺失 | 用户态栈跟进需时间 |
| 发行版侧 | 预告中 | Canonical 关于 Ubuntu 支持 Snapdragon 平台的 blog 帖 | 站台不等于交付,我没核原文 |
| 人力 | 已有常驻 | Qualcomm 从 Linaro 招人,近两三个月在 Linux ARM MSM 列表支持多台 X2 | 规模未知,持续性未知 |
| BSD 侧翼 | 首批代码 | OpenBSD/arm64 X2 Elite 首批支持,USB/键盘/触控板 | 覆盖范围小,仅最小可用集 |
| 硬件供给 | 区域性割裂 | X2E-96-100 美国有售,欧洲似乎无;欧洲仅 X2E-94-100 | 开发者拿不到机器就没有驱动作者 |
| 替代路线 | 长期有效 | 有顾问建议客户用 Rockchip + modem 走 USB | 绕开而非解决 |
| 对照组 | 已经跑通 | 很多 Chromebook 的 mainline 支持优于近年 Qualcomm 笔记本 | 靠长期投入硬推 |
| 结构性差异 | 未变 | x86 有插槽 CPU / 可换内存 / 独显,ARM 三条都没有 | 商业结构问题,非技术问题 |
还有一张依赖树,把"从一块 SoC 到一台能装标准发行版的机器"的路画出来:
一台 ARM 笔记本跑标准发行版
├─ 引导层
│ ├─ UEFI 固件(不走 per-board device tree)
│ ├─ ACPI 表 / SBSA 一致性
│ └─ 固件 blob(DDR 训练、PMIC、GPU firmware)
├─ 内核层
│ ├─ in-tree 驱动:USB / 键盘 / 触控板 / 网卡 / 显示
│ ├─ 子系统:Adreno(GPU)、Hexagon(NPU)
│ └─ ARM EL2 / KVM
├─ 用户态层
│ ├─ 发行版内核版本跟进能力
│ ├─ 图形栈(mesa 一路)
│ └─ NPU 用户态 runtime(基本还空着)
└─ 人力层
├─ 领工资的 maintainer
├─ 邮件列表上的持续活跃度
└─ 硬件能不能被开发者买到
横着看这条树,会发现一件容易被忽略的事:越往上,越不依赖 Qualcomm 的意愿;越往下,越依赖。引导层和内核层里最难的那几块,实质上是 Qualcomm 单方面能决定进度的;用户态层和人力层,社区自己能推动一部分;但最底下那一行——硬件能不能被开发者买到——厂商自己就能卡死,而且是那种卡死了没人会觉得是卡死的卡死。
时间轴上也该标一笔。Snapdragon X 系的上游化从大约两年前开始,中间有过 X1 发布前 Qualcomm 演示 Debian 设备(当时 Windows 没准备好)这样的事,而公开发布之后 Linux 支持就安静了下来。这条时间线要跟 X2 这次的声明放在一起读,才读得出分量。
我不是说这次结局一定和上次一样——Heider 那个 commit、邮件列表上两三月的持续活跃、EL2 的可用,都是上次没有的具体增量。我是说,把两次声明并排放,是评估这次的最靠谱方法,比读声明本身的措辞靠谱得多。
十、落子
摊开这张地图,我的落子是这样。
现在站在"声明已发出、增量已出现、交付未验证"这个阶段。比过去的同类声明可信,但远没到可以下结论的位置。这一格的证据不是新闻稿,是三件具体的、可核实的事实:ACPI 模式下有真实机型跑起来了,ARM EL2 可用意味着 KVM 这条线通了,以及有人拿着薪水在邮件列表上持续支持具体机型。这三件都是行为,不是表态。行为比表态可信。
地图上还空着的,我看有三块,按我觉得从难到易排:
第一块是 NPU 的用户态路径。内核驱动能 upstream,但 NPU 要真的能用,需要一套用户态 runtime 抽象,而这套抽象的共识还没形成——不像 GPU 那边有 mesa 那一套已经跑了很多年的栈。这块空地的位置很尴尬:它不影响你能不能 boot,也不影响你日常用,但它是 AI 工作负载能不能落到这台机器上的前提。先把这块画清楚的人,占的是未来两三年的坐标。而这块,我明确说,我在本文里没画清,因为我手上只有"驱动在 upstream"这一个信息点,用户态那部分是什么形态,我给不出出处。
第二块是固件 blob 的上游化。内核 in-tree 了,DDR 训练参数、PMIC 配置、GPU firmware 这些 blob 还是黑盒,还是要靠某个渠道分发的固件包。这块的难处在法律和商务那一侧,不在技术那一侧,所以它不会因为有人写代码而变好。这也是我说 UEFI/ACPI 那条线比驱动更根本的原因——它把一部分问题从"厂商愿不愿意给"转成了"接口符不符合标准"。
第三块是硬件可得性。这块最好解决,也最没人管。X2E-96-100 只在一个大区流通,就等于另一个大区的驱动作者要么自费搞硬件,要么不写。这块空地不需要任何人做技术工作,只需要供货范围调一下。但因为它不解气、不上镜、不能写成技术博客,所以它一直被忽略。我把它列进来,是因为在一张地图上,最容易被忽略的那块往往是最先卡住人的那块。
方向上,下一颗钉子我猜会钉在"标准发行版能直接装、并且两年后内核能跟着升级"这件事上——不是"能 boot",是"能跟着升级"。这个判断可以被证伪:如果未来一年里,X2 平台上没有出现任何一台能被主流发行版直接安装、且内核版本跟着发行版走的消费机型,那要么是这条路比预期难(很可能是 NPU 和固件那两块拖住了整条链),要么是地图重心又挪了。
这是我的判断,不是共识。你不同意,可以拿邮件列表的存档、mainline 的合并记录来挪这块坐标,我随时重画。
十一、这张地图我没画完的地方
按规矩,得交代清楚哪儿没画。
一、我没核原文。这篇里所有关于 HN 讨论的内容,以那帖里的转述为准。Canonical 那篇 blog 帖我只知道有人链了、知道它说 Ubuntu 即将支持 Qualcomm Snapdragon 平台,正文我没点进去。Heider 那条 commit 的具体内容、邮件列表上那两三个月的实际活跃度,我都是从转述里读到的,没去翻 patchwork 和归档。这是一篇在二次信息上画出来的图,它的价值在结构,不在事实精度。
二、整个多模态和相机子系统我略过了。相机在 ARM 笔记本上是一块出了名的泥潭,涉及 ISP、固件、以及一条叫 libcamera 的软件栈。这块和本文主线耦合很松,强行并进来会把坐标搅乱,我打算单独画。
三、我没有 X2 实机。这句话听着像废话,但它对这篇的判断有实质影响——我没办法验证"ACPI 模式下跑起来的三样东西"在真实使用里的稳定性,也没办法验证 EL2 可用之后 KVM 的实际可用度。这些是拿到机器的人才能核实的事。
四、所有 2026 年下半年之后的动向我都当"正在长"处理,不当"已成型"。这块领域跟模型那边一样,快到任何一个时间点截稿的图,交稿那天就开始过时。这张图当导航可以,当定稿不行。
最后说一句题外话,也是我想写这篇的原因。做技术判断最省事的姿势是看新闻稿,最贵的姿势是看提交记录。这两者之间的差距,在 ARM 笔记本这个领域里大得离谱——Qualcomm 那条新闻稿能被转几千次,Heider 那条只跑起来 USB、键盘、触控板的 commit,大概没人转。但如果你要判断两年后能不能买这代机器,前者提供不了任何信息,后者有。
