If you want to run OpenGL 3.2+ apps in a Windows guest, AVOID Parallels 13 and buy VMWare Fusion 10 instead.
Contents
TL;DR: Parallels Desktop 13 only supports OpenGL 3.2 on an extremely limited subset of mostly games. VMWare Fusion 10 has full OpenGL 3.3 support. In my case, this made the difference between being able to work on a VTK-based client project (VMWare Fusion ππ) or NOT being able to work the project (Parallels ππ).
I bought a Parallels Desktop Pro 13 subscription to be able to do Linux and Windows development on my MacBook Pro.
Although PD is extremely well done otherwise, they seem to have been dragging their feet with rolling out full OpenGL 3.2 support, as can be seen in a number of threads on their forums, e.g. here, here and here.
For a client project, we are currently working on a cross-platform VTK-based app which targets Windows as its main platform. I was looking forward to using my Parallels Windows 10 guest to test the prototype out. Unfortunately, when trying to run a simple VTK sample I was greeted with this error message:
Warning: In ..\Rendering\OpenGL2\vtkOpenGLRenderWindow.cxx, line 647 vtkWin32OpenGLRenderWindow (0000018AAABA44B0): VTK is designed to work with OpenGL version 3.2 but it appears it has been given a context that does not support 3.2. VTK will run in a compatibility mode designed to work with earlier versions of OpenGL but some features may not work.
The app then reproducibly crashes hard.
Further investigation with the OpenGL Extension Viewer showed that there were three different OpenGL renderers: Two of them are OpenGL 2.1 capable, and one is 3.2 capable. However, as a user, you canβt decide which app gets which renderer.
Further digging, also with the glewinfo app, reveals that Parallels only very selectively supports certain games and apps. See the list at the end of this knowledge base article.
I logged a support issue re the VTK 7 and later OpenGL 3.2+ requirement. The bug was acknowledged, and Parallels confirmed that it was now on their backlog, but that they could give no indication of when this would be available.
Client projects really canβt wait for this, so based on good reviews of the OpenGL support in VMWare Fusion 10, I made use of their Cyber Monday special to purchase a license for the Pro version.
After installation, I imported the VM from Parallels Desktop:
β¦ after which I was greeted with the VM configuration screen where I could configure the 3D support:
After which I could boot up the same Windows VM and run the VTK sample app without any issues whatsoever:
So there you go: If you need good OpenGL support in your VMs, prefer VMWare Fusion over Parallels Desktop.