Let's Try Gnome Boxes
Matt shows VirtualBox the door and gives Gnome Boxes a whirl...for his first time - best read while listening to AC/DC - Thunderstruck.
Matt shows VirtualBox the door and gives Gnome Boxes a whirl...for his first time - best read while listening to AC/DC - Thunderstruck.
Every once in a blue moon, I "get a wild hair" and decide to try something new. Well, new to me, that is. And there is no question in my mind that Boxes qualifies. After all, I've been a VirtualBox user for years. Before that, some limited usage with VMWare.
What the heck is Boxes?
Setting aside the fact that Gnome Boxes sounds like a "Smurfs cartoon spin-off, " it looks pretty interesting. Boxes uses QEMU, KVM, and libvirt virtualization technologies. And together, they form Voltron; er, I mean Boxes.
At its core, the idea behind Boxes appears to focus on providing its users with the ability to run virtual machines in a reliable, no-nonsense environment. Keeping with its Gnome core user experience, the entire software layout is pretty minimalistic.
Browse, Customize, Keeping Things Simple
Completely ignoring that the official Gnome Boxes page suggests installing their Flatpak package, I prefer to install with apt on my Pop OS system whenever possible. So I bounced into a terminal and ran this "seriously complex" command.
sudo apt update && sudo apt install gnome-boxes
Then, to see what I ended up with and its release status, I ran the following command.
apt policy gnome-boxes
This gave me the following on Pop OS 22.04:
gnome-boxes:
  Installed: 42.2-0ubuntu1
  Candidate: 42.2-0ubuntu1
  Version table:
 *** 42.2-0ubuntu1 500 (phased 60%)
        500 http://apt.pop-os.org/ubuntu jammy-updates/universe amd64 Packages
        100 /var/lib/dpkg/status
     42.0.1-1ubuntu1 500
        500 http://apt.pop-os.org/ubuntu jammy/universe amd64 Packages
If you're wondering what the heck a phased update is, you can learn more about it from this article from LWN.Â
Now that I know what version I'm working with and have a better idea of where the release cycle of the package is, I'm ready to take this bad boy for a spin.
With everything ready to go, I launch Boxes. I'd be remiss if I didn't admit that I wanted to hear harps and high-pitched vocals when Boxes was launched. Instead, I had to settle for a straight-up successful opening of the software. Eh, I can live with that.
With Boxes wide open and ready to breathe some life into my husk of a soul, I click on the big plus sign in the upper left corner. Boom! My computer immediately burst into flames! Okay, maybe I exaggerated a little there. It told me to select a virtual machine image.Â
Now coming from VirtualBox, this was a new experience! Ignore their featured recommendation of using Ubuntu. I instead opted for looking at what options it came with. As expected, it didn't have the distros I wanted. Â
I decided that instead of doing this manually, I wanted the "full Boxes'' experience." So I thought I'd take Fedora for a spin. After browsing through every kind of Fedora install I could think of, I went with the Fedora Workstation 35 (DVD). Why not?
Immediately after clicking my selection, Boxes went straight to work downloading what I needed. And now I wait.
After waiting for my download to be complete, I was given the option to set my VM size. The defaults were pretty lackluster. 20 GB drive space with 2 GB of memory.Â
Drawing a total blank on how much actual RAM I have on this tower, I did a quick command in my terminal to double check.
sudo lshw -C memory
And the results are…
 *-bank:0
          description: DIMM DDR4 Synchronous 2400 MHz (0.4 ns)
          product: KF3200C16D4/16GX
          vendor: Kingston
          physical id: 0
          serial: B0F67E0A
          slot: Controller0-ChannelA-DIMM0
          size: 16GiB
          width: 64 bits
          clock: 2400MHz (0.4ns)
     *-bank:1
          description: DIMM DDR4 Synchronous 2400 MHz (0.4 ns)
          product: KF3200C16D4/16GX
          vendor: Kingston
          physical id: 1
          serial: 2DF60124
          slot: Controller1-ChannelA-DIMM0
          size: 16GiB
          width: 64 bits
          clock: 2400MHz (0.4ns)
Okay, cool. I have 16x2 (32GB). So I can totally give my Boxes VM a bit more memory than the default 2GB. How about 8GB; that seems reasonable.
Now let's see how much drive space I can spare.Â
df -h /
This gives me the one drive installed on this tower:
Filesystem       Size Used Avail Use% Mounted on
/dev/mapper/data-root 912G 490G 376G 57% /
Nice. So I have 376GB of disk space to work with. I can spare 40GB of disk space for my Boxes VM.
And just because I like to make things interesting, I'm enabling EFI in the Boxes options.
Let's install some Fedora goodness
The Fedora DVD ISO I chose allows me to test or install. Because I'm a wild man, I decided to install it and throw caution to the wind!
Success! I see a "Welcome to Fedora" installer screen! I chose the defaults for my available install options and began clicking next. I asked for Fedora workstation but ended up with Fedora 35 server. So now that I have something I didn't ask for, I deleted it and, this time, paid closer attention to what I am downloading in Boxes.
I also decided to try out LUKS encryption on Fedora, just for kicks and giggles. I mean, why not, right? I have oodles of system resources and the desire to see how Fedora handles an encrypted drive.
Seamlessly Smooth With All The Bells And Whistles
After completing my distro installation in Boxes, I couldn't help but be impressed with how smooth everything looks and behaves. Everything you need is available from three small vertical dots.
Look to the upper right corner of Boxes while you're booted into a VM and boom - it's all there - stuff that would require extra steps on VirtualBox.Â
Share a file now, immediately - no extra work. Just click, select and send it to your VM. That's it, so simple!
Take a screenshot, three dots, and done.
Access VM resources (disk/memory/3D acceleration/etc.) while running the VM.
Allow the VM to run in the background. This, so much this.
Troubleshooting logs right there in front, easy access.
Access to all of my USB and internal host device resources.Â
VM snapshots (Fedora guest OS, Btrfs). This alone is a big time saver.
Shared folders can be enabled. Even better, the needed dependency (Spice-WebDAV is spelled out without me digging through documentation.
The resolution and aspect ratio was perfect without needing tweaking.
Areas Where I Wasn't Blown Away
The Fedora Workstation offering was for an older (no longer supported version). Remarkable as it may be to download and install directly from Boxes, having an up-to-date distro offering would have been better.
Unable to locate a GUI to switch between NAT and bridged networking.
Unable to select specific audio devices for the VM guest in a GUI.
All of that being said, the only thing genuinely bugging me was the inability to bridge my networking device with the VM. Kind of an essential feature that people coming from VirtualBox will expect.
Virtual Machine Manager Is Better
Now for some tough love. I wanted to love Gnome Boxes. I truly did. Sadly, if you want something as robust as VirtualBox, use Virtual Machine Manager instead of Boxes.
On a positive note, I've still managed to shove VirtualBox out of an airlock and morbidly waved as it gasps for air in the vacuum of obscurity.
On Pop OS/Ubuntu based systems, install it with:
sudo apt install virt-manager qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
Reboot, then make sure libvirtd
is running:
sudo systemctl status libvirtd.service
If it's not:
sudo systemctl enable libvirtd.service
And
sudo systemctl start libvirtd.service
Double check it with:
sudo systemctl status libvirtd.service
And there you have it. Gnome Boxes is "fine" if you don't need all the control that comes with a full-fledged VM environment. But if you need the level of control found with VirtualBox or similar, use Virtual Machine Manager instead.
Sound off with your opinions
Do you think I'm wrong or right or would you like to make an alternative suggestion? Then hit the comments below and tell me about it.
Running VM on the native-OS drive...Brave, man, brave. Anyway, welcome to kernel-based virtualization. If you ever wanted to know why people still pay money for VMware Workstation, you just found out.
I wanted to get away from both VMware and VirtualBox. They both served their purpose; VMware had the near-native Windows VM UI/graphics performance they specialize in, and VirtualBox did some neat oddball stuff for old-school nerds like me who were around when IBM still made both desktops and an OS to run on them. Alas, both are proprietary (no one uses VBox without the extensions, don't even go there). VMware can tank on you by doing one kernel update too many, and VBox is an Oracle property which means it can vanish at any time because they aren't profiting from it. I already had KVM in my own rack--first oVirt, then (and currently) Proxmox--and just wait until you find out how easy it is to spin up a VM on your desktop for testing and deploy it to the stack for server-type duties *without making any changes*. Ohhh, yeah.
Oh and that whole Windows VM graphics performance thing? I have witnessed VFIO and all its capabilities. To paraphrase Han Solo shortly before his kid shivved him: "It's true. All of it."