How to get VirtualBox VM's display refresh rate >60Hz?

I have found it said that the virtual graphics adapter in VirtualBox tells Windows that it only supports 60Hz, so you cannot configure it for more.

The only solution would be PCI passthrough which lets the virtual machine use directly the physical video adapter, requiring usually a computer with at least two video adapters and two monitors.

Although VirtualBox seems to have dropped support for PCI passthrough, because its implementation of the feature was too incomplete, its article does a good job of listing the prerequisites for this feature:

  • Your motherboard has an IOMMU unit.
  • Your CPU supports the IOMMU.
  • The IOMMU is enabled in the BIOS.
  • The VM must run with VT-x/AMD-V and nested paging enabled.
  • Your Linux kernel was compiled with IOMMU support, including DMA remapping. See the CONFIG_DMAR kernel compilation option. The PCI stub driver (CONFIG_PCI_STUB) is required as well.
  • Your Linux kernel recognizes and uses the IOMMU unit. The intel_iommu=on boot option could be needed.

PCI passthrough is much easier when using a bare-metal hypervisor such as ESXi. For hosted hypervisors, the situation is better on Linux machines. For Windows Hyper-V, PCI passthrough is only supported on Windows Server.

PCI passthrough under Linux is described in many articles, some of which I list below:

  • Xen PCI Passthrough
  • PCI passthrough with Xen and KVM hypervisors
  • PCI passthrough via OVMF
  • How to enable a VMware Virtual Machine for GPU Pass-through
  • Play games in Windows on Linux! PCI passthrough quick guide
  • NVIDIA Virtual GPU Technology is a cloud technology that allows farms of video GPUs.