Skip to content

Instantly share code, notes, and snippets.

@plembo
Last active Oct 30, 2022
Embed
What would you like to do?
VMware Player: No 3d support available from the host

VMware Player: "No 3d support is available from the host"

Facts: VMware Player on Ubuntu 18.04 LTS with the standard Gnome desktop running an AMD WX-2100 graphics card. Both glxinfo and glxgears show 3d acceleration is enabled and working on the host. In addition to VMware Player, the host is also running the qemu-kvm/libvirtd stack from Ubuntu's official repositories. My use case for 3d accelerated graphics in a Windows guest is to occasionally play a Windows-only game.

Issue: Player barks this warning during installation of... anything.

Solution: This askubuntu post, Powered by StackExchange[TM], provides the solution:

  1. Make sure 3d graphics is enabled in the guest settings and VMware Tools installed in it.

  2. Shut down the Windows VM and exit Player.

  3. Edit ~/.vmware/preferences to add...

mks.gl.allowBlacklistedDrivers = "TRUE"
  1. Start up the guest VM in Player.

NOTES:

  1. Why not use qemu-kvm instead of VMware Player? Because there isn't a working Windows driver for virtual 3d accelerated graphics. The virGL project had this as a goal around five years ago (back when I went all-in on qemu-kvm myself), but has yet to deliver for Windows guests.

  2. Why not PCI (VFIO) pass-through? Too expensive for me, and I suspect for most ordinary users. If you need 3d graphics on Windows, it's probably justifiable. But then you could put the same money into a second workstation running Windows on bare metal. There's still a frustratingly high learning curve for getting pass-through graphics up and running, and the premium hardware required is very expensive (high-end motherboard and two graphics cards, as well as a spare monitor or a pro KVM switch -- like a Blackbox for reliability and durability).

  3. You can't run a VMware and a qemu-kvm guest at the same time, each virtualization system wants exclusive access to the kernel. For desktop use that shouldn't be a problem, but if the host doubles as a virtual lab (as mine does) you're going to have to shut down all your qemu-kvm guests before launching a guest in Player. It's an annoyance, but manageable for me. Note that you do not have to shut down or recycle libvirtd before or after using VMware Player.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment