Ticket #282 (assigned usability)

Opened 3 years ago

Last modified 16 months ago

GLX: Surface ID invalid after FUS

Reported by: hoehle@… Owned by: jeremyhu@…
Priority: Important Milestone: later
Component: GLX Version: 2.3.3 (xserver-1.4.2-apple42)
Keywords: Cc:

Description

Hi,

I'm using MacOS 10.5.7 and XQuartz 2.3.3.2 on an "early 2009" nVidia Mac mini.

When X11 is running, with no client, switching to another desktop user (without logging out) and back again causes the desktop background to become completely white, except from the icons. No background picture is shown anymore. Terminating X11 resumes normal behaviour (resuming functional icons and the background picture that I've set to change every few minutes).

On the white background, the desktop icons on the right hand side are drawn, but dead: just as if they were pictures only. The top menu line is drawn, but functional. Beside that, the screen is completely white - like erased by xsetbg.

Alt-TAB shows the running applications, permits to switch to X11.app and quit it.

Switching users is not enough to produce this bug. Wine must have been started and terminated (by the first user). Obviously Wine is doing something on behalf of one or another applications that persists even after Wine and any other X clients terminate, and is noticeable only by switching users.

I still need to investigate which .exe produce this effect. Simply running "wine winecfg" or regedit.exe is not enough.

winecfg is set to 800x600 virtual desktop mode (full screen does not seem to work?). I've compiled Wine-1.1.23 myself using nothing but the packages found on Apple's install DVD and XQuartz: no Fink, no MacPorts.

Regards,

Jörg Höhle

Change History

Changed 3 years ago by jeremyhu@…

  • status changed from new to assigned
  • version set to 2.3.3 (xserver-1.4)
  • milestone set to 2.4.0

What do you mean by background? Do you mean the X root window? Are you in fullscreen mode in X11 or rootless mode?

Changed 3 years ago by jeremyhu@…

  • milestone changed from 2.4.0 to 2.4.1

Changed 2 years ago by jeremyhu@…

  • milestone changed from 2.5.0 to 2.5.1

Changed 22 months ago by jeremyhu@…

  • status changed from assigned to closed
  • resolution set to worksforme

no response from submitter. I cannot reproduce this problem.

Changed 21 months ago by mmajchrowicz@…

  • status changed from closed to reopened
  • resolution worksforme deleted

I can confirm that this bug is still present in version 2.5.0. In order to reproduce it you have to run a DX game (for me worked only with DX9 games) in full screen mode. For instance this one:  http://www.gamershell.com/download_14534.shtml. If I run it in windowed mode and change it to full screen everything works fine but if I try to run full screen mode directly I get bunch of these:

fixme:d3d:swapchain_init Add OpenGL context recreation support to context_validate_onscreen_formats
Thu May 13 06:32:38 MacBookPro.local wine[79141] <Error>: kCGErrorIllegalArgument: CGSGetSurfaceBounds
Thu May 13 06:32:38 MacBookPro.local wine[79141] <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
Thu May 13 06:32:38 MacBookPro.local wine[79141] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xedb1
Thu May 13 06:32:38 MacBookPro.local wine[79141] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xedb1
Thu May 13 06:32:38 MacBookPro.local wine[79141] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xedb1
Thu May 13 06:32:38 MacBookPro.local wine[79141] <Error>: unknown error code: invalid drawable
Thu May 13 06:32:38 MacBookPro.local wine[79141] <Error>: kCGErrorIllegalArgument: CGSGetWindowBounds
Thu May 13 06:32:38 MacBookPro.local wine[79141] <Error>: kCGErrorIllegalArgument: CGSGetSurfaceBounds
Thu May 13 06:32:38 MacBookPro.local wine[79141] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xedb1
Thu May 13 06:32:38 MacBookPro.local wine[79141] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xedb1
Thu May 13 06:32:38 MacBookPro.local wine[79141] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xedb1
Thu May 13 06:32:38 MacBookPro.local wine[79141] <Error>: unknown error code: invalid drawable
Thu May 13 06:32:38 MacBookPro.local wine[79141] <Error>: kCGErrorIllegalArgument: CGSGetWindowBounds
Thu May 13 06:32:38 MacBookPro.local wine[79141] <Error>: kCGErrorIllegalArgument: CGSGetSurfaceBounds
Thu May 13 06:32:38 MacBookPro.local wine[79141] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xedb1
Thu May 13 06:32:38 MacBookPro.local wine[79141] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xedb1
Thu May 13 06:32:38 MacBookPro.local wine[79141] <Error>: kCGErrorIllegalArgument: CGSBindSurface: Invalid window 0xedb1
Thu May 13 06:32:38 MacBookPro.local wine[79141] <Error>: unknown error code: invalid drawable
fixme:d3d:buffer_PreLoad Too many declaration changes or converting dynamic buffer, stopping converting

Changed 21 months ago by jeremyhu@…

  • priority changed from minor to major
  • summary changed from white screen after switching back from another desktop user and using Wine to GLX: Surface ID invalid after FUS
  • component changed from xserver to GLX
  • milestone changed from 2.5.1 to OSX

Changed 21 months ago by jeremyhu@…

  • milestone changed from OSX to later

< rdar://problem/7979420> GLX: SurfaceID becomes stale after FUS

Changed 21 months ago by jeremyhu@…

  • milestone changed from later to 2.5.2

Changed 19 months ago by jeremyhu@…

We may want to address this and #420 at the same time with some kind of "update DRI context" API

Changed 19 months ago by jeremyhu@…

  • milestone changed from 2.5.2 to later

Changed 19 months ago by jeremyhu@…

  • status changed from reopened to new

Changed 19 months ago by jeremyhu@…

  • status changed from new to assigned

Changed 19 months ago by mmajchrowicz@…

I think this problem is similar (or even the same) to #420. Did you test this game? At the start (in "fullscreen mode") it first displays small windows (for a second or shorter) and after that the windows is "changed" to fullscreen mode so it may work the same. But as I have said before If I run the game in windowed mode. It does something like this: displays small window for short period of time. Dispisplays "normal" game window. And after manually switching to full screen mode it works nicely. Maybe it's some kind of race condition?

Changed 19 months ago by jeremyhu@…

Yes, that is what I meant by my statement above. The underlying similarity is that the GLX clients have a stale CoreGraphics context.

Changed 19 months ago by mmajchrowicz@…

I've noticed you changed milestone to "later". Does it mean can't expect anything (even "quick fix") soon?

Note: See TracTickets for help on using tickets.