https://bugs.winehq.org/show_bug.cgi?id=55353
Bug ID: 55353 Summary: D2D Rendering glitches in QSpice Product: Wine Version: 8.13 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: d2d Assignee: wine-bugs@winehq.org Reporter: ln@calcifer.ee Distribution: ---
Created attachment 74937 --> https://bugs.winehq.org/attachment.cgi?id=74937 Minimal log from application startup
When starting QSpice, it first displays the main canvas properly, but already the one in the lower left corner has a black background.
When loading in an example or simply adding a component, the main canvas also goes black. Symbols, text, etc. seem to be rendered properly, but only the background glitches out and becomes solid black.
The application installer is available from https://getqspice.com/InstallQSPICE.exe
Unfortunately the application checks for wine, but wine-staging with "Hide wine version from applications" enabled works.
https://bugs.winehq.org/show_bug.cgi?id=55353
ln@calcifer.ee changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|D2D Rendering glitches in |D2D Rendering glitches in |QSpice |QSPICE
https://bugs.winehq.org/show_bug.cgi?id=55353
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |https://getqspice.com/Insta | |llQSPICE.exe
https://bugs.winehq.org/show_bug.cgi?id=55353
--- Comment #1 from Ken Sharp imwellcushtymelike@gmail.com --- How are you running this? I can't get the app to create any window at all in vanilla or Staging (following install).
https://bugs.winehq.org/show_bug.cgi?id=55353
--- Comment #2 from ln@calcifer.ee --- (In reply to Ken Sharp from comment #1)
How are you running this? I can't get the app to create any window at all in vanilla or Staging (following install).
I'm simply running it like this: wine ~/.wine/drive_c/users/$USER/QSPICE/QUX.exe.
To verify it works i just created a new wine prefix, used winecfg to set the emulated OS to Windows 11 and set it to hide the wine version. I chose the install as user and not as system option, maybe that's the issue?
Otherwise i tried this on a vanilla Arch install with wine-staging 8.13. I confirmed it working insofar on two different PCs.
https://bugs.winehq.org/show_bug.cgi?id=55353
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1 CC| |leslie_alistair@hotmail.com | |, z.figura12@gmail.com Component|d2d |-unknown Product|Wine |Wine-staging
--- Comment #3 from Ken Sharp imwellcushtymelike@gmail.com ---
I chose the install as user and not as system
Yep, that was the issue, thanks!
I tried patching git with the "ntdll hide wine" patch (and winecfg patches) but the app still refuses to start, so maybe I'm doing something wrong or missing some patches.
So confirming, but I can't prove it's a Wine bug rather than something in Staging.
Setting to a Staging bug for now.
https://bugs.winehq.org/show_bug.cgi?id=55353
Y.J. Liu liuyongjin@petalmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |liuyongjin@petalmail.com
--- Comment #4 from Y.J. Liu liuyongjin@petalmail.com --- Created attachment 75013 --> https://bugs.winehq.org/attachment.cgi?id=75013 log file with WINEDEBUG=+wgl wine QUX.exe
https://bugs.winehq.org/show_bug.cgi?id=55353
--- Comment #5 from Y.J. Liu liuyongjin@petalmail.com --- I have the same problem.
ThinkPad T14, Nvidia graphic card, Linux x86_64 without 32-bit libraries support. WINE 8.13-staging AppImage download from here, https://github.com/mmtrt/WINE_AppImage/releases/download/continuous-staging/...
I installed QSPICE as system-wide, tried to place some components (say, voltage source, capacitor, ground) in a new schematic, and got the log. From the log I notice that it says "GLX_OML_swap_method not supported" and I think this is my problem.
https://bugs.winehq.org/show_bug.cgi?id=55353
Martin Širokov shirokovMartin+wine@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |shirokovMartin+wine@gmail.c | |om
--- Comment #6 from Martin Širokov shirokovMartin+wine@gmail.com --- I tracked down the issue to d2d_dc_render_target_BindDC. This bug is present in plain wine, it is not specific to wine-staging.
The problem is that QSPICE wants to draw with Direct2D on top of existing stuff drawn with GDI, but Wine's current implementation of BindDC implicitly clears everything in the RECT given to BindDC, which leads to black backgrounds and worse.
https://bugs.winehq.org/show_bug.cgi?id=55353
--- Comment #7 from Martin Širokov shirokovMartin+wine@gmail.com --- Created attachment 75057 --> https://bugs.winehq.org/attachment.cgi?id=75057 A shoddy, proof-of-concept fix
Proof-of-concept patch that makes QSPICE run just fine. The idea is to initialize the newly created d2d bitmap with pixels copied from GDI.
I'm sure this fix is ugly as sin, but I do not know Wine nor Win32 APIs enough to do any better.
https://bugs.winehq.org/show_bug.cgi?id=55353
--- Comment #8 from Y.J. Liu liuyongjin@petalmail.com --- I confirmed that the patch works. Thank you so much! Don't know if there is any side effect yet.
https://bugs.winehq.org/show_bug.cgi?id=55353
melina@spin-edservice.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |melina@spin-edservice.de