NoFear

What’s the difference with Cappsule?

Regarding virtualization, Cappsule introduced the concept of on the fly virtualization with a custom hypervisor; whereas NoFear makes use of KVM included in mainline Linux kernel.

Concerning dependencies, Cappsule requires a custom Ubuntu configuration and a specific Linux kernel version. Any change to the Linux kernel is prone to break the hypervisor or the VMs. NoFear aims at being distro-independent, requiring software distributed through the distro packages.

Why does NoFear require a custom version of kvmtool?

How to debug the gui?

Launch nofear with --gui option but no arguments, and follow the indications:

$ nofear --gui

How do I kill properly a VM which doesn’t respond?

Use the stop command of kvmtool:

$ lkvm-nofear stop --name default

or:

$ lkvm-nofear stop --all

What’s the current state of the GUI feature?

The launch hangs sometimes for no reason. We’re investigating the issue. Currently, the Xpra server and Xpra client communicate through a TCP connection. It isn’t optimal at all, and a weird socat trick is used to allow the host to connect to the guest. According to this ticket, performances should be better and implementation cleaner once the VSOCK protocol will be packaged in Linux and Xpra packages.

Common error messages

You have requested a TAP device, but creation of one has failed because: Operation not permitted

It seems that you didn’t installed lkvm-nofear with the install script. To allow unprivileged user to create TAP devices, give the net_admin capability to lkvm-nofear.

$ sudo setcap cap_net_admin+iep /usr/local/bin/lkvm-nofear

Warning: Guest memory size 2048MB exceeds host physical RAM size 1983MB

Lower the memory allocated to the VM ('--mem', '2048',) in src/nofear.py.

Error: Can’t open display: 192.168.33.1:0

Is --gui specified on nofear’s command-line?

Error: Could not open /dev/kvm:

It’s probably a permission error. Depending of your distro, your user might not be in the kvm group or /dev/kvm doesn’t have the correct ACL. The ACL of a file can be modified thanks to setfacl. For instance:

sudo setfacl -m u:user:rw /dev/kvm