http://bugs.winehq.org/show_bug.cgi?id=7640
--- Comment #26 from Vitaliy Margolen vitaliy@kievinfo.com 2008-06-12 18:50:40 --- (In reply to comment #25)
Since Wine's x11drv is single-threaded you see exact affects from this. Until dinput gets it's data from X11 there is nothing can be done about what you are seeing.
Is that the root cause of this entire bug? If so, why did it start happening only recently? The behavior I described (mouse movement speed changing randomly in Call of Duty) is very recent; in earlier versions of Wine, it worked fine.
More then 1 year ago is recently? Also don't forget that drivers are changing. And there were lots of code in d3d/opengl/gdi put under the x11drv lock. That indeed was recent change.
Of course you can always run regression testing to identify the patch. However I'm not sure how close you will get. All depends on the game and what parts of the Wine it's using.