What do you think? Discuss, post comments, or ask questions at the end of this article [More about me]

Problem

When running a guest OS with 3D acceleration enabled on VMWare Workstation (or player) on an Arch-based distro, you may receive the following notifications on guest OS startup:

Cause

The cause of the problem can be varied.  However, on Arch based distributions, especially on laptops with both a discrete graphics card and integrated graphics, it's most likely related to the discrete card not being used (or enabled easily).

Below are two solutions which have worked for me, for a Nvidia-based laptop (2018 Razer Blade 15) and an ATI Radeon laptop (2018 Lenovo e480).

Solutions

Nvidia (Optimus) laptop - older laptops cards that support bumblebee and optirun

The first solution involves installing bumblebee and prefixing the vmware or vmplayer executable with optirun.  E.g.

optirun -b primus vmware

You can also modify (or make a copy) of the .desktop file with a modified prefix.  See below (create a .desktop file and put in a folder on you path):

example of a vmware-workstation-optirun.desktop file for launching vmware with optirun
[Desktop Entry]
Encoding=UTF-8
Name=VMware Workstation (OPTIRUN)
Comment=Run and manage virtual machines
Exec=optirun -b primus /usr/bin/vmware %U
Terminal=false
Type=Application
Icon=vmware-workstation
StartupNotify=true
Categories=System;
MimeType=application/x-vmware-vm;application/x-vmware-team;application/x-vmware-enc-vm;x-scheme-handler/vmrc;
Path=

Nvidia (Optimus) laptop - newer laptops with cards that support video-hybrid-intel-nvidia-prime

For laptops with newer cards (for example my Razer Blade 15 with an RTX 2080) you should be able to prefix the vmware or vmplayer executable with prime-run.  E.g.

prime-run vmware

You can also modify (or make a copy) of the .desktop file with a modified prefix.  See below (create a .desktop file and put in a folder on you path):

example of a vmware-workstation-optirun.desktop file for launching vmware with optirun
[Desktop Entry]
Encoding=UTF-8
Name=VMware Workstation (PRIME)
Comment=Run and manage virtual machines
Exec=prime-run /usr/bin/vmware %U
Terminal=false
Type=Application
Icon=vmware-workstation
StartupNotify=true
Categories=System;
MimeType=application/x-vmware-vm;application/x-vmware-team;application/x-vmware-enc-vm;x-scheme-handler/vmrc;
Path=

ATI based laptop - allow blacklisted drivers

Now, ATI has much better linux support (by far...) however, on my e480, I couldn't get 3D acceleration working (tried all different types of drivers free and non-free) until I came across this post by /dev/blog.

Apparently VMWare decided to blacklist some drivers.  Luckily we can undo this blacklisting by modify the preferences file by adding the following to ~/.vmware/preferences:

Add the following line to the ~/.vmware/preferences file
mks.gl.allowBlacklistedDrivers = TRUE

References

  1. https://wiki.archlinux.org/index.php/Bumblebee#Installation
  2. https://possiblelossofprecision.net/?p=2464