VMware Communities
srwarner
Enthusiast
Enthusiast
Jump to solution

Fusion 12.2: either macOS "Prefer External GPU" or the Settings | "Prefer External GPU" not working

I configured both VMware Fusion and Matlab/Simulink on a macOS 11.6.1 to "Prefer External GPU".  With VMware the application starts, and all guests/etc use the GPU of the system, not the eGPU.  While Matlab and Simulink both use the eGPU.  WindowsServer is set to the GPU of the system, and displays the content from Matlab or Simulink properly. So, I know I have an application configured to use the eGPU properly.

Is there some other step to enable VMware Fusion to use the eGPU?

 

ps, I used to joke with my daughter about contract law when I helped on a class project in her grade school.  The instructions were pretty specific, don't use glue X or Y or Z.  Fortunately, the instructions didn't say "use only glue W".  Later when the teacher came to me and whispered in my ear about the glue, I smiled and said "yeh, I figured this was a contract law instruction for the kids".  She won 1st place, although 🙂 they crafted an on the moment "special" 1st place category of "Honorable Mention".  But hey... other than this "Prefer" likely being an example of contract law, I figured I'd add it here for levity. 

0 Kudos
1 Solution

Accepted Solutions
ColoradoMarmot
Champion
Champion
Jump to solution

Fusion uses the egpu by default if:

1) The egpu is active when fusion launches

2) you boot the VM while the egpu is active

Note that the eGPU is not actually shared with the guest, so clients inside it won't see it - it's fusion's engine that leverages it.  Thus apps in the guest that would use it for ML for example, still won't see it available.

View solution in original post

3 Replies
ColoradoMarmot
Champion
Champion
Jump to solution

Fusion uses the egpu by default if:

1) The egpu is active when fusion launches

2) you boot the VM while the egpu is active

Note that the eGPU is not actually shared with the guest, so clients inside it won't see it - it's fusion's engine that leverages it.  Thus apps in the guest that would use it for ML for example, still won't see it available.

srwarner
Enthusiast
Enthusiast
Jump to solution

Hi Dlhotka,

  I think you are talking about a different use-case, using the eGPU as compute-engine (aka Metal).  For me, I want the process (the guest VM's graphics) to use the eGPU, much like what is happening with Matlab/Simulink.  For my scenario, flipping the "Prefer External GPU" funnels the graphics effort to the eGPU, and then the graphics is rendered by WindowsServer on to the display (or what ever display is attached to the eGPU

  with the config I have - Activity Monitor - shows 0% VMware usage on the eGPU, and at the exact same time Matlab/Simulink have %-activity.

Sam

0 Kudos
srwarner
Enthusiast
Enthusiast
Jump to solution

Hi Dlhotka,

  indeed - it works, even for the other use-case of just showing graphics.  I just needed to do a reboot (other apps didn't need the reboot, only VMware Fusion).  

   using Glview is quick way to test where the Graphics/Metal traffic is getting routed.  With Glview, one can go to the test page, where within the guest the para-virtual adapter is shown, and only the 'render' option.  Starting a test will result in the traffic, and from the host one can see this via Activity Monitor (See attached).

0 Kudos