If you spend most of your time in GNOME, you've probably used something like GNOME Boxes to spin up virtual machines without much hassle. We actually gave it a shoutout in our list of essential Linux apps for newcomers this year. KDE users, however, have often found themselves relying on tools such as virt-manager or even GNOME Boxes itself. While functional, these don't always feel perfectly at home within the Plasma desktop, and the old qt-virt-manager, a Qt-based alternative, has seen its development stall for years.
Now, a new Virtual Machine Manager is in the works for KDE Plasma. The project, named Karton, has roots dating back to Aaron Rainbolt's original effort to build a QEMU frontend using its command line interface. Later, KDE developer Harald Sitter took over and developed it as a Google Summer of Code project.
Currently, Karton is actively developed by Derek Lin, a University of Waterloo student participating in Google Summer of Code 2025. His primary aim is to deliver a virtual machine manager that truly belongs in the KDE ecosystem.
To feel right at home in KDE, Karton is being built with Qt Quick and Kirigami. It uses the libvirt API to handle virtual machines and could eventually work across different platforms.
Right now, development is focused on getting the core parts in place. Lin is working on a new domain installer that ditches direct virt-install
calls in favor of libosinfo, which helps detect OS images and generate the right libvirt XML for setting up virtual machines more precisely. He's still refining device configuration and working on broader hypervisor support. Another key part of the work is building a custom SPICE viewer using Qt Quick from scratch:
If you're curious, here's the list of specific deliverables Lin included in his GSoC proposal, though he notes the proposal itself is a bit outdated:
Install and configure virtual machines through libvirt’s XML format instead of virt-install CLI
Add ability to configure commonly used options in UI
Allows for more fine-tuned control of virtual machine options
Implement a custom SPICE viewer to allow users to interact with and view the active virtual machine (instead of virt-viewer
Virtual machine snapshots to restore/backup previous states
Intuitive UI for displaying virtual machines
Making a user-friendly and aesthetically pleasing GUI by addressing community feedback
Referencing MacOS UTM list layout and a preview of the VM
Making UI convergent (mobile-friendly)
Retrieving virtual machine status updates using the libvirt API virEventRegisterImpl function instead of using the default built-in event loop.
Allows it to be integrated with custom Qt event loops
Reduces current latency with loading virtual machine list page
Adding a browse tool which lists commonly installed operating systems
GPU/memory usage graph as done in virt-manager
Feature to switch between connecting to QEMU hypervisor with session (user) and system (root).
GNOME Boxes seems to only support “session”, however adding support for “system” could be useful for non-KVM/Linux backends like bhyve (FreeBSD) or Hyper-V
For those interested in the timeline, Lin's GSoC proposal says the official GSoC coding starts June 2, 2025. The goal is to have a working app ready by the midterm evaluation around July 14, 2025, with the final submission due September 1, 2025.
Hope you enjoyed this news post.
Thank you for appreciating my time and effort posting news every day for many years.
News posts... 2023: 5,800+ | 2024: 5,700+ | 2025 (till end of April): 1,811
RIP Matrix | Farewell my friend
Recommended Comments
There are no comments to display.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.