VMware Communities
Mr_Mechanical
Contributor
Contributor

Can’t enable Solidworks hardware OpenGL

Fusion 10 running on new iMac Pro with VM Windows 10 Pro 64 and Solidworks 2017

i have 3D acceleration enabled but I can not disable under Solidworks options,  software OpenGL

on Parallels, there is a registry patch to fix, what should I try with Fusion?

thanks!

11 Replies
bluefirestorm
Champion
Champion

The default in Fusion 10.x is Apple Metal will be used when 3D acceleration is enabled. The use of Metal graphics framework is new to Fusion 10.x.

You try to turn off Metal and it should fall back to Fusion 8.x method of using OpenGL instead of Metal. Add the following line to the vmx configuration file

mks.enableMTLRenderer = "FALSE"

Reply
0 Kudos
Mr_Mechanical
Contributor
Contributor

Thanks — Actually I saw a post about this and tried it without luck. Also 3D acceleration only offer directx 9 not 10.

my GPUs is Radeon Pro Vega 56 with 8gb ram

Reply
0 Kudos
bluefirestorm
Champion
Champion

DX10 in Windows VMs is supported even with Fusion 8.x with the appropriate graphics hardware.

One requirement is that the VM Hardware Compatibility should be set to 12. Since you have Fusion 10.x, make sure that the hardware compatibility is set to 14.

The VMware Tools version 10.2 should install the latest VMware SVGA 3D driver version 8.15.1.60.

Reply
0 Kudos
Mr_Mechanical
Contributor
Contributor

Tried your suggestions -- thank you

Latest VMTools was already installed.

Compatibility already set to 14

Any other ideas? Thanks again

Reply
0 Kudos
bluefirestorm
Champion
Champion

The Windows VM should have both DX10 and OpenGL 3.3 Core Profile capabilities.

For DX10, one easy way to confirm is with dxdiag.

For OpenGL 3.3 core profile, you can use something like the OpenGL Extensions Viewer

http://realtech-vr.com/admin/glview

After looking at the Parallels KB and some other Solidworks forum post, I understand what you meant by the registry fix.

http://kb.parallels.com/en/122790

http://www.solidworks.com/sw/support/videocardtesting.html

It looks like the registry fix that you are referring to is some sort of Solidworks whitelist/blacklist of graphic adapters. You may want to ask Dassault Systems/Solidworks support if they have such registry entries for VMware in general or more specifically for Fusion. The VMware virtual graphic adapter would be the same regardless if it is Fusion VM or Workstation Pro on Windows/Linux host or ESXi VM without graphic passthrough.

Reply
0 Kudos
trenco
Contributor
Contributor

Hi,

I was able to make Solidworks use hardware OpenGL on VMWare 11.0. It took me a while and I kept coming across this post so hopefully, this will save someone some time.

To recap, Solidworks must "recognize" a graphics card to enable OpenGL support for it. If it doesn't, the option "Use Software OpenGL" in Solidworks settings is checked and grayed out.

Apparently, they have workarounds that can be enabled to "force" Solidworks to recognize specific adapters as OpenGL capable.

Open regedit.exe and navigate to

HKEY_CURRENT_USER\Software\SolidWorks\SOLIDWORKS 2019\Performance\Graphics\Hardware\VMware, Inc.

There should be a DWORD entry called Workarounds. Mine was set to 0x10. Change it to 0x09 and start Solidworks. The option "Use Software  OpenGL" should be unchecked and not grayed out.

I have no idea what do these values mean (chances are it's a bit-mapped value and one bit enables the opengl). feel free to experiment with different values if you'd like.

MysticBlueX3
Contributor
Contributor

Thanks @trenco! I tried your work around and it worked for me (VM Version 11.5.1 on MBP running Catalina 10.15.2). I was able to run my SW2017 and uncheck the use open GL box.

I recently updated to SW2020 and SW would immediately crash after opening a new file or existing file. The only way for it not to crash is to undo the work around (set it back to 0x10 in regedit) but this re-enables software opgenGL.

The only way I was able to get hardware OpenGL to work (regedit set to 0x09) is to uncheck the box that says “Enhanced Graphics Performance”. Anyone have this issue with SW2020? Is there a way to have “Enhanced Graphics Performance” enabled and hardware OpenGL enabled at the same time?

Reply
0 Kudos
seanFA
Contributor
Contributor

I've spent much time getting OpenGL and RealView to work in Solidworks under VMware Fusion. Registry edits are the most reliable approach. My friend and I have summarized the steps here:

https://medium.com/@wearedelicious/how-to-enable-hardware-gl-and-realview-in-solidworks-on-a-virtual...

These steps have worked for me from SW2017 through 2020 (I just installed SW2020 today and confirmed it works)

Note from SW2018, SolidWorks has a tendency to rewrite registry settings for .... SW####\Performance\Hardware\Current\ If you find the Workarounds DWORD is getting reset back to 0x10 you may need to change the permissions of the Current key to be read only, even for yourself and admin users (If you need the change the key later you can give yourself permissions again in RegEdit)

I haven't spent any time with the 'Enhanced Graphics Performance' option in SW2020. From what I've read this uses OpenGL 4.5 and I don't know how well that's supported in Fusion. One thing I have noticed is the GFX performance under software GL is much faster is the SWorks background is set to white instead of 3-point. Not sure why.

One consistent issue I've had with Solidworks and Fusion is opening a Solidworks Drawing file without forcing it to use software OpenGL will cause a crash. Rechecking the Use Software GL box before opening the drawing prevents the crash.

As all things Solidworks, YMMV. Good luck! I'm running a 2017 MBP 15" with a 4GB Radeon Pro 560 and the GFX performance is pretty impressive!

skeelo221
Contributor
Contributor

Helpful (and funny!) article.  I am researching some options now, as I am getting ready to purchase and install SW and would like to use a VM.  It looks like there have been some big improvements to Fusion 12 which looks to match the hardware acceleration capabilities of Parallels 15.

Are all these registry steps still necessary for Fusion 12 do you know?

Reply
0 Kudos
davidew
Enthusiast
Enthusiast

Hi @Mr_Mechanical , I've had the same problem and after some researches I figured that registry fix is the solution. I created a registry patch that enables hardware acceleration but not RealView (there is a method to enable RealView but Solidworks becomes extremely unstable), it works well for me (on a 2020 i5 MacBook Air), give me feedbacks on using it on your machine.

The file is zipped because this site doesn't allow loading .reg files. The patch I created is for Solidworks 2020, if you have a different version open the file with a text editor and change 2020 to your version. 

TroyStory89
Contributor
Contributor

Wow wow wow! Thank you! Been working on this issue for literally days. So grateful for you and your post. Have a great year!

Tags (1)