Important: The openrc libvirtd init script is now broken up into two separate services: libvirtd, that solely handles the daemon, and libvirt-guests, that takes care of clients during shutdown/restart of the host. In order to reenable client handling, edit /etc/conf.d/libvirt-guests and enable the service and start it: $ rc-update add libvirt-guests $ rc-service libvirt-guests start For the basic networking support (bridged and routed networks) you don't need any extra software. For more complex network modes including but not limited to NATed network, you can enable the 'virt-network' USE flag. It will pull in required runtime dependencies If you are using dnsmasq on your system, you will have to configure /etc/dnsmasq.conf to enable the following settings: bind-interfaces interface or except-interface Otherwise you might have issues with your existing DNS server. For openrc users: Please use /etc/conf.d/libvirtd to control the '--listen' parameter for libvirtd. Use /etc/init.d/libvirt-guests to manage clients on restart/shutdown of the host. The default configuration will suspend and resume running kvm guests with 'managedsave'. This behavior can be changed under /etc/conf.d/libvirt-guests For systemd users: The '--listen' parameter is unavailable when libvirtd is run as a systemd unit. The configuration for the 'libvirt-guests.service' is found under /etc/libvirt/libvirt-guests.conf" If you have built libvirt with policykit support, a new group "libvirt" has been created. Simply add a user to the libvirt group in order to grant administrative access to libvirtd. Alternatively, drop a custom policykit rule into /etc/polkit-1/rules.d. If you have built libvirt without policykit support (USE=-policykit), you must change the unix sock group and/or perms in /etc/libvirt/libvirtd.conf in order to allow normal users to connect to libvirtd. If libvirt is built with USE=caps, libvirt will now start qemu/kvm VMs with non-root privileges. Ensure any resources your VMs use are accessible by qemu:qemu.