Virtualization recommendation needed

Hello folks,

I need a recommendation for virtualization software on a laptop for a desktop user.

My Hardware:

  • Lenovo Thinkpad T530
  • coreboot + SeaBIOS + me_cleaner
  • i7 3840QM with VT-d
  • iGPU Intel HD 4000
  • Desktop eGPU (not ready but planned for future)

What I plan to do:

  • openSUSE as host machine
  • different separated guests/virtual machines: Windows 10, different Linux distributions
  • in some of the virtual machines I want to run some applications which need hardware acceleration/GPU passthrough from the eGPU: CAD Software, games etc.
  • maybe also some container software to run Linux applications
  • use only truly open source software
  • use only stable and (nearly) hassle-free software
  • increasing security and privacy through separation
  • most of the things I only want to do in virtual machines and not within the host machine. My host machine should mainly work as a virtual machine manager

I think I have two options for software to create virtual machines

  • Xen
  • QEMU/KVM

and in my opinion 5000 possible solutions for container software :slight_smile:

**What software solution would you recommend me for creating virtual machines (especially regarding GPU passhrough)?

And containers?

Should I use Tumbleweed or Leap for the host machine?

**Thanks :wink:

Except for your GPU pass-through requirement, I would have recommended Virtualbox over Xen and KVM mainly for ease of use when a User is logged in locally and not run as a service (always on, unattended).

You may want to weigh the downsides of GPU pass through for whether it’s worthwhile…
Normal display virtualization (no GPU pass through) usually is associated with a very low penalty, YMMV but a few years ago I did some benchmarking comparing VMware Player/Workstation vs bare metal and found only about 2% penalty… At least for that benchmark highly unlikely a User would notice any difference. All main virtualization options today also support some kind of hardware acceleration, but is often experimental and evolving.

From a performance standpoint, my personal experience is that VMware Player/Workstation is better than the others, but not a difference for common (non-gaming) use Player is free, Workstation costs. If whether the virtualization is open source is important to you, VMware is not, parts are open source but it’s considered a proprietary technology.

Since all modern 64-bit virtualization requires hardware assist (CPU extensions), performance should be pretty good and similar no matter the virtualization choice. Although there are small but sometimes significant differences, most people find the difference-maker is the User Tools… ie The applications used to manage, how easy to use, and what kinds of features they may have.

Your decision will have no effect on running containers, you can run containers in any Linux Guest and even in the HostOS simultaneously if your HostOS is Linux.

Both Tumbleweed and Leap should be fine for short-running experiments with virtualization, but should you want to deploy your machine as an “always on, always available” Server many Users might rely upon, you should choose Leap over Tumbleweed (or modify your Use accordingly).

Your machine’s hardware appears to be sufficient to run virtual machines, you didn’t describe your RAM but of course more RAM will mean you can run more virtual machines simultaneously.

HTH,
TSU

Thanks for your answer, but that doesn`t help me. I think I should clarify my questions:

What is the difference between Xen and KVM for my use case?

Which container software would you recommend?

And as I stated in my first post: “use only truly open source software”!

For beginners installing their first virtualization, I wouldn’t recommend Xen or KVM because

  • They set up and run by default generally based on an “always running” daemon service which is unlikely the case. Beginners only want virtualization to be used within a logged in interactive session and typically don’t leave their machines running 24/7.
  • The User Libvirt tools (vm manager and vm install) aren’t as User friendly and clear as others like VBox(which is FOSS except for the optional Extension Pack) and VMware(which can be free but is partly proprietary).

If you were to choose only between KVM and Xen, I’d suggest that there’s little difference if you’re using libvirt to manage your virtualization. You don’t actually have to choose, install both using the YaST “Install Virtualization” module and boot to either the Xen or normal kernel (which would support KVM). There are other reasons that could be considered that go beyond what you are considering, but you weren’t asking.

Much like how hypervisor-based virtualization has become largely commodotized (largely equivalent) with hardware assist, Linux containers are also mostly pretty much the same because they build on the same Linux kernel feature. But, setting up, configuring and managing containers can be very different. Probably the most widely used by technical people is Docker, but LXC has undergone major changes to try to address interoperability issues and works fairly well. Systemd has its own systemd-nspawn which is incredibly simple and easy to use (but may be difficult to configure a distributed or other complex application). User-friendly cross distro platforms like Snap and Flatpak are typically built on Linux containers.

If you’re asking about whether a virtualization technology is a consideration for any container technology, the answer is no. Whatever container technology you choose will run well in a virtualization guest or host without any special configuration. Different container technologies might appeal to different people and what you choose will depend on a multitude of factors like how technically proficient you might be, whether you have a basic coding background, who you intend to use what you create, how you intend to distribute what you create, etc.

TSU

Hi
I would go with KVM, unlikely to get a secondary internal dGPU to work (I’ve tried on my HP laptop (dual amd gpus), but can always look at it again). I do GPU passthrough on my desktop with nvidia card(s). Added benefit is no mucking around compiling kernel modules.

Well there is gnome-boxes… Apps/Boxes - GNOME Wiki!

Although I don’t remember anyone posting in this Forum about trying to do Xen GPU pass-through, that post I did awhile back that provides links for how to do GPU pass-through for all the major virtualization options included Xen and the documentation looked pretty good so I wouldn’t suggest it would be any more difficult than KVM.

Gnome Boxes!
Yes, another container technology…

TSU