http://bugs.winehq.org/show_bug.cgi?id=32107
Bug #: 32107 Summary: (Regression) Steam overlay corruption (+TF2?) Product: Wine Version: 1.5.16 Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: FinalCrisisSX@Hotmail.com Classification: Unclassified
The steam overlay started to have major corruption issues at some point near the middle of the 1.5.x series. It may or may not be Team Fortress 2 centric.
I thought my nvidia card was just having issues, but a friend on an ATI card that has no trouble on tf2 in windows had the exact same problem. After loading TF2 and opening the steam overlay, most text becomes all garbled with random bits of memory. It is most noticeable and easily identified on the clock in the upper middle of the screen, as seen in the image attachment. The clock will count as normal up to a certain point, then just break and display garbage, count backwards, disappear, or display a random recently-passed (or soon-to-come?) time stamp for a moment. Peoples' display names and messages will show up as random bits of data: games, random bits of older messages probably from memory thrown together, IP addresses, broken pseudo-images.. Some of it is actually kind of funny. Wine 1.4.1 works fine. Anyway, I ran a regression test and this seems to be the problem:
67e7eda96c16417526e9659be0eeecf2b6edd4c1 is the first bad commit commit 67e7eda96c16417526e9659be0eeecf2b6edd4c1 Author: Alexandre Julliard julliard@winehq.org Date: Mon Jun 25 22:45:28 2012 +0200
gdi32: Forward SwapBuffers to opengl32 which in turn calls GdiSwapBuffers.
:040000 040000 4ca83835d1da687e0bd19a6dec2314aaaa057bf4 f939689a1fe2430c1020d72167c7a0690561c536 M dlls
http://bugs.winehq.org/show_bug.cgi?id=32107
--- Comment #1 from Brandon Howard FinalCrisisSX@Hotmail.com 2012-10-30 15:17:49 CDT --- Created attachment 42338 --> http://bugs.winehq.org/attachment.cgi?id=42338 Corrupt clock in overlay
http://bugs.winehq.org/show_bug.cgi?id=32107
--- Comment #2 from Frozen Fox FinalCrisisSX@Hotmail.com 2012-10-30 15:24:33 CDT --- Also, if it is of any importance, this occurs on KDE or Xfce, in Arch Linux up to date or Linux Mint 13. All machines tested were 64 bit. Wine on my machine was compiled for 32 bit support only, their machine was the default 64+32. Nvidia or Ati don't seem to matter.
http://bugs.winehq.org/show_bug.cgi?id=32107
--- Comment #3 from Alexandre Julliard julliard@winehq.org 2012-10-30 17:28:41 CDT --- You could try to make SwapBuffers DECLSPEC_HOTPATCH and see if it helps.
http://bugs.winehq.org/show_bug.cgi?id=32107
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression CC| |julliard@winehq.org Summary|(Regression) Steam overlay |Steam overlay corruption |corruption (+TF2?) |(+TF2?) Regression SHA1| |67e7eda96c16417526e9659be0e | |eecf2b6edd4c1
http://bugs.winehq.org/show_bug.cgi?id=32107
--- Comment #4 from Frozen Fox FinalCrisisSX@Hotmail.com 2012-10-30 21:06:18 CDT --- (In reply to comment #3)
You could try to make SwapBuffers DECLSPEC_HOTPATCH and see if it helps.
I'm sorry, I don't understand what you are asking me to do. What I thought you meant doesn't appear to be so. Please elaborate?
http://bugs.winehq.org/show_bug.cgi?id=32107
--- Comment #5 from Austin English austinenglish@gmail.com 2012-10-31 00:47:33 CDT --- (In reply to comment #4)
(In reply to comment #3)
You could try to make SwapBuffers DECLSPEC_HOTPATCH and see if it helps.
I'm sorry, I don't understand what you are asking me to do. What I thought you meant doesn't appear to be so. Please elaborate?
You'll want to change: dlls/gdi32/opengl.c:BOOL WINAPI SwapBuffers( HDC hdc )
to: dlls/gdi32/opengl.c:BOOL WINAPI DECLSPEC_HOTPATCH SwapBuffers( HDC hdc )
then recompile
http://bugs.winehq.org/show_bug.cgi?id=32107
--- Comment #6 from Frozen Fox FinalCrisisSX@Hotmail.com 2012-10-31 19:07:30 CDT --- (In reply to comment #5)
(In reply to comment #4)
(In reply to comment #3)
You could try to make SwapBuffers DECLSPEC_HOTPATCH and see if it helps.
I'm sorry, I don't understand what you are asking me to do. What I thought you meant doesn't appear to be so. Please elaborate?
You'll want to change: dlls/gdi32/opengl.c:BOOL WINAPI SwapBuffers( HDC hdc )
to: dlls/gdi32/opengl.c:BOOL WINAPI DECLSPEC_HOTPATCH SwapBuffers( HDC hdc )
then recompile
Patched and compiled successfully, tried on both wine 1.5.13 and 1.5.16 (I have other quirks on versions after 14ish that I am trying to get worked out and reported :p).. it doesn't help. Corruption still occurs. Although it did seem to make the overlay work more smoothly.. but that could just be my imagination. The overlay just automatically closed itself after opening it, after some variable period of time, then corrupted after a little while too. It did take a little more work to get the corruption to show up (opening and closing the thing, moving some windows around, etc) than usual, but that is probably coincidental.
http://bugs.winehq.org/show_bug.cgi?id=32107
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |13f126498be00f4c34eb212dabc | |23f34d4864de3
--- Comment #7 from Alexandre Julliard julliard@winehq.org 2012-12-06 17:47:43 CST --- May be fixed by 13f126498be00f4c34eb212dabc23f34d4864de3.
http://bugs.winehq.org/show_bug.cgi?id=32107
--- Comment #8 from Frozen Fox FinalCrisisSX@Hotmail.com 2012-12-09 16:48:24 CST --- (In reply to comment #7)
May be fixed by 13f126498be00f4c34eb212dabc23f34d4864de3.
After testing for about 20 minutes on the latest vanilla git (sometime 1.5.19+ for those seeing this later), this bug does appear to have been fixed. I haven't managed to force it to the surface again so far. Thanks. :)
http://bugs.winehq.org/show_bug.cgi?id=32107
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #9 from Alexandre Julliard julliard@winehq.org 2012-12-09 17:10:55 CST --- Fixed.
http://bugs.winehq.org/show_bug.cgi?id=32107
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #10 from Alexandre Julliard julliard@winehq.org 2012-12-21 13:27:56 CST --- Closing bugs fixed in 1.5.20.
https://bugs.winehq.org/show_bug.cgi?id=32107
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Component|-unknown |directx-d3d