Libvirt has no KVM capabilities even though qemu-kvm works

Most distro libvirt packages will be configured to run qemu as qemu:qemu user. See the UID+GID reported by virsh --connect qemu:///system capabilities | grep baselabel. If that's the case for your distro, then qemu doesn't have permissions to access /dev/kvm, so libvirt is not advertising kvm support. chmod 666 /dev/kvm should fix it. This is the default in Fedora FWIW