The 8th generation of Intel i7 processors introduced 6-core CPU’s to laptops. With this many physical cores and Intel Hyper-Threading technology there’s plenty of resources to run a fair number of virtual machines on your mobile PC. If you’re new to virtualization listed few useful things you can do as a gamer/power user:
Run older operating systems to play older titles
Run other operating systems as needed without dual-booting
Test software in a safe environment e.g. you can isolate your VM from networking and play with viruses 😊
You can use snapshots to revert VM to a previous state (useful combined with the point above)
Browse internet safely: use a browser from within VM with another VM used as a firewall between a virtual and external network.
To use virtualization, you’ll need few things from both the hardware and the software side. You can run virtual machines on all modern x86 CPUs, but to run them efficiently there’s few technologies you’ll need your machine to support. Since you’ll most likely have a high-performance Intel CPU in your Legion laptop we’ll focus on the hardware solutions from team blue.
The computer code executed on your PC has a various access to your machine’s resources. The kernel, core of your operating system, has the most privileged access meaning it has complete control over every hardware available. This kind of privilege is referred to as “ring 0”. User applications run in least privileged mode “ring 3”. The main purpose of this division is to increase the stability of the system and protect it from malicious behaviour. By separating the user space and the core OS operations, a badly written software or a virus is less likely to access critical parts of the system.
This system has been established long before virtualization came along. Because of this, the introduction of virtualization faced a problem – how to run a guest operating system that expects to run in “ring 0” when the host is already using it? You wouldn’t want to have an unstable virtual machine to crash your host, but you also want the virtual machine to run an operating system that normally would use “ring 0” mode.
There are various solutions to the problem and currently the most prominent is to have hardware assisted virtualisation technology like Intel VT-x. By having additional instructions in the CPU reserved for virtual machines the host is able to “fool” the guest operating system that it’s using the privileged “ring 0” mode. This way the host is isolated and safe from any unwanted operations from the guest systems while the guest system itself can use all operations as if it was running on a physical machine with no modifications required.
Please note that VT-x is usually disabled in consumer devices by default. However, you just need to access the BIOS to turn it back on.
Depending on the implementation the virtual machine can have a limited access the peripherals of the host usually by emulating or translating the operations between the host and the guest. However, depending on the device or the workload required this can prove to be a very taxing task. Intel VT-d allows a guest machine to have a direct access to a peripheral like hard drives, network cards and GPUs.
Some of the virtualisation solution will require this feature so you can share or dedicate your GPU to a virtual machine. Fortunately, most modern Intel CPUs support it.
Extended Page Tables is Intel’s implementation of Second Level Address Translation (SLAT). This, in turn, is a hardware-assisted virtualization technology that improves the performance of memory operations of virtual machines. Some virtualisation solutions (including Hyper-V in Windows 8/2012 and later) actually require SLAT to run.
While it is not a virtualisation technology, nor is it specifically needed for running virtual machines, it is most certainly useful. Hyper-Threading allows you to have 2 logical cores per each physical core in your device. The amount of memory and number of logical cores used to be the defining measure of how many virtual machines your physical machine can run. With modern virtualization platforms it’s no longer the case, but still having a larger number of cores will give allow you to run more of them before you’ll run into performance issues and will give you more flexibility in CPU resource management.
There’s a myriad of virtualisation solutions available from the most basic ones to enterprise mainframe machines running hundreds of VMs. For the purpose of everyday use like testing, running old games, etc there’s few free solutions you can use including:
Microsoft Hyper-V – available in all versions of Windows since Windows 8/Server 2008. Compared to some of the other solutions available it’s rather new, but since it’s inception has matured and extended it’s capabilities with each version. You’ll need to tinker a bit to enable the use of 3D acceleration and sound, but it works out of the box and is easy to use. Windows 10 running Windows XP VM
Oracle Virtualbox – free and open source hypervisior. Has an added benefit of being able to run software-based virtualisation. If your hardware does not support hardware-assisted virtualisation it will automatically switch to this mode. However, there’s some limitations of running virtual machines in this mode. It can run on Windows, macOS, Linux and Solaris and has even wider selection of compatible guest systems. As of late 2018 it also has much wider set of features compared to Hyper-V, but some of them require a purchase of an extension pack. https://www.virtualbox.org/ Virtualbox on macOS
VMware Workstation Player – free version of the biggest and most common x86 virtualisation platform as of late 2018. It has a similar feature set to Virtualbox, but it does feature much better support for 3D graphics. https://www.vmware.com/au/products/workstation-player.html VMware player
Please note that if you install Hyper-V feature on your Windows machine, Virtualbox will be able only to run in software mode and VMware Workstation Player will stop working altogether.
I hope this article will make it easier for you to embrace virtualisation. Even though it's been around almost as long as computers themselves, for a long time it's been restricted to the domain of research and enterprise. With the introduction of hardware-assited virtualisation in x86 processors it became much more accessible to general public. It's a powerful tool that can have a suprising amount of uses even for a standard user. As of October 2018 all Legion laptops support all of the virtualisation features and solutions mentioned in this article.