VMware Workstation

 View Only

 Wayland support

Miljan Mitrovic's profile image
Miljan Mitrovic posted Jun 05, 2025 06:06 AM

I use Linux as a host, for various other reasons. And VMWare Workstation used to work just fin in X11, but now I have migrated to Wayland, among other things because my prefered distro, popos, made its own DE called COSMIC and it uses Wayland based compositor. 

Any idea how I can get my Alt-Tab (and other shortcuts) to work inside a vmware guest OS without being ingested by COSMIC compositor before that?

I know keyboard grabbing is not allowed in Wayland for security reasons, but there should be a support for it through Wayland Keyboard shortcuts inhibit protocol (https://wayland.app/protocols/keyboard-shortcuts-inhibit-unstable-v1)

Does VMWare console even support this protocol? 
Its definitely running as a native GTK app on Wayland (xeyes confirms), but nothing I do seems to work, host always keeps the control.

I even tried forcing the vmware process to use XWayland, but then no shortcuts work at all (Alt-Tab doesnt tab guest or host windows).


Ian Forbes's profile image
Broadcom Employee Ian Forbes

This is a deficiency of how Xwayland handles nested windows. You maybe able to get it working by using Xwayland in rootfull mode but rootfull has its own set of challenges. The protocol you listed is implemented by Xwayland, not Workstation, and doesn't work properly with nested windows, which Workstation uses liberally. 

Miljan Mitrovic's profile image
Miljan Mitrovic

@Ian Forbes

Thanks for replying. I do get why things wouldn't really work under XWayland unless in rootfull. And I know that XWayland implements the protocol, but as you say, it doesnt really work as advertisied in XW. 

But the more I read about this, as a developer, I think that YOU have to implement it too. Workstation is a native GTK app, and GDK implements this protocol and exposes it through its library. If a native app running in Wayland wants to inhibit system shortcuts they must ask for it directly. And Workstation is a native GTK application. 

I tried it with a small app, and it works properly on Wayland. Ultimately, check if on Wayland, and if so, dont use X11 keybaord grab, use Wayland protocol. 

This is the method call that you should implement:

https://docs.gtk.org/gdk4/method.Toplevel.inhibit_system_shortcuts.html

So I think this should be escalated to the development team, and should be addressed sooner than later since Wayland is now almost fully covered by AMD and NVidia and is moving in fast to replace X11. 

Ian Forbes's profile image
Broadcom Employee Ian Forbes

Workstation uses GTK3, not GTK4, and contains a significant amount of X11 specific code. The solutions is not as simple as calling a single function.

Miljan Mitrovic's profile image
Miljan Mitrovic

@Ian Forbes

ah, ok, makes sense. 

Do you already have some timeline set for upgrading to GTK4 and implementing these changes? I mean Wayland is already here, and with both AMD and Nvidia blowing in its sails, its adoption is getting higher by the day. 

Either way, I need to plan my next moves, would be beneficial if we knew when and if Workstation will join the bandwagon. 

Thanks,

/m

Ian Forbes's profile image
Broadcom Employee Ian Forbes

This will be resolved in the next version of WS. If you can't wait you can patch Xwayland with this change: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2016