There are a lot of virtualization solutions. We even discussed a whole bunch here, some time back. A handful of these technologies are oriented at more advanced users, while others are suitable for newbies, too. If you ask a typical user, they will probably tell you they are using either VirtualBox or VMware, and possibly considering giving KVM or Xen a spin. How about bridging the gap? How about using an advanced tool with a simple interface?
That's what Boxes, or rather Gnome Boxes, aims to do. It's a virtualization frontend for the KVM/libvirt combo, designed to take away some of the complexity of the raw solution and provide you with a very easy GUI for handling your virtual machines. Sounds like a good plan, so we shall explore.
The graphical interface is very basic - maybe too much so. You have a simple window, with a wizard template that you follow toward a successful creation of a virtual machine, with only a limited subset of customization available before and after. The Boxes interface comes with large, smartphone-like switches and sliders, and if you expect any kind of precision when configuring storage or memory, you will be disappointed. From the purely visual perspective, Boxes will take a lot of different shapes and colors based on the desktop environment you choose. You may end up with dark fonts on a dark background, the window may be fully maximized with no option to change its size, and other weird issue may crop up.
After you launch the program, you will see a hovering box icon, with a slightly misaligned logo. Then, click on Continue to move forward. Next, you can choose to connect to an existing remote session, which is specified by the URL line, or provide a local source, which can be an ISO file or an existing virtual disk.
The third step is to review the properties and customize the image. If you compare this to full-blown solutions, you might feel slightly neutered. There will no networking or 2D/3D graphics configuration, no selection of CPU extensions, or anything of that sort. But then, that's the general idea, and if you dislike the approach, you will probably be better off with a complete KVM stack.
Launch and use the virtual machine
The last step is to create your instance. Here, you may hit a few snags, but more about that later. If all is well, Gnome Boxes should spawn your virtual machine and power on the guest operating system. You do need to have virtualization extensions available and enabled in BIOS/UEFI, otherwise you will slug along using pure QEMU emulation, which is rather slow. I have highlighted this in my KVM intro article.
Let's see how Boxes behaved on Linux Mint, for a change. Earlier, we had screenshots from Ubuntu. Well, you will notice that the window is fully maximized without any ability to resize it, and that the actual theme is different from what we have seen earlier. Fonts can barely be seen. While not critical, it sure does impact the consistency of experience across platforms. However, if you can ignore that, there's your simple virtualization software.
You don't get too much, but you do get a handful of goodies. Mouse integration, automatic guest resizing, networking enabled out of the box in the NAT mode. You can play with memory and storage settings, share clipboard, and expose USB devices. Other than that, you will need a full setup.
Boxes is an interesting concept, but it does suffer from several problems. For instance, it is designed and tested only for the Gnome 3 environment, which can explain the font and size artifacts on Unity and Cinnamon. Then, the frontend may be simple, but the backend is quite complex. Apart from the virtualization extensions, you get the full KVM framework installed, and libvirt, too, so if there are any problems, you'd better be an expert in troubleshooting, otherwise you won't get far.
You might also experience conflicts with VirtualBox, which you surely do not expect. Furthermore, in my testing, Gnome Boxes conflicted with AppArmor and SELinux, which caused it to abort abnormally, or not be able to connect to the display.
Boxes is an interesting concept that tries to bring virtualization to common users. Unfortunately, it also tries to resolve more than is feasible in our physical dimensions. By definition, virtualization is a technology that requires some expertise, and it cannot be easily abstractized without sacrificing functionality or introducing unexpected behavior and bugs. With Boxes, the problems manifest across the entire spectrum of layers, including internal functionality, available options and visual style.
I do like the approach, because it is a bold and challenging one, but for those who wish to learn and explore, going deeper with pure KVM or Xen approach is a preferable solution, whereas the friendlier programs like VirtualBox sure provide more flexibility to those less daring. In a sense, Boxes is its own biggest enemy, because it lies trapped between visual and functional simplicity, the latter imposed by the Gnome framework, and let us not debate that. I would like to see the next version tuned ever so slightly, with something as simple as advanced mode, where those with skill will be able to make their own additional, more complex choices. Otherwise, it may become a solution without audience. Bottom line, worth testing and exploring, but if you're a tinkerer, you might get frustrated. All in all, keep an eye, and hope for some extra nerdiness. This is the end.