You are not logged in.

#1 2012-03-17 20:57:05

hickop
Member
Registered: 2009-09-07
Posts: 35

[FIXED] Xorg 1.12, cursor jumps in Wine

Hello
The recently updated xorg-server (or xf86-input-evdev maybe, as it was updated too), makes my cursor crazy jumping only with some games under Wine.

I'm using Wireless Logitech MK700 keyboard/mouse set.

Noticed this behavior with those games:

Age of Empires (running fullscreen, emulating desktop does not produce cursor jumps)
Civilization IV (minor jumps sometimes)
Diablo II (singleplayer mode only, i'm using a glide wrapper)

Downgrading Wine did nothing.
Downgrading xorg-server and xf86-input-evdev fixed jumps.

Anyone else noticed this ? which games ? which configuration ?

Edit: Fixed for me with xorg-server-1.12.0.901

Last edited by hickop (2012-04-01 21:33:12)

Offline

#2 2012-03-18 02:44:15

FrozenFox
Member
From: College Station, TX
Registered: 2008-03-23
Posts: 422
Website

Re: [FIXED] Xorg 1.12, cursor jumps in Wine

Yep. I had the same trouble with Team Fortress 2. x86_64, nvidia drivers, logitech g500, up to date.

I had no mouse issues on xorg-server 1.11.4, xf86-input-evdev 2.6.0-4, linux 3.2.9, nvidia 295.20.

Mouse freaking out occurred with xorg-server 1.12.0, xf86-input-evdev 2.7.0-1, linux 3.2.9, nvidia 295.20. Recompiled wine out of curiosity, no dice.

Due to other unrelated issues (tf2 hanging occasionally) I'm attempting to resolve, I'm currently downgraded to xorg-server 1.10.4-1, xf86-input-evdev 2.6.0-3, linux 3.0.6-2, and nvidia 280.13 and all is well too.

Offline

#3 2012-03-18 09:40:33

blob
Member
Registered: 2006-08-29
Posts: 15

Re: [FIXED] Xorg 1.12, cursor jumps in Wine

I have the same issue with all Mass Effect games.
The wine devs are aware of this.

http://bugs.winehq.org/show_bug.cgi?id=30057

According to the bug report this is an xorg bug, which has been fixed upstream.

This tiny patch fixed the problem for me in the mean time.

diff --git a/dlls/winex11.drv/mouse.c b/dlls/winex11.drv/mouse.c
index 332b71d..86b42fc 100644
--- a/dlls/winex11.drv/mouse.c
+++ b/dlls/winex11.drv/mouse.c
@@ -1521,7 +1521,7 @@ void X11DRV_EnterNotify( HWND hwnd, XEvent *xev )
 static void X11DRV_RawMotion( XGenericEventCookie *xev )
 {
     XIRawEvent *event = xev->data;
-    const double *values = event->valuators.values;
+    const double *values = event->raw_values;
     INPUT input;
     int i, j;
     double dx = 0, dy = 0;

Offline

#4 2012-03-23 05:14:29

smudge
Member
Registered: 2011-03-20
Posts: 135

Re: [FIXED] Xorg 1.12, cursor jumps in Wine

There's now an xorg-server patch that fixes this bug. I've tested it and it works.

http://patchwork.freedesktop.org/patch/9595/

Offline

#5 2012-03-23 11:46:22

sidh
Member
Registered: 2011-11-10
Posts: 5

Re: [FIXED] Xorg 1.12, cursor jumps in Wine

Sorry, can you tell me how I must use this patch? I never done this before (patching xorg). Thank!

Offline

#6 2012-03-23 13:25:21

FrozenFox
Member
From: College Station, TX
Registered: 2008-03-23
Posts: 422
Website

Re: [FIXED] Xorg 1.12, cursor jumps in Wine

sidh wrote:

Sorry, can you tell me how I must use this patch? I never done this before (patching xorg). Thank!

https://wiki.archlinux.org/index.php/ABS
https://wiki.archlinux.org/index.php/Pkgbuild

You should get some understanding of the above.

Basically, you need to get the package build script + related files for xorg-server (pkgbuild), edit them to include the patch line, build it, then install. Pretty straightforward thanks to arch's package format / build process.

1. Be sure you have the base-devel package group installed via pacman.
2. Get the PKGBUILD stuff for xorg-server. You can get it via abs or a pkgbuild grabbing tool (I use "pbget") or just go download the files manually from http://www.archlinux.org/packages/ ("source files"). You need all files associated with the package. In this case, there are 7 including the pkgbuild itself.
3. Put it in it's own folder somewhere for simplicity. I have a folder ~/build where I put everything, ie ~/build/xorg-server.
4. Put the patch text into a file in this same folder or otherwise place the patch there.
5. Edit the PKGBUILD file. In the build() section, you normally just put a patch line below the initial cd line corresponding to your patch. In this case, the pkgbuild already has several patches, so it's not hard to figure out where to put another one. If you named your patch xorginputfix.patch,
patch -Np1 -i "${srcdir}/xorginputfix.patch"
6. It's not necessary for your private pkgbuild, but if you really want to be proper, add the source and md5sum lines for your patch.
7. Makepkg -cis as usual to build and install. Depending on the patch structure, the patch may complain about not being able to find the file it's supposed to patch. In such a case, try changing the -Np1 to -Np0 in the patch line.

Last edited by FrozenFox (2012-03-23 13:27:46)

Offline

#7 2012-03-23 14:27:59

sidh
Member
Registered: 2011-11-10
Posts: 5

Re: [FIXED] Xorg 1.12, cursor jumps in Wine

FrozenFox wrote:
sidh wrote:

Sorry, can you tell me how I must use this patch? I never done this before (patching xorg). Thank!

https://wiki.archlinux.org/index.php/ABS
https://wiki.archlinux.org/index.php/Pkgbuild

You should get some understanding of the above.

Basically, you need to get the package build script + related files for xorg-server (pkgbuild), edit them to include the patch line, build it, then install. Pretty straightforward thanks to arch's package format / build process.

1. Be sure you have the base-devel package group installed via pacman.
2. Get the PKGBUILD stuff for xorg-server. You can get it via abs or a pkgbuild grabbing tool (I use "pbget") or just go download the files manually from http://www.archlinux.org/packages/ ("source files"). You need all files associated with the package. In this case, there are 7 including the pkgbuild itself.
3. Put it in it's own folder somewhere for simplicity. I have a folder ~/build where I put everything, ie ~/build/xorg-server.
4. Put the patch text into a file in this same folder or otherwise place the patch there.
5. Edit the PKGBUILD file. In the build() section, you normally just put a patch line below the initial cd line corresponding to your patch. In this case, the pkgbuild already has several patches, so it's not hard to figure out where to put another one. If you named your patch xorginputfix.patch,
patch -Np1 -i "${srcdir}/xorginputfix.patch"
6. It's not necessary for your private pkgbuild, but if you really want to be proper, add the source and md5sum lines for your patch.
7. Makepkg -cis as usual to build and install. Depending on the patch structure, the patch may complain about not being able to find the file it's supposed to patch. In such a case, try changing the -Np1 to -Np0 in the patch line.

Just simply! Thank you very match! ( I wasn't understanding where put this patch by itself. Now -  due to you - all is clear for me)

Offline

#8 2012-03-26 09:22:16

hickop
Member
Registered: 2009-09-07
Posts: 35

Re: [FIXED] Xorg 1.12, cursor jumps in Wine

smudge wrote:

There's now an xorg-server patch that fixes this bug. I've tested it and it works.

http://patchwork.freedesktop.org/patch/9595/

Works for me too.
Thank you for patch.

Offline

Board footer

Powered by FluxBB