2

Soon I will need to test GUI applications on multiple distros. Previously I've done this with virtual machines on VirtualBox, but using them can be frustratingly slow. I have considered multibooting, but that would have a high cost when a) swapping environments and b) maintaining (adding/removing/updating) environments.

Recently I have come across container-based solutions like LXD and Type-1 hypervisor-based solutions like KVM and Qubes OS template VMs (Xen-based).

Are containers and/or hypervisors a viable alternative to multibooting for GUI-based distros?

A concrete solution would be an ideal answer, but a well-founded theoretical answer is acceptable.

lofidevops
  • 2,967
  • 6
  • 39
  • 58

2 Answers2

3

Yes, using virtualized environments are a very viable and good alternative to multi-booting in the sense multiple OSes can run in parallel so you haven't to reboot your main system to switch from one to another.

Whether one or another technology (bare metal or hosted hypervisor), LXD, or even no hypervisor at all (LXC) will fit your needs depends on which OSes you want to test (guest) and which OS is you main one (host).

I would recommend using container based solutions if the kernel running on your host is compatible with the OS you want to virtualize as this is the solution with the less overhead. You would for example be able to run Red Hat, Debian, Ubuntu with various graphical environments (Gnome, KDE, whatever).

Otherwise, there is no obvious reason that would give bare metal hypervisors a performance advantage compared to host based hypervisors like VirtualBox. You might have a configuration or a resource issue if your experience differs.

lofidevops
  • 2,967
  • 6
  • 39
  • 58
jlliagre
  • 60,319
  • 10
  • 115
  • 157
  • 1
    @d3vid yes: hypervisors host VMs. If you find VMs are too slow, you might not find running things on a hypervisor will help much. Containers could be more interesting for you. – Stephen Kitt Apr 21 '17 at 13:06
  • Accessing hardware (e.g., a video card) can be difficult from VMs and containers. If the GUI makes use of low level video calls, it could be problematic. – StrongBad Jun 06 '17 at 18:39
0

Hypervisors of any sort are an improvement over a multi-boot situation because they allow greater utilization of system resources in a shared manner. Multi-boot only allows one OS at a time to use the system.

Virtualization allows you to over-commit system resources to guests; however, it does little good when all guests (and the host) are trying to access their allocated resources simultaneously. A Type-1 hypervisor (aka bare metal) typically (but not always) has lower system resource requirements for itself. Of course, this is negated if you are running something like KVM on a user system with a full GDE and whatever additional services are in regular use.

It sounds like you slow VM performance is related to running the VM on a system that is already under some system load. If possible, consider running the VMs on another host that has more capacity.

0xSheepdog
  • 2,742
  • 1
  • 20
  • 31