GNOME Boxes Won't Look Ancient Anymore Thanks to a Glow-Up

Wait 5 sec.

The lone developer behind GNOME Boxes, Felipe Borges, has shown off a complete rewrite of the app as a Flatpak-only beta, featuring a modern interface foundation.Balancing his day job at Red Hat and his usual GNOME Settings maintenance duties, Felipe says that he has been working on this by himself for the past two years, talking about his efforts at community events.The first design call was going Flatpak-only. Boxes is a front end for libvirt and QEMU, so a lot of its behavior depends on what the host distro ships. Maintaining separate code paths for every distro isn't realistic for a single maintainer, so the new build bundles the entire virtualization stack itself instead of leaning on the host.The second call is the one you will notice first. Boxes has moved to GTK4 and Libadwaita, dropping the old GTK3-based SPICE widget for a new display widget called Libmks. This is where the dated visual style finally goes away.The third one was to fix Windows 11, where the rewritten Boxes can now successfully install it without requiring any manual workarounds or other kind of sorcery since it configures Secure Boot and a virtual TPM device on its own.Moreover, a new VSOCK device gets around Flatpak sandboxing limits and lets you SSH straight into a guest, as long as it runs systemd v256 or newer. Early port forwarding support is also in, currently covering SSH and HTTP.What's different?Notice the difference? Ignore the bars in the title bar on the right.Everywhere you see in the revamped Boxes is the result of the new interface components. Despite that, the app felt familiar right from the first look. Being a regular Boxes user, I just knew where to click.The new virtual machine (VM) creation flow backed that up beautifully. I began installing Windows 11, and Boxes just pre-filled the memory and storage values on its own and set UEFI as the preferred boot method without me touching anything.The installation itself went through without a hitch, but Windows then insisted on a Microsoft account before letting me anywhere near the desktop, so that's where I had to stop.Still, the three-dot menu in the top-right of the VM window gave me plenty to work with before that point. I could take screenshots, send key combinations, and open a full Properties page.None of it looks like what current Boxes offers today, btw. 🤓The video above walks through that new Properties dialog. What used to be part of a single window with a header menu is now a dialog with a sidebar that houses seven sections.General, Resources, Network, Devices, Snapshots, Logs, and Configuration.Resources lets you adjust RAM and resize storage; Devices handles the boot order and removable media; Logs shows the actual commands Boxes is running under the hood; and Configuration hands over the raw Libvirt Domain XML to edit directly.Similarly, the Network page lets you forward ports from the host into the VM, with toggles for SSH and HTTP. The Snapshots page lets you capture the VM's exact state at a point in time, then revert to it or delete it later.Compare that to what current Boxes offers (shown above). The classic Properties window packs Resources, Devices & Shares, and Snapshots into just three tabs that are functional but very clunky.Though there was a major snafu. The Windows 11 VM crashed soon after I created that snapshot. I couldn't pin down the exact cause, though me ejecting the ISO around the same time is a likely culprit.Before all this, I had also tried installing EndeavourOS but kept running into an unsupported configuration error no matter what I tried. Switching the OS type between Generic Linux and Arch Linux and the firmware between UEFI and Legacy BIOS, none of it fixed the issue.A couple of smaller things changed too. Getting out of a VM window now takes Super+Escape instead of the Ctrl+Alt combo current Boxes uses. There's also no dedicated fullscreen button, and F11 doesn't do anything either.See for yourselfIf you're on Ubuntu or another Debian-based distro, getting the beta running only takes a few terminal commands. You'll need to set up Flatpak first.Our guide covers the whole process if you don't already have it installed. Once that's done, add the GNOME Nightly repo:flatpak remote-add --if-not-exists gnome-nightly https://nightly.gnome.org/gnome-nightly.flatpakrepoYou can then check what's actually in that repo before installing anything:flatpak remote-ls --app gnome-nightlyOnce you spot org.gnome.Boxes.Devel in that list, install it with:flatpak install gnome-nightly org.gnome.Boxes.DevelThis is still beta software, so back up any VMs you care about before testing it, and don't be surprised if you run into some of the rough edges mentioned above.You can stay in sync with its development by keeping an eye on its code repository.