EP.007 / PUBLISHED

QEMU

一台可以被改写的机器

从 Fabrice Bellard 的个人项目出发,追踪 KVM 与 Xen 的分叉怎样回到共同上游,维护责任怎样拆成具体位置,以及 QEMU 怎样进入 Android、UTM、xemu 与 GNOME Boxes。

2026年8月4日 30:51已发布
FINAL MASTER / release-approved
《QEMU:一台可以被改写的机器》单集封面

单集简介

SHOW NOTES
QEMU:一台可以被改写的机器

一台电脑正在一部 iPhone 里面启动。UTM 把 QEMU 链接成 shared library,藏进应用的一条线程;KVM 可以拿走处理器的主要执行工作,Android Emulator 可以增加手机设备,xemu 可以把它改成一台原始 Xbox。底层不断被拆开、包裹和改写,为什么它们仍然属于 QEMU 的故事?

本期《原代码》从 Fabrice Bellard 在空闲时间里维护、没有一张通往 1.0 日程表的个人项目出发,追踪 KVM 与 Xen 的分叉怎样逐步回到共同上游,维护责任怎样从一个名字拆成许多具体位置,以及 QEMU 怎样在服务器之外进入 Android、UTM、xemu 与 GNOME Boxes。它被业界接受,并不是因为所有人最终运行同一个原版程序,而是因为越来越多人能够拿走它最显眼的部分,同时继续处理自己与 upstream 的距离。

你可在官方网站 https://yuandaima.xyz 中查看本期逐字稿、证据引用关系和证据快照。

时间轴

  • 00:00 一条 iPhone 线程

  • 02:27 从程序到机器

  • 06:07 没有一张通往 1.0 的日程表

  • 07:52 内核拿走处理器

  • 10:47 -enable-kvm

  • 15:28 分叉怎样回来

  • 19:02 没有唯一的交接日

  • 22:50 四个窗口,四种 QEMU

  • 28:24 一台不再属于一个人的机器

本期资料

源码与工程记录

公司与产品采用

访谈与历史原声来源

说明与延伸阅读

  • “业余项目”来自 Bellard 2004 年的同期邮件;“玩具”不是他的原话,也不是本期对早期 QEMU 用途的判断。
  • 2003 年 3 月 23 日首发邮件的文字来自后来维护者演讲中的转录。本期没有找到可确认的 Bellard 本人 QEMU 录音,也没有把旁白读信伪装成作者声音。
  • KVM 进入 Linux 内核不表示 QEMU 被并入内核。KVM 负责受控的 guest 执行与内存、虚拟 CPU 接口,QEMU 继续提供用户空间机器和设备模型。
  • Red Hat 收购的是 Qumranet、KVM 团队和相关产品,不是 QEMU。收购与 KVM 支持进入 QEMU upstream 处在相近时间窗口,但现有材料不支持把收购写成该 commit 的单一原因。
  • KVM 和 Xen 的 downstream tree、upstream 支持、默认路径与兼容路径在不同时间变化。一次合入或默认值切换,都不表示分叉和维护成本立即消失。
  • 现有材料只能确认到 2013 年 Bellard 已不再参与项目,不能给出唯一的正式离场日,也不能把后来的 QEMU 写成由一个人完整接手。
  • Android Emulator 的固定源码快照说明它是 QEMU downstream,并保留从 upstream 合并的路径;快照日期不代表首次采用年份,也不证明全部现代 backend。
  • UTM、xemu 和 GNOME Boxes 都有项目方材料支撑其 QEMU 关系。Dolphin、RPCS3、Xenia 等其他游戏主机模拟器没有进入本期 QEMU 系谱;Apple Simulator 则明确不是 emulator。