https://bugs.winehq.org/show_bug.cgi?id=46707
Bug ID: 46707 Summary: Microsoft Word 2019 freeze the whole screen on nouveau driver with CSMT enabled Product: Wine Version: 4.2 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: minor Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: peathot@hotmail.com Distribution: ---
Created attachment 63673 --> https://bugs.winehq.org/attachment.cgi?id=63673 Console output with CSMT enabled
When using Microsoft Word 2019 (version 1902, build 11328.20100, installed via Office 365) for a while, the program, followed by the whole screen, will freeze. The mouse pointer is still movable, and I can SSH into the machine and kill WINWORD.EXE. After a moment, the screen will become usable again.
By disabling CSMT in registry (HKCU/Software/Wine/Direct3D, csmt=dword:00000000), the problem doesn't occurred. The console output for both when CSMT is enabled and disabled is attached. Also, the kernel messages when CSMT is enabled is attached (there's no kernel messages when CSMT is disabled).
This is Wine 4.2 on Xubuntu 18.04. The machine is Mac Mini early 2009 with Nvidia Geforce 9400m [1]. The graphic stack is mesa + nouveau (i.e. Nvidia proprietary driver is not installed).
The MS Office is installed using the instructions from [2]. The first registry workaround is also used.
Actually, the kernel messages suggests that it's nouveau fault. From my research, it seems like nouveau doesn't like OpenGL calls from multiple thread [3][4]. If it's actually nouveau's fault, I guess we could disable CSMT by default if we detect nouveau driver?
[1] Yes, it's a bit old. But this same machine can run this software on Windows 10. So, it's not the problem. [2] https://appdb.winehq.org/objectManager.php?sClass=version&iId=35527&... [3] https://bugs.freedesktop.org/show_bug.cgi?id=92438#c39 [4] https://bugreports.qt.io/browse/QTBUG-73715
https://bugs.winehq.org/show_bug.cgi?id=46707
--- Comment #1 from Ratchanan Srirattanamet peathot@hotmail.com --- Created attachment 63674 --> https://bugs.winehq.org/attachment.cgi?id=63674 Console output with CSMT disabled
https://bugs.winehq.org/show_bug.cgi?id=46707
--- Comment #2 from Ratchanan Srirattanamet peathot@hotmail.com --- Created attachment 63675 --> https://bugs.winehq.org/attachment.cgi?id=63675 Kernel messages with CSMT enabled
https://bugs.winehq.org/show_bug.cgi?id=46707
Ratchanan Srirattanamet peathot@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Distribution|--- |Ubuntu Keywords| |hardware
https://bugs.winehq.org/show_bug.cgi?id=46707
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |NOTOURBUG Status|UNCONFIRMED |RESOLVED
--- Comment #3 from Matteo Bruni matteo.mystral@gmail.com --- Yes, you are correct. Nouveau has known issues with processes using OpenGL from multiple threads / contexts and Word 2013+ with CSMT enabled does exactly that.
I don't think always disabling CSMT on Nouveau is a good idea, most applications only use one d3d device (which means only one thread / GL context in Wine) and those generally work better with CSMT enabled. We could potentially introduce a quirk / hack to make sure only one (command stream) thread at a time executes GL calls on Nouveau, which should workaround the issue without the downsides I just mentioned. Not sure that's a good idea though.