VMware Communities
sofakng
Contributor
Contributor

Fusion 13.5 (macOS / ARM64) - Linux 3D acceleration and shared folders aren't working

I'm running Fusion 13.5 with macOS ARM64 (Apple Silicon, M3 Max) and I can't seem to get 3D acceleration working under Linux.

The VMware settings shows "3D acceleration requires updating VMware Tools in this virtual machine." but I running very recent versions of everything:

Debian 13 (trixie; testing) - Kernel 6.5.0-5, Mesa 23.2.1, and Open VM Tools 12.3.5.

I've also tried Ubuntu 23.04 but it also doesn't work.

Shared folders is also not working showing "Shared folders will not be available in the virtual machine until VMware Tools is installed and running."

I've verified open-vm-tools is running correctly so I'm stumped.

0 Kudos
7 Replies
palter
Enthusiast
Enthusiast

You also need to install open-vm-tools-desktop.

Mac mini (M2 Pro/32GB/2TB), Intel NUC10i5FNH w/ESXi 7.0,
iPhone 15 Pro Max (256GB), iPad Pro 12.9" (5th gen, M1/16GB/1TB)
41mm Watch Series 9 (Aluminum), TV 4K (3rd gen), TV 4K (1st gen)
Tags (1)
0 Kudos
sofakng
Contributor
Contributor

Sorry, I didn't mention it but I also have that installed (with the same version of 12.3.5).

0 Kudos
Technogeezer
Immortal
Immortal


@sofakng wrote:

I'm running Fusion 13.5 with macOS ARM64 (Apple Silicon, M3 Max) and I can't seem to get 3D acceleration working under Linux.

The VMware settings shows "3D acceleration requires updating VMware Tools in this virtual machine." but I running very recent versions of everything:

Debian 13 (trixie; testing) - Kernel 6.5.0-5, Mesa 23.2.1, and Open VM Tools 12.3.5.

I've also tried Ubuntu 23.04 but it also doesn't work.

Shared folders is also not working showing "Shared folders will not be available in the virtual machine until VMware Tools is installed and running."

I've verified open-vm-tools is running correctly so I'm stumped.


I’m  also running Debian trixie/sid and Ubuntu 23.04.  3D acceleration and shared folders work with both of them.

The warnings in the Fusion GUI are normal can be ignored.  You are are running open-vM-tools in the guest which are installed and managed by the Linux distributions and not by Fusion.  Open-vm-tools does not provide an indication that they are installed to the Fusion GUI.  That results in both  3D support and shared folder settings “complaining” about the lack of VMware Tools. That does not mean that they are not available.

if you want to check that 3D support is available in the guest, make sure the mesa-utils package is installed, and that the 3D support is enabled in the VM’s settings. Then check to see if the 3D support is enabled by running glxinfo in  Terminal  Look for the Extended renderer info in the output which should indicate VMware, Inc. as the vendor, and SVGA3D as the device  

There is a known issue with both open-vm-tools and VMware Tools where the FUSE-based shared folder client does not mount shared folders at boot. To work around this with the VM running, disable and enable shared folders from the Fusion GUI - any defined shared folders should mount. This must be done every time you start the guest.

There is a more persistent solution to this

  • Verify that the directory /mnt/hgfs exists in the Linux guest. Create it if it doesn’t
  •  Add the following to /etc/fstab  in the Linux guest:
vmhgfs-fuse   /mnt/hgfs  fuse  defaults,allow_others,_netdev  0  0

Then reboot. 

 

 

- Paul (Technogeezer)
Editor of the Unofficial Fusion Companion Guides
0 Kudos
sofakng
Contributor
Contributor

Thanks so much for the information!

I think it's working now and glxinfo shows the correct driver and glxgears is also much faster.  I did recompile the kernel to include missing VMCI driver module but I'm not sure if this was required.  (I enabled logging for open-vm-tools and it mentioned not being able to create the socket which lead me to noticing the default Debian kernel didn't include VMCI)

You are also correct about the shared folder support requiring the fix that you described.

The only thing not working is shared copy-and-paste (and I do have it enabled).  Is this also a known issue or could something else be wrong?

0 Kudos
Technogeezer
Immortal
Immortal

Copy/paste of text should work. Drag/drop does not work with Wayland, it needs X11/Xorg. 

- Paul (Technogeezer)
Editor of the Unofficial Fusion Companion Guides
0 Kudos
sofakng
Contributor
Contributor

OK - So a couple of things...

1) Clipboard and drag-and-drop only seems to work on X11.  Both don't work for me using Wayland.

2) 3D acceleration still didn't work on the default Debian Testing kernel (6.5).  The vmtoolsd and vmsvc logs mentioned an error creating the vsocket.  After investigating I found the default kernel didn't enable the VMWARE_VMCI_SOCKET (CONFIG_VMWARE_VMCI_VSOCKET and CONFIG_VMWARE_VMCI).  After I installed the new kernel it works.  Perhaps these were enabled at some point but not any longer?

3) Is it possible to enable 120 Hz ("ProMotion") under Fusion?

Thanks again so much for the help!

0 Kudos
Technogeezer
Immortal
Immortal

1) Known issue that drag/drop doesn't work with Wayland. Copy/paste of text is working - just tested that out. But Copy/paste of files does not work (same as drag/drop) on Wayland.  

3) No, the VMware SVGA driver doesn't implement 120 Hz refresh rates. 

2) You would have to contact Debian to see why their default kernel did not enable VMCI for arm64.

AFAIK 3D acceleration does not depend on VMCI/vsocket. What's leading you to believe that the default kernel is not allowing 3D acceleration, as that's not what I'm seeing at all. 

I'm running the stock debian kernel and see through glmark2 that 3D acceleration is available:

with 3D enabled in the VM's settings:

root@a64deb13-vm:/var/log# glmark2
=======================================================
glmark2 2023.01
=======================================================
OpenGL Information
GL_VENDOR: VMware, Inc.
GL_RENDERER: SVGA3D; build: RELEASE; LLVM;
GL_VERSION: 4.3 (Compatibility Profile) Mesa 23.2.1-1
Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0
Surface Size: 800x600 windowed
=======================================================
[build] use-vbo=false: FPS: 3070 FrameTime: 0.326 ms
[build] use-vbo=true: FPS: 3980 FrameTime: 0.251 ms
[texture] texture-filter=nearest: FPS: 4038 FrameTime: 0.248 ms
[texture] texture-filter=linear: FPS: 3927 FrameTime: 0.255 ms
[texture] texture-filter=mipmap: FPS: 3950 FrameTime: 0.253 ms
[shading] shading=gouraud: FPS: 3934 FrameTime: 0.254 ms
[shading] shading=blinn-phong-inf: FPS: 3912 FrameTime: 0.256 ms

etc..

Without 3D acceleration enabled in the VM's settings:

prockwell@a64deb13-vm:~$ glmark2
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
=======================================================
glmark2 2023.01
=======================================================
OpenGL Information
GL_VENDOR: Mesa
GL_RENDERER: llvmpipe (LLVM 16.0.6, 128 bits)
GL_VERSION: 4.5 (Compatibility Profile) Mesa 23.2.1-1
Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=32 stencil=0 samples=0
Surface Size: 800x600 windowed
=======================================================
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[build] use-vbo=false: FPS: 257 FrameTime: 3.896 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[build] use-vbo=true: FPS: 271 FrameTime: 3.697 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=nearest: FPS: 493 FrameTime: 2.032 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=linear: FPS: 379 FrameTime: 2.645 ms
** GLX does not support GLX_EXT_swap_control or GLX_MESA_swap_control!
** Failed to set swap interval. Results may be bounded above by refresh rate.
[texture] texture-filter=mipmap:^C

Not that the renderer with 3D settings disabled in the VM's settings is "llvmpipe" - indicating software rendering. Not SVGA3D. 

You can note the dramatic difference in frame rates.

 

 

- Paul (Technogeezer)
Editor of the Unofficial Fusion Companion Guides
0 Kudos