http://bugs.winehq.org/show_bug.cgi?id=6971
--- Comment #294 from Toni Spets toni.spets@iki.fi 2009-12-08 10:53:59 --- (In reply to comment #291)
The simple fact is, this bug matters to a great many people, the pile of hacks dispersed here added value to the many gamers who needed them to be able to play their favorite games, regardless of any technical review process, opinion, or conflict issues.
I am all for openness, reasoned discourse, and solving bugs that matter to people.
While I do not agree with the hacks either, I do see a strong need for a solution to this problem, I look forward to the supposed XInput2 solution, but for many users this problem can not wait.
For this reason I must bring up the topic of DGA mouse grab again, so here is a proposal for pre-XInput2 xorg versions:
Lock the mouse using DGA to grab raw mouse deltas, provide the illusion of normal mouse movement using XWarpPointer, release grab whenever a mouse click occurs outside the game window or the application focus changes (due to window manager shortcuts).
DGA disables mouse movement and grabs the raw deltas, so this satisfies both aspects of the cooperative mode (mouse moves around with XWarpPointer, while deltas are captured even at borders), there might be a one-refresh pointer lag involved but this is not perceptible, no keyboard grab is used so the standard window manager shortcuts work (alt-tab and so on) to defocus the application, and it might eat a mouse click when clicking outside the game window to defocus the application but this is not a critical problem.
I can confirm that DGA works on OpenSUSE 11.2 and Ubuntu 9.10 (both current distributions), and this seems far more robust than any of the hacks released thus far.
It's clear that this discussion will only end when users can play their games without game-specific hacks.
Though, with KMS/DRI2, DGA is finally killed for good. It's not enabled by default yet, but it's going to happen sometime soon.
Maybe Intel had KMS enabled for Ubuntu 9.10? Radeon is still a little behind.
DGA would not be even a good short term solution.
But on (radeon) KMS/DRI2 I didn't even need DGA in native Quake 2 to keep my cursor inside the window, I don't know what else has changed or is my sensitivity just too slow.
My two cents.