As noted previously, recent versions of WSL (Windows Subsystem for Linux) now support WSLg on both Windows 10 and 11. WSLg allows full GUI support over Weyland or a built-in X11 server. This is a game-changer: no longer do you have to start an X11 server before running ROOT, and it seems to display much faster than using a native Windows X11 server.
Displaying output works really nicely and quickly, but unfortunately the ROOT GUI menus are almost unusable. The problem is that the menu pops up on a different part of the screen, detached from its parent. This is definitely a WSLg display problem, because I see the issue whether I run ROOT locally in my (CentOS7 or Ubuntu) WSL distro, or remotely from lxplus (7, 8, or 9) with the X11 tunneling over ssh. I see the same behaviour with ROOT 6.22 and 6.28. On the other hand, I never see this issue using a native Windows X11 server.
Does ROOT (primarily ROOT built for LCG on CentOS/Alma) use Qt4 for its X11 GUI? Or is there a commonality that could explain why ROOT sees this problem? I’m asking here, because there doesn’t seem to be much activity in fixing the bug in WSL. If the only advice is to “upgrade to Qt5”, then it would be good to have some feedback about whether that (or something analogous) is possible for ROOT.
At the very least we can feed back this information to the WSL github issue. Best of all is if we can come up with a workaround or fix to get ROOT to work with WSLg. (Probably off-topic, but can ROOT use Weyland directly?)
I’m surprised I can’t find more reports of this issue, so just possibly it doesn’t affect everyone. If so, it would be great to hear from anyone for whom the WSLg GUI works correctly. Maybe I (and one or two others) have some setting or installation that can be fixed.
ROOT Version: 6.28/00, 6.22/06
Platform: x86_64-centos9, x86_64-centos7, x86_64-ubuntu2004
Compiler: gcc12, gcc11, gcc9