====== Activate VT-x for VMs in Virtualization Station 3 ====== This tutorial will show how to activate VT-x for VMs in Virtualization Station 3. ===== Configuration ===== Connect to your QNAP via SSH and become root. Then find your QKVM install path /sbin/getcfg QKVM Install_Path -f /etc/config/qpkg.conf It should be something like "/share/ZFS530_DATA/.qpkg/QKVM" Inside that folder, edit the module. vim /usr/etc/qvsd.d/44-preload/01-module eg.: vim /share/ZFS530_DATA/.qpkg/QKVM/usr/etc/qvsd.d/44-preload/01-module Find the following block load_kvm() { ___load_module kvm.ko ignore_msrs=1 check_ret echo 1 > /sys/module/kvm/parameters/ignore_msrs echo 0 > /sys/module/kvm/parameters/report_ignored_msrs # load kvm module if [ $VMX_FEATURE -ne 0 ]; then ___load_module kvm-intel.ko "nested=0 enable_apicv=0" check_ret elif [ $SVM_FEATURE -ne 0 ]; then ___load_module kvm-amd.ko nested=0 check_ret else elog "Platform not support KVM" exit 1 fi } Change the "VMX" line from ___load_module kvm-intel.ko "nested=0 enable_apicv=0" to ___load_module kvm-intel.ko "nested=1 enable_apicv=0" I've seen this line in other variations, for example without "apicv", just make sure to edit "nested" if you line looks different. Restarting your QNAP will change this configuration. If you want to enable it without rebooting, execute the following. Look up your active modules for "kvm-intel" modprobe -l | grep kvm-intel > kvm-intel.ko Then find its path find / -name "kvm-intel.ko" You should find something like "/lib/modules/KVM/kvm-intel.ko". This is a symlink pointing to the version of the module, just use this. Stop all VMs, then remove the module. rmmod kvm-intel.ko Activate the module with the new set parameter (if you have "apicv" in your line I suggest setting the parameter as well) insmod /lib/modules/KVM/kvm-intel.ko nested=1 Look it up once again modprobe -l | grep kvm-intel > kvm-intel.ko And check if your parameters are set cat /sys/module/kvm_intel/parameters/nested Y cat /sys/module/kvm_intel/parameters/ept Y To activate VT-x in for your VMs, you have to set the CPU to passthrough. {{:hardware:storage:qnap1655:pasted:20230919-012050.png}} lscpu should now show VT-x as a feature lscpu ... Virtualization features: Virtualization: VT-x Hypervisor vendor: KVM Virtualization type: full ... For Windows, check the "Performance" tab in the Taskmanager or check via PowerShell Get-WmiObject -Class Win32_Processor | Select-Object -ExpandProperty VirtualizationFirmwareEnabled