microsoft / wslg

Enabling the Windows Subsystem for Linux to include support for Wayland and X server related scenarios
MIT License
9.91k stars 296 forks source link

Subwindows / Detached Windows from applications do not respond #948

Open esbiete opened 1 year ago

esbiete commented 1 year ago

Windows build number:

22623.0

Your Distribution version:

22.04

Your WSL versions:

Versión de WSL: 1.0.3.0 Versión de kernel: 5.15.79.1 Versión de WSLg: 1.0.47 Versión de MSRDC: 1.2.3575 Versión de Direct3D: 1.606.4 Versión DXCore: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Versión de Windows: 10.0.22623.1037

Steps to reproduce:

On a new WSL2 installation I installed Ardour (from distro) to test if music/sound works. After a slow start I got to the main window and tried to add a new track. This action opens a subwindow to select track type: this window draws correctly but unresponsive, you cannot even move or close it, but main window works correctly. I click on "X" to close Ardour and a verification window to quit appears (this subwindow works), but when clicking on YES, another subwindow appear advising to save, and this doesn't work. To exit CTRL+C on shell.

Reproduce: 1) Once Ardour is installed, open it, select "PulseAudio" and start a new project 2) Click on "Add new Track" 3) A new window appear that you cannot interact 4) Click on right-top X to close Ardour, a "Quit Ardour" window appears, click Yes 5) An "Unsaved Session" appears you cannot interact 6) Get back to shell and CTRL+C

image

It seems related to https://github.com/microsoft/wslg/issues/722

[15:25:04.895] Client: ClientGetAppidReq: pid:4453 appId:Ardour-7.2.78 [15:25:10.613] app_list_monitor_thread: readlink failed /proc/4453/exe:No such file or directory [15:25:10.613] Client: ClientGetAppidReq: WindowId:0x9c does not have appId, or not top level window.

Just in case, I downloaded ardour sources and recompiled from scratch: same behaviour.

WSL logs:

WslLogs-2023-01-05_06-03-56.zip pulseaudio.log weston.log wlog.log stderr.log

WSL dumps:

No response

Expected behavior:

Subwindows or derived windows should behave normally

Actual behavior:

subwindows or derived windows are not usable/interactive

borjamunozf commented 1 year ago

Really similar issue to what my team has been experiecing with a custom GUI application in C++ after upgrading to W11 + WLS2. Some popups & subwindows become blocked/unavailable.

The only way to get back the expected behaviour was disabling the wslg system and return to Vxcsrvr:

On .wslconfig

[wsl2]
guiApplications=false

Then wsl --shutdown

Setup the $DISPLAY variable and turn on the Vxsrv: (download).

esbiete commented 1 year ago

Borja,

I disabled wslg and installed VcXSrv (thanks for the link). I tested again and now all dialog/popus windows are working as expected. Ardour (the app I'm doing the test) is also a C++ development using GTK.

Now let's see what happens on the next released.

Thanks!

Robbson commented 1 year ago

Same here 😐. Just after trying to edit some settings in gedit. Well, the traditional way using good old VcXSrv always works but... we want to use wslg and its great performance, isn't it?

sh-shahrokhi commented 7 months ago

Any news about this? it makes wslg useless for me

wachidsusilo commented 7 months ago

Still not fixed yet?

casella commented 2 months ago

This is also problematic for the OpenModelica/OMEdit software, see OpenModelica/OpenModelica#12207

It would be nice to get it fixed so we can use OMEdit under WSL.

Thanks!

ericcano commented 1 month ago

I would also love to see this fixed. A very quick and very dirty workaround for Ardour at least is to run ardour in Xnest + a window manager (tested on Ubunty 24.04)

Xnest -br -background none $(xwininfo -root | grep geometry) :1 & DISPLAY=:1 icewm & DISPLAY=:1 ardour

It can be improved, but that gets the things done with packages readily provided with Ubuntu.