Most Linux distributions are not designed to support desktop virtualization, and GPU vendors have failed to agree on a common way to let virtual machines access 3D capabilities (SR-IOV; vfio-pci; vfio-mdev or virtio-gpu...). The result is that it is still complicated to create fast and responsive virtual machines locally.
Phyllome OS is a Fedora Remix based on Fedora Server which attempts to make it easier to run virtual machines locally on computers that support hardware-assisted virtualization, using mostly paravirtualization (aka virtio-devices). It currently relies on existing technologies (libvirt; KVM/QEMU; virt-manager; GNOME Shell; etc), but will eventually implement its own virtual machine manager, package the cloud hypervisor as an alternative to QEMU, and use filesystem-level encryption to protect virtual machines disks. The main idea behind this OS is to treat the host, Phyllome OS, as a read-only system, i.e. as a mere appliance to host virtual machines. The presentation will give a demonstration of Phyllome OS in its current state.
Despite steady progress, especially on the KVM/QEMU front, desktop virtualization today still leaves much to be desired when it comes to usability. For most users, it is still complicated to create virtual machines with advanced media capabilities, including 3D acceleration. 3D-accelerated guests are a must-have nowadays and most desktop environments leverage it to provide a smooth user experience. Existing approaches attempting to grant 3D capabilities to virtual machines are not straightforward, sometimes incompatible and often require trade-offs between usability, performance and security. As a result, a successful implementation on a single host typically requires careful considerations and is often hardware-dependent. For instance, passing through real hardware to a virtual machine using vfio-pci is only possible if the piece of hardware is well-isolated in a single IOMMU group. Paravirtualization, on the other hand, and especially virtio-gpu, promises to be hardware-independent but is not (yet?) supported by all modern guest operating systems.
What if an operating system was designed to provide the best experience regardless of the guest operating system in use?