VMware Communities
nkruis
Contributor
Contributor

VMWare Fusion 11: Access violation in "vm3dgl.dll"

I just updated to a trial of Fusion 11 (from Fusion 10) and started hitting up against an access violation when using the graphics library through GLFW. I posted an issue on GLFW's GitHub site, but I suspect the problem might be in the OpenGL drivers in VMWare Fusion 11.

Here's the post on GitHub:

Access violation when creating new window after GLFW re-initialization · Issue #1410 · glfw/glfw · G...

0 Kudos
3 Replies
bluefirestorm
Champion
Champion

I am not familiar with GLFW except I remembered answering a query in this community for one with an Ubuntu host with Workstation 12.x. The problem was not a crash of the VMware VM graphics driver though.

Try adding the following lines in red and see whether it still results in a crash or not.

glfwInit()

glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);

glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);

glfwCreateWindow(1, 1, "Test", NULL, NULL);

If the additional lines of code still results in a crash, you could try to switch the graphics framework that Fusion uses.

Starting with Fusion 10.x, the default rendering framework Fusion uses is Metal when 3D acceleration is enabled for a VM. You could also try switching back to OpenGL by adding the following lines to the vmx configuration. Shut down the VM first though before editing the vmx configuration file.

mks.enableMTLRenderer = "FALSE"

mks.enableGLRenderer = "TRUE"

You could also make sure that the graphics adapter being used on the Apple host is a discrete graphics (assuming it has one). The Intel OpenGL graphics driver might be buggy (at least on a Windows host it appears to be).

0 Kudos
nkruis
Contributor
Contributor

The window hints don't do anything to help with the problem. I believe this code should work on any system without modifying VM settings.

0 Kudos
bluefirestorm
Champion
Champion

You could also try downloading and installing VMware Tools 10.3.5. This updates the VMware SVGA 3D driver in the guest OS to version 8.1.16.20.

https://my.vmware.com/web/vmware/details?downloadGroup=VMTOOLS1035&productId=614

The suggestion to change the VM settings to use OpenGL instead of Metal is because the VMware video driver on the guest OS would stay the same meanwhile underneath what VMware uses can be different. By default on Windows hosts, VMware uses DX11 while on Linux hosts it uses OpenGL. Switching the underlying graphics frameworks can make a difference in the underlying capabilities at least as seen on the "SVGA3dcaps: guest" section in the vmware.log.

0 Kudos