https://bugs.winehq.org/show_bug.cgi?id=57655
Bug ID: 57655 Summary: SketchUp8: frozen viewport - OpenGL 'function is no-op' after Save or Export Product: Wine Version: 10.0-rc4 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: opengl Assignee: wine-bugs@winehq.org Reporter: tj.iam.tj@proton.me Distribution: ---
Created attachment 77816 --> https://bugs.winehq.org/attachment.cgi?id=77816 ZIP debug log (26MB uncompressed)
The SketchUp 8 viewport stops being updated after a File > Save or File > Export operation. All other interactivity (menus, toolbars, cursor icon) continues to work.
This has affected SketchUp8 for many releases; back to 3.x at least but I've never been able to figure it out or determine the debugging steps to generate clues... until today!
Seems to be cross-distro (well Debian and derivatives). Currently Debian 12 Bookworm amd64 with kernel v6.12.8. GPU is:
$ lspci -nnk -d ::0300 0a:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cape Verde GL [FirePro W4100] [1002:682c] Subsystem: Dell Cape Verde GL [FirePro W4100] [1028:2b1e] Kernel driver in use: radeon Kernel modules: radeon, amdgpu
I /think/ this also affected hosts using nouveau but it is a long time since I operated a host with Nvidia GPU so may be mistaken.
Now to the clue. Using:
$ env LIBGL_DEBUG=verbose WINEDEBUG=+timestamp,+opengl,+module WINEPREFIX=~/.local/share/wineprefixes/SketchUp8 wine ./SketchUp.exe |& /usr/bin/tee /tmp/wine-opengl.log
and leaving long pauses between each operation so as to match timestamps and annotate them later in the log-file I discovered that after a File > Save operation (where the application creates several new Contexts then switches back to the original, from then onwards all GL function calls result in:
function is no-op
E.g:
197291.329:0138:trace:module:MODULE_InitDLL (762A0000 L"Skp2Xsi.dll",THREAD_ATTACH,00000000) - CALL 197291.329:0138:trace:module:MODULE_InitDLL (762A0000,THREAD_ATTACH,00000000) - RETURN 1 # 197311 Try to rotate; viewport does not react 197311.444:0024:trace:opengl:wglMakeCurrent hDc 1101009C, newContext 00011000 197311.444:0024:trace:opengl:glLineWidth width 1.000000 function is no-op 197311.444:0024:trace:opengl:glDisable cap 2852 function is no-op 197311.444:0024:trace:opengl:glDisable cap 2896 function is no-op 197311.444:0024:trace:opengl:glColor4ub red 0, green 0, blue 0, alpha 255 function is no-op 197311.444:0024:trace:opengl:glMatrixMode mode 5888 function is no-op 197311.444:0024:trace:opengl:glLoadIdentity function is no-op 197311.444:0024:trace:opengl:glLightfv light 16384, pname 4611, params 0031F92C function is no-op
In the attached log I have annotates the beginning of each operation with a line of the form:
# ${timestamp} ${description}
so they are easy to grep/search. As is seen in the extract above the bug is evidenced starting at:
# 197311 Try to rotate; viewport does not react
The complete list of annotations is:
$ grep '^# ' wine-opengl.log # $ env LIBGL_DEBUG=verbose WINEDEBUG=+timestamp,+opengl,+module WINEPREFIX=~/.local/share/wineprefixes/SketchUp8 wine ./SketchUp.exe |& /usr/bin/tee /tmp/wine-opengl.log # 197184 Application start # 197223 File > open recent # 197259 Rotate viewport # 197287 File > Save # 197311 Try to rotate; viewport does not react # 197348 File > Exit
https://bugs.winehq.org/show_bug.cgi?id=57655
Iam_Tj tj.iam.tj@proton.me changed:
What |Removed |Added ---------------------------------------------------------------------------- Distribution|--- |Debian
https://bugs.winehq.org/show_bug.cgi?id=57655
--- Comment #1 from Iam_Tj tj.iam.tj@proton.me --- I've done another run with more channels enabled - log file is 786MB uncompressed. Best compressed size I can achieve is 11MB with `zstd --ultra` but still 1MB too big for attachments here.
Command line is:
$ env LIBGL_DEBUG=verbose WINEDEBUG=+timestamp,+pid,+seh,+relay,+opengl,+module WINEPREFIX=~/.local/share/wineprefixes/SketchUp8 wine ./SketchUp.exe |& /usr/bin/tee ~/Lab/wine-opengl.4.log