The latest stumbling block that's been encountered by David in his pursuit of 3D virtual support emulation to match that of the 3D driver offerings of VMware and VirtualBox is how to handle disconnected VM operations. Libvirt-based virtualization solutions like virt-manager don't depend upon the current running user session (or its X.Org Server) when running a VM but effectively run as their own user.
Other virtualization software like GNOME Boxes is also run differently from being a traditional end-user application. David Airlie has been trying to figure out all the implications and how to effectively design a 3D driver for these environments given that the commonly-used GLX interface to OpenGL is contingent upon having an X.Org Server connection.
There are some possibilities to handle the situation using DRM-render nodes and making use of EGL rather than GLX for doing off-screen rendering. However, the issue here is that NVIDIA still only has limited EGL support. NVIDIA's 32-bit driver supports EGL (but not the 64-bit build at the moment) and it's only for OpenGL ES.
There's also been other challenges involved like how to deal with the VM lifecycle when the GPU goes away, etc. David Airlie is slowly but surely working through the 3D VM situation, but long story short don't look for something that's ready for QEMU/KVM in the immediate future. If you need 3D support in a VM now, I highly recommend checking out VMware's (proprietary) virtualization products and do use it on my main system daily.
More details on David's 3D virtualization struggles can be found via his blog post.