The warning you're encountering on your Scaleway Debian 13 ARM STANDARD2-A2C-8G instance indicates that KVM (Kernel-based Virtual Machine) is not available. This can happen for several reasons, especially on ARM-based instances. Here’s how to diagnose and resolve the issue:
Scaleway's ARM-based instances (e.g., STANDARD2-A2C-8G) do not support KVM acceleration. KVM is typically available on x86_64 architectures, but ARM64 (aarch64) instances often rely on TCG (Tiny Code Generator) for emulation, which is slower.
To confirm your architecture, run:
bashuname -m
If it returns aarch64, your instance is ARM-based and KVM will not work.
Even if KVM is not supported, you can check if the kernel modules are loaded:
bashlsmod | grep kvm
If no output is returned, KVM modules are not loaded (expected on ARM).
To check if KVM is available in the kernel:
bashgrep -E 'kvm|KVM' /proc/cpuinfo
On ARM, this will likely return nothing.
Since KVM is unavailable, QEMU will automatically fall back to TCG emulation, which is slower but functional. Ensure QEMU and libvirt are installed:
bashsudo apt update sudo apt install -y qemu qemu-system libvirt-daemon-system libvirt-clients bridge-utils
Libvirt (used by tools like virt-manager or virsh) may still warn about KVM. To suppress the warning and force TCG:
bashsudo nano /etc/libvirt/qemu.conf
iniclear_emulator_capabilities = 0
bashsudo systemctl restart libvirtd
Run a test VM to check performance:
bashqemu-system-aarch64 -machine virt -cpu cortex-a57 -m 2G -nographic -kernel /path/to/kernel -initrd /path/to/initrd
If the VM starts (albeit slowly), TCG is working.
If your goal is lightweight virtualization, consider:
Install Docker:
bashsudo apt install -y docker.io sudo systemctl enable --now docker
Install LXC:
bashsudo apt install -y lxc lxd sudo lxd init
If you require KVM acceleration, confirm with Scaleway whether:
clear_emulator_capabilities = 0.Next Steps
Vibe can make mistakes. Check answers. Learn more