KDE Plasma 原生虚拟机管理器 Karton 项目获重大进展,稳定版即将发布
7 月 11 日消息,科技媒体 NeoWin 于 7 月 10 日发布博文称,KDE Plasma 桌面环境原生虚拟机管理器 Karton 项目取得重大进展,已重构 SPICE 客户端,并支持用户输入等功能。
在 Karton 项目问世前,KDE 用户通常依赖 virt-manager、GNOME Boxes 等工具,这些工具虽功能齐全,但未完全融入 Plasma 桌面环境。Karton 项目计划为 KDE Plasma 桌面环境开发原生虚拟机管理器,由谷歌 Summer of Code 学生 Derek Lin 负责开发。
Lin 更新了项目进展,并透露该项目即将发布稳定版。目前,虚拟机安装器已合并到主分支,完全摆脱了对 virt-install 的依赖。Karton 现在使用 libosinfo 识别磁盘镜像的操作系统,并自行生成必要的 libvirt XML 配置。同时,作为 KDE 创建用户界面构建块的 QML 模块也得到更新,能以更标准的方式处理应用程序组件。
Lin 近期的工作重心是从头构建 SPICE 客户端。SPICE 作为一种远程桌面协议,负责处理客户机的显示、音频和输入。Lin 表示,他花费了大量时间让虚拟机在原生 KDE 窗口中正确显示。开发初期,由于代码试图在 SPICE 写入数据的同一时刻读取显示数据,导致图像出现奇怪的颜色和透明度故障,通过在显示数据前快速复制一份的方式,该问题得到解决。
此外,鼠标点击和键盘按键等用户输入已可转发到虚拟机,不过目前存在一个小问题:Qt 按键事件使用 evdev 扫描码,而 SPICE 期望较老的 PC XT 格式,因此需要手动映射。从 Karton 运行 Fedora 虚拟机的屏幕录制视频来看,滚动时会有明显卡顿,预计未来更新中会解决。
关于接下来的计划,Lin 承认当前的渲染方法效率低下且导致撕裂,希望研究 SPICE 的 gl-scanout 属性以优化性能。他还计划实现音频转发和正确的鼠标拖动事件,并重新设计用户界面,包括类似 UTM 的侧边栏。
