serpentwalker666
Well-known member
- Joined
- Oct 24, 2017
- Messages
- 1,348
Today I want to go into detail about virtualization and how important it can be to utilize at times.
With using hypervisors you can emulate so many different operating systems and software stack combinations that It makes a really good sandbox for testing things out.
Sometimes you don't want to just take your precious one and only machine, and throw some obscure, somewhat finicky system on it to play around with, but maybe you REALLY want to play with NetBSD, or Haiku OS?
Or maybe you just want a Debian or Ubuntu Virtual Machine, or something like FreeBSD so you don't have to fight with hardware incompatibilities.
That's the beauty of virtualization.. you can have a nice sand-boxed environment that you can learn and fiddle with before you throw together an actual machine for the OS you are trying out.
This article by Red Hat goes into greater detail and offers alot of more in-depth information about this for whoever wants the super technical explanations:
MentalOutlaw's video here is a good explanation for virtualization as well.
For Linux you can't beat QEMU, Virtual Box and KVM, they are your best choices in my opinion:
For each of these typically you want to look for the installation instructions, or follow a good guide for your specific OS, as it varies and some have unique quirks, like the privileges that you have to manually set before virtualization will enable on certain Linux distros.
Anyone running the Gnome Desktop Environment on Linux can just get Boxhttps://86box.net/es, I've used it in the past and while not great, it's not bad either:
For enterprise or setting up a little home server for virtualization proxmox is typically worth it:
There is some other things I want to mention here as well, like GPU-Passthrough. This is a bit more involved as you have to have the money for this as it can get expensive.
Essentially you take a higher end machine and equip it with two graphics cards, and through getting things prepared and set up correctly on the Linux Host, you can have a separated Windows Virtual Machine for certain programs and software stacks you couldn't run on linux, with performance right around that of bare metal. You can also pass some RAM and Cpu Cores through as well.
Realistically, you are better off dual booting if you don't have the money, or just having a separate windows machine for the specific use-case, but even then a GPU-Passthrough setup can be really useful and good to configure and set up.
Yet, unfortunately it is quite tedious and cumbersome to get working. You also do not want to use one graphics card for a pass-through set up. You can experience some really bad bugs depending on the chipset, and things get real easy to mess up and ruin your host system as you get into messing with the init dracut operations, and other things related to offloading and on-loading devices.. If you want to be one of those guys and still go ahead with a one gpu-passthrough set up, you have now been informed.
Here is some information to start, keep in mind this process is complicated and you typically want to hunt around through videos and many different tutorials, but these are good to start:
The guide from Gentoo Linux is also super helpful:
For the last part I want to share a link to 86Box. This one I found particularly interesting as you can emulate retro hardware and retro operating systems fairly decent with it, the site here goes into what differentiates it from other virtual machine programs I linked above:
I hope this post is very helpful, if more information is wanted on this I can share more, as it is really good to know if one has a use-case for virtualization.
With using hypervisors you can emulate so many different operating systems and software stack combinations that It makes a really good sandbox for testing things out.
Sometimes you don't want to just take your precious one and only machine, and throw some obscure, somewhat finicky system on it to play around with, but maybe you REALLY want to play with NetBSD, or Haiku OS?
Or maybe you just want a Debian or Ubuntu Virtual Machine, or something like FreeBSD so you don't have to fight with hardware incompatibilities.
That's the beauty of virtualization.. you can have a nice sand-boxed environment that you can learn and fiddle with before you throw together an actual machine for the OS you are trying out.
This article by Red Hat goes into greater detail and offers alot of more in-depth information about this for whoever wants the super technical explanations:
What is virtualization?
Virtualization is a technology that allows you to create virtual, simulated environments from a single, physical machine.
www.redhat.com
MentalOutlaw's video here is a good explanation for virtualization as well.
For Linux you can't beat QEMU, Virtual Box and KVM, they are your best choices in my opinion:
QEMU
www.qemu.org
Oracle VirtualBox
www.virtualbox.org
KVM
linux-kvm.org
For each of these typically you want to look for the installation instructions, or follow a good guide for your specific OS, as it varies and some have unique quirks, like the privileges that you have to manually set before virtualization will enable on certain Linux distros.
Anyone running the Gnome Desktop Environment on Linux can just get Boxhttps://86box.net/es, I've used it in the past and while not great, it's not bad either:
Boxes â Apps for GNOME
Virtualization made simple â Select an operating system and let Boxes download and install it for you in a virtual machine. Features: Download freely available operating systemsAutomatically install CentOS Str...
apps.gnome.org
For enterprise or setting up a little home server for virtualization proxmox is typically worth it:
Proxmox Virtual Environment
Proxmox VE is an open-source server virtualization management platform.
www.proxmox.com
There is some other things I want to mention here as well, like GPU-Passthrough. This is a bit more involved as you have to have the money for this as it can get expensive.
Essentially you take a higher end machine and equip it with two graphics cards, and through getting things prepared and set up correctly on the Linux Host, you can have a separated Windows Virtual Machine for certain programs and software stacks you couldn't run on linux, with performance right around that of bare metal. You can also pass some RAM and Cpu Cores through as well.
Realistically, you are better off dual booting if you don't have the money, or just having a separate windows machine for the specific use-case, but even then a GPU-Passthrough setup can be really useful and good to configure and set up.
Yet, unfortunately it is quite tedious and cumbersome to get working. You also do not want to use one graphics card for a pass-through set up. You can experience some really bad bugs depending on the chipset, and things get real easy to mess up and ruin your host system as you get into messing with the init dracut operations, and other things related to offloading and on-loading devices.. If you want to be one of those guys and still go ahead with a one gpu-passthrough set up, you have now been informed.
Here is some information to start, keep in mind this process is complicated and you typically want to hunt around through videos and many different tutorials, but these are good to start:
GitHub - bryansteiner/gpu-passthrough-tutorial
Contribute to bryansteiner/gpu-passthrough-tutorial development by creating an account on GitHub.
github.com
Virtualization Archives - Heiko's Blog
All about virtualization: KVM, VFIO, VGA passthrough, qemu, disk performance and optimization, passing through graphics cards, Nvidia, Windows 10
www.heiko-sieger.info
Beginner friendly guide to GPU passthrough on Ubuntu 18.04
Beginner friendly guide, on setting up a windows virtual machine for gaming, using VFIO GPU passthrough on Ubuntu 18.04 (including AMD Ryzen hardware selection)
mathiashueber.com
The guide from Gentoo Linux is also super helpful:
GPU passthrough with virt-manager, QEMU, and KVM - Gentoo wiki
wiki.gentoo.org
For the last part I want to share a link to 86Box. This one I found particularly interesting as you can emulate retro hardware and retro operating systems fairly decent with it, the site here goes into what differentiates it from other virtual machine programs I linked above:
Emulator of retro x86-based machines
86box.net
I hope this post is very helpful, if more information is wanted on this I can share more, as it is really good to know if one has a use-case for virtualization.