If you're fond of trying out multiple operating systems without the hassle, you're probably using virtualization regularly. Whether you use Hyper-V, VMWare Workstation, or VirtualBox, enabling virtualization in the BIOS isn't where it ends. To make the most of your virtual machines (VMs) and ensure you aren't crippling performance, you need to look at several other BIOS features and settings that can make a huge difference. These settings ensure your VMs get complete access to your GPU, NIC, and other devices.
Intel VT-x/AMD-V/SVM Mode
First things first
I'll still start with the most basic BIOS setting you need to enable before you can run virtual machines on your system. Depending on your CPU, you'll find either Intel VT-x or AMD-V/SVM Mode in your BIOS/UEFI — this setting enables virtualization on your PC. You can find these settings in the "Advanced CPU options" tab or something similar. It's just a simple toggle that you should turn on if you're just starting with VMs and haven't modified your system in any way yet.
Intel VT-d/IOMMU
Enabling PCI passthrough
VT-d on Intel or Input-Output Memory Management Unit (IOMMU) on AMD systems is needed for PCI/PCIe passthrough, i.e., when you want your VM to have direct access to your GPU, NIC, storage controllers, etc. IOMMU is responsible for assigning memory addresses to all the peripherals, which includes everything using your PCIe slots. Without enabling this setting, you can't really enjoy the best possible performance for your VM that your system is capable of.
You'll find the IOMMU or VT-d setting inside the "Miscellaneous" or "CPU" section in the BIOS. Simply switch it to "Enabled" and get ready to provide your VM with the full might of your GPU and NIC.
SR-IOV
The cherry on top
Single Root I/O Virtualization (SR-IOV) is downright essential if you want to allocate GPU resources to not just one but multiple VMs. It allows your GPU to present itself as multiple virtual GPUs, each one ready to be assigned or passed to a separate VM. You can also do the same for your NIC, allowing each of your virtual guests to access high-performance networking.
This setting can be found in the "IO Ports" section of your BIOS, and it works wonders for users running a demanding home lab with varied VMs, each dedicated to a different purpose.
Resizable BAR and Above 4G Decoding
Unfettered access to GPU memory
Resizable BAR and Above 4G Decoding are settings you might be aware of, even if you aren't into virtual machines. Together, they allow the entirety of the GPU memory to be accessed by an application. In the context of VMs, these settings should be enabled if you need the full VRAM of a passed GPU to be available to your VMs.
You can find Resizable BAR and Above 4G Decoding in the "PCI subsystem settings" or the "IO Ports" section of the BIOS.
Memory Interleaving
Higher memory bandwidth
Memory interleaving refers to dividing your system's physical memory into multiple memory banks that can be accessed by your VMs. This improves latency as the memory addresses aren't located in sequential banks, minimizing the time the system needs to wait to access a particular memory address. Parallel memory requests can be executed simultaneously, improving overall performance.
If you're running heavy VMs, memory interleaving can help prevent bottlenecks when they're all vying for system resources. You can find this setting under the "Memory" or "Advanced" sections in the BIOS. Your system may list this setting as NUMA (Non-Uniform Memory Access) awareness.
Integrated graphics
Even if you have a dedicated GPU
Your integrated graphics might be significantly weaker than your dedicated GPU, but they can be quite handy when running one or more VMs on your system. Depending on the resources needed by a VM, you might want to give it complete access to the discrete GPU, which means you'll need a backup for your host OS, which is where the integrated graphics come in.
Your heavy VM can do its thing on the dedicated GPU, while the host machine can run things like Plex or Jellyfin, applications that run perfectly fine on integrated graphics. Enabling integrated graphics in the BIOS is simple — you'll usually find it in the "Advanced" section.
Make sure you're using all your system resources
Virtualization is a fantastic way to try out new operating systems without committing to one, experimenting with potentially dangerous software, or running demanding containers for your home lab. Besides, you can easily move your VM to another device, unlike a dual-boot system that is tied to your PC. To ensure you're using your PC's full weight for your VMs, enable the settings listed above, so your VMs have total access to your hardware.
