Earlier this week I shared VMware might have a big GPU driver update
for the Linux 3.14 kernel
and now in time they have successfully delivered. This new "vmwgfx" virtual GPU driver adapts to their new virtual GPU (SVGA2) hardware revision.
SVGA2 Hardware Revision 11 will be a new version of the graphics processor they expose to VMware virtual machines for tapping and allowing guest VMs to have 3D hardware acceleration provided by the host.
The 11th hardware revision to the SVGA2 adapter introduces a concept of "guest backed objects" and resources. Thomas Hellstrom of VMware explained these fundamental VMware SVGA driver changes in a new mailing list post:
The device will in principle get all of its memory from the guest, which has big advantages from the device point of view.
This means that vmwgfx contexts, shaders and surfaces need to be backed by guest memory in the form of buffer objects called MOBs, presumably short for MemoryOBjects, which are bound to the device in a special way.
This patch series introduces guest backed object support. Some new IOCTLs are added to allocate these new guest backed object, and to optionally provide them with a backing MOB.
There is an update to the gallium driver that comes with this update, and it will be pushed in the near timeframe presumably to a separate mesa branch before merged to master.
All but the last patch have been reviewed internally. Please let me know whether there are any concerns before i generate a pull request.
These VMware GPU DRM patches for the Linux 3.14 kernel can be found queued up on the dri-devel list
until their landing in the drm-next tree and then in the next few weeks ahead in the mainline Linux Git repository.