Skip to main content

Checking x86-64-v3 Compatibility for Hypervisors

This guide explains how to verify whether existing hypervisor environments support the x86-64-v3 instruction set.


Background​

Systems supporting only x86-64-v2 are not compatible.

This mainly affects:

  • older physical servers
  • older VMware, Hyper-V, Proxmox, or KVM hosts
  • virtual machines where CPU features are restricted by the hypervisor

Important: Not only the physical CPU must support x86-64-v3. The hypervisor must also expose these CPU features to the virtual machine.


Known Minimum CPU Generations​

Typically compatible:

  • Intel Haswell and newer (approx. 2013+)
  • AMD Excavator / Zen 1 and newer

Commonly incompatible:

  • older Intel Xeon E5 v1/v2 systems
  • older AMD Opteron systems

Actual compatibility always depends on which CPU features the hypervisor exposes to the VM.

Quick Test on Linux (KVM)​

The easiest way to test an existing Linux:

/lib64/ld-linux-x86-64.so.2 --help | grep x86-64-v3

If x86-64-v3 is listed, the system supports the required CPU features.

If x86-64-v3 is missing, either the hypervisor is not exposing the required CPU features or the host CPU itself does not support v3.


Alternative Check Using CPU Flags​

On Linux:

grep -m1 '^flags' /proc/cpuinfo

For x86-64-v3, the following CPU flags must be available:

  • avx
  • avx2
  • bmi1
  • bmi2
  • fma
  • movbe
  • xsave

If one or more of these features are missing, the system is not compatible.


VMware ESXi​

General Information​

VMware commonly manages CPU compatibility using EVC (Enhanced vMotion Compatibility).

EVC can be configured:

  • cluster-wide
  • per virtual machine

An incorrectly configured EVC level may hide x86-64-v3 CPU features inside the VM.


Supported ESXi Versions​

ESXi VersionStatus
ESXi 6.0minimum version with possible v3 support
ESXi 7.xv2 can only be enabled with additional warning
ESXi 8.xv2 support is practically deprecated

Recommended settings:

  • current virtual hardware version
  • EVC profile matching the host CPU generation
  • avoid artificial CPU downgrades to older generations

Hyper-V​

Requirements​

Hyper-V supports x86-64-v3 on platforms based on:

  • Windows Server 2016
  • Windows Server 2019

Important:

  • The physical CPU of the Hyper-V host must support x86-64-v3.
  • Older CPUs prevent v3 support inside virtual machines.

Check Host CPU Model​

Run the following PowerShell command on the Hyper-V host:

Get-CimInstance -ClassName Win32_Processor | Select-Object Name

Then verify whether the CPU model supports AVX2 and the other required v3 features.

Verify Host CPU Support​

The Hyper-V host CPU itself must support x86-64-v3.

You can verify this directly on the Hyper-V host using PowerShell:


Add-Type -TypeDefinition 'using System.Runtime.InteropServices; public class CPU { [DllImport("kernel32.dll")] public static extern bool IsProcessorFeaturePresent(uint f); }'; [CPU]::IsProcessorFeaturePresent(40)

Result interpretation:

ResultMeaning
TrueHost CPU supports x86-64-v3 requirements
FalseHost CPU does not support x86-64-v3

Proxmox​

General Information​

Starting with Proxmox VE 8, CPU profiles can be selected directly:

  • x86-64-v2
  • x86-64-v3
  • x86-64-v4

Note: x86-64-v3 is currently not the default setting.

With manual configuration, v3 can also be enabled on some earlier Proxmox versions.


In the VM configuration:

CPU Type: x86-64-v3

or:

cpu: x86-64-v3

Verify Host Compatibility​

Run directly on the Proxmox host:

ld.so --help | grep v3

If x86-64-v3 is displayed, the host CPU supports the required features.