自研桌面 GUI
xhc_gui_tk.py — 原生 tkinter(非 HTML/pywebview)。左侧 VM 库、顶部菜单、工具栏、标签页(概览/控制台/配置/快照)、状态栏。
- VM 库:创建 / 启动 / 停止 / 快照 / 克隆 / 删除
- 配置面板:内存、vCPU、磁盘、固件(BIOS/UEFI)、网络、显卡、ISO
- 快照树:可视化多分支,支持应用 / 删除
XHC-VE(XHC Virtualized Engine)统一虚拟化 API,桥接两套引擎:Native(自研 x86 解释器,技术演示)与 HVM(QEMU 跑真实 OS,立即可用)。
xhc_gui_tk.py — 原生 tkinter(非 HTML/pywebview)。左侧 VM 库、顶部菜单、工具栏、标签页(概览/控制台/配置/快照)、状态栏。
xhc_ve.py — 自研虚拟化引擎层,统一 API + 可插拔后端。
xhc_qemu.py — 命令行拼装、定位、下载、快照、克隆、网络/USB/显卡。
xhc_emu.py + kernel.py — 从零 16 位 x86 解释器 + 手写 XHCOS-lite 内核(机器码手写,无外部汇编器)。
每一项均基于 QEMU 真实能力或 VE 层自研实现,无灰显占位。
任意分支、命名、描述、当前节点标记;底层用 qemu-img 内部快照名,恢复任意历史点真实有效。
磁盘 + 配置一键复制;qcow2 链式独立副本,不共享 backing file。
Windows WHPX / Linux KVM;自动回退 TCG 纯软件。检测脚本 vt_x_check.ps1 一键评估宿主机。
真实多 vCPU(-smp N),最大上限取宿主核心数。
user 模式 NAT + 端口转发开箱即用;桥接可选。
QXL 2D 加速;virtio-gpu + VirGL 实验性 3D(需宿主 OpenGL)。
qemu-xhci + usb-tablet 输入设备重定向;物理 USB 直通为路线图。
SeaBIOS + OVMF 开源固件;可按 VM 单独切换。
原生 GUI + 自研 VE + 成熟 QEMU 内核,主流能力对齐,路线图不画饼。
| 能力 | VMware 16 PRO | XHC Emulator v2.0 |
|---|---|---|
| x86 模拟 | ✅ | ✅(QEMU) |
| 多核 / SMP | ✅ | ✅(-smp N) |
| VT-x / AMD-V 加速 | ✅ | ✅(WHPX / KVM,TCG 回退) |
| 快照 | ✅ | ✅(qcow2 内部) |
| 克隆 | ✅ | ✅(磁盘 + 配置) |
| 3D / 显卡 | ✅ | ✅(QXL 2D · VirGL 实验 3D) |
| USB 直通 | ✅ | ⚠️ 输入重定向;物理直通路线图 |
| 网络 NAT / 桥接 | ✅ | ✅(user NAT · 桥接可选) |
| 完整 BIOS / UEFI | ✅ | ✅(SeaBIOS / OVMF) |
| 运行现代 OS | ✅ | ✅(QEMU 引导真实 ISO/磁盘) |
| 自研内核演示(16 位) | — | ✅(xhc_emu.py) |
两条路径:直接用预构建的 XHC-Emulator.exe,或从源码自行打包。
目录式构建(PyInstaller --onedir),含 _internal/(Python 运行时 + 资源)。首次启动会引导下载/指定 QEMU 引擎。
dist/XHC-Emulator/XHC-Emulator.exe
本地构建产物在 dist/XHC-Emulator_old_*/(按时间戳归档);如需新版本,运行下方“从源码构建”一次即可重新生成。
qemu-system-x86_64.exe 可被找到(GUI 首次会引导下载)tkinter 需要系统 Python 自带 Tk;WorkBuddy 受管 Python 3.13 无 tkinter,推荐用系统 Python 3.12+。也可在 WSL 跑 PyInstaller 之后回 Windows 跑产物。
git clone https://github.com/SanhanaYuzu/xhc-emulator.git
cd xhc-emulator
把 --workpath / --distpath 指到系统临时目录,可绕过沙箱 safe-delete 拦截。
python -m PyInstaller -y --onedir --noconsole --name XHC-Emulator ^
--add-data "gui_bg.png;." ^
--add-data "icon.ico;." ^
--add-data "logo_title.png;." ^
--add-data "xhc_ve_logo.png;." ^
--workpath "%LOCALAPPDATA%\Temp\xhc-build" ^
--distpath "%LOCALAPPDATA%\Temp\xhc-dist" ^
xhc_gui_tk.py
# 把 %LOCALAPPDATA%\Temp\xhc-dist\XHC-Emulator 拷回 dist\
python xhc_gui_tk.py # 自研内核演示(Native Core): python kernel.py python xhc_emu.py
XHC Emulator 不捆绑 QEMU 二进制(避免分发体积与法律风险),由 GUI 首次启动引导下载 / 手动指定。可提前下载:
qemu-setup.exe(≈ 13 MB,仓库根目录随源码附带)qemu-w64-setup-*.exe,安装时仅勾选 qemu-system-x86_64 即可qemu-system-x86_64.exe使用 QEMU 须遵守 GPL v2;XHC Emulator 自身管理层为自研代码,与 QEMU 协议相容。