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
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.
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).
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.