Install virtual machine as non-root?

For KVM, you need access to the device /dev/kvm. If your user can read/write to this device, then you can run KVM-based virtual machines as your user.

In most distributions members of the kvm group has access to this device, so all you need to do is to add your user to the kvm group.

For most other accelerated technologies, you will need kernel modules loaded (this includes virtualbox and VMWare). This almost certainly requires root-level access.

You can run non-accelerated virtualisation technologies as any user. For example, qemu in non-accelerated mode. Be aware it will be very slow compared to accelerated virtualisation.


User mode Linux is a Linux virtualization solution that runs entirely in userspace - no root privileges required.

However, it can only run a Linux guest within a Linux host, so it's not suitable if you want to run anything else.


Any real virtualization needs low-level access to the CPU, and thus root must install it. Once installed you don't need to be root to run it. You could probably install and run an emulator as non-root, such as bochs, or an adapter such as wine. If you have a specific Windows app in mind you could just run it under wine (maybe).