amonakov / primus

Low-overhead client-side GPU offloading
ISC License
216 stars 20 forks source link

Endless legend (wine) sometimes displays black screen after alt-tab #179

Open XapaJIaMnu opened 8 years ago

XapaJIaMnu commented 8 years ago

Hey,

The game Endless legend sometimes refuses to properly restore to focus after being minimized. When that happens the console is spammed with:

...
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
...

Until the game is killed. I run it also with PRIMUS_VERBOSE=2 and I got the same log:

...
primus: profiling: readback: 1920x1080, 43.4 fps, 27.7% app, 26.5% sleep, 1.1% map, 44.7% wait
primus: profiling: display: 1920x1080, 43.4 fps, 42.9% wait, 8.0% upload, 49.2% draw+swap
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: profiling: readback: 1920x1080, 5.7 fps, 21.1% app, 68.9% sleep, 9.9% map, 0.1% wait
primus: profiling: display: 1920x1080, 5.7 fps, 99.0% wait, 0.8% upload, 0.2% draw+swap
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: profiling: readback: 1920x1080, 7.1 fps, 12.4% app, 78.1% sleep, 9.6% map, 0.0% wait
primus: profiling: display: 1920x1080, 7.1 fps, 98.8% wait, 0.9% upload, 0.3% draw+swap
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
primus: warning: glXSwapBuffers: drawable not current
...

Any ideas what could be causing it?

Cheers,

Nick