Karton 项目获重大进展,KDE 原生虚拟机管理工具即

2025-07-11 11:14:39

  科技媒体 NeoWin 昨日发布博文,注:在该项目问世前,KDE 用户通常依赖 virt-manager、GNOME Boxes 等工具,这些工具虽然功能齐全,但未完全融入 Plasma 桌面环境。

  Karton 项目计划为 KDE Plasma 桌面环境,开发原生虚拟机管理器,由谷歌 Summer of Code 学生 Derek Lin 开发。

  Lin 更新了项目进展,并透露该项目即将发布稳定版。首先,虚拟机安装器已经合并到主分支中,从而完全摆脱对 virt-install 的依赖。

  Karton 现在使用 libosinfo 来识别磁盘镜像的操作系统,并自行生成必要的 libvirt XML 配置。

  Lin 更新了 QML 模块,这是 KDE 创建用户界面的构建块,现在以更标准的方式处理应用程序组件。

  Lin 近期的工作重心,是从头构建 SPICE 客户端。SPICE 是一种远程桌面协议,负责处理客户机的显示、音频和输入。Lin 表示,他花费了大量时间使虚拟机在原生 KDE 窗口中正确显示。

  他表示将 SPICE 的原始显示数据绘制到屏幕上的过程相当棘手,开发初期,图像充满了奇怪的颜色和透明度故障。

  经过尝试不同的图像数据处理方式,他发现根本原因是时间问题:他的代码试图在 SPICE 尝试写入数据的同一时刻读取显示数据,导致了混乱。修复方法很简单:他在显示数据之前快速了一份,结果看起来好多了。

  此外鼠标点击和键盘按键等用户输入已经可以转发到虚拟机。一个小问题是 Qt 按键事件使用 evdev 扫描码,而 SPICE 期望的是较老的 PC XT 格式,因此目前需要手动映射。

  经过数月的艰苦工作,以下是 Karton 运行 Fedora 虚拟机的屏幕录制。从中可以看出,滚动时会有明显的卡顿,但预计在未来的更新中会得到解决。

  关于接下来的计划,Lin 承认当前的渲染方法效率低下且导致撕裂。他希望研究 SPICE 的 gl-scanout 属性以优化性能。

  他还计划实现音频转发和正确的鼠标拖动事件,并重新设计用户界面,包括类似 UTM的侧边栏。

下一篇:安卓手机将拥抱 Arm SME2 技术,AI 性能迎来飞跃
上一篇:微软 XGP 签约成本曝光:每款游戏 5 万至 5000 万美
返回顶部小火箭