--- /dev/null
+ WINE / PROTON - RAW MOUSE INPUT \r
+\r
+ [linux_gaming] 2018-10-09_08-00\r
+\r
+ o Reference: 2018-10-09_08-00_Wine___Proton_-_Raw_Mou\r
+ o News link: https://www.reddit.com/r/linux_gaming/comments/9l4iyd/wine_proton_raw_mouse_input/\r
+ o Source link: \r
+\r
+\r
+ I am struggling to find 1:1 parity with mouse input between\r
+ Linux and Windows for games run via Proton/Wine. For games\r
+ with native builds, I am able to achieve perfect 1:1 mapping.\r
+ \r
+ Native example:\r
+ \r
+ ezquake 3.5\r
+ \r
+ sensitivity 2.2 @ 800 dpi == ~23.7cm/360\r
+ \r
+ ezquake uses "Raw Input" in Windows and "EVDEV mouse" in\r
+ Linux. My sensitivity is exactly the same in both OS.\r
+ \r
+ I was able to replicate this exact sensitivity in CS:GO, same\r
+ settings\r
+ \r
+ Wine example (via Steam Play (Proton 3.7-7))\r
+ \r
+ quakelive\r
+ \r
+ sensitivity 2.2 @ 800 dpi == way larger than my mousepad\r
+ \r
+ I found that I could get close to 23.7cm/360 with a\r
+ sensitivity 5\r
+ \r
+ in_mouse 2 in_MouseMode win32(raw)\r
+ \r
+ My hunch is that by default, Wine is not reading the raw input\r
+ and is instead using X11 mouse in some way and then telling\r
+ the windows game that it is raw (when it is in fact not). Is\r
+ this a setting that can be changed?\r
+ \r
+ Also worth nothing - I have disabled acceleration via xorg\r
+ config: Section "InputClass"\r
+ \r
+ Identifier "My Mouse"\r
+ \r
+ MatchIsPointer "yes"\r
+ \r
+ Option "AccelerationProfile" "-1"\r
+ \r
+ Option "AccelerationScheme" "none"\r
+ \r
+ Option "AccelSpeed" "-1"\r
+ \r
+ EndSection\r
+\r
+\r
+ ** some_random_guy_5345\r
+ I play Quake Live in WINE and I'm having no issues with this\r
+ profile (1:1 parity with windows):\r
+ /etc/X11/xorg.conf.d/50-mouse-acceleration.conf\r
+ \r
+ Section "InputClass"\r
+ Identifier "My Mouse"\r
+ Driver "libinput"\r
+ MatchIsPointer "yes"\r
+ Option "AccelProfile" "flat"\r
+ EndSection\r
+ \r
+ My hunch is that by default, Wine is not reading the raw input\r
+ and is instead using X11 mouse in some way and then telling the\r
+ windows game that it is raw (when it is in fact not). Is this a\r
+ setting that can be changed?\r
+ Why would this matter? Doesn't your profile disable mouse\r
+ acceleration (and presumably use 1:1 input)?\r
+\r
+ ** PolygonKiwii\r
+ I don't think X11 pointer movement is identical to raw input\r
+ even without acceleration. [1]libinput tries to do\r
+ normalization for high dpi mice down to 1000 dpi. I'm not\r
+ sure if "one mickey = one pixel" is even true for 1000 dpi\r
+ mice either.\r
+ EDIT: The desktop environment might also override Xorg's\r
+ libinput settings at runtime. For Plasma desktop, I had to\r
+ enable the "flat" profile in the mouse settings gui because\r
+ my xorg.conf.d file stopped working after some update. Of\r
+ note here is that that mouse gui doesn't have a perfect\r
+ middle setting for the sensitivity slider (called\r
+ acceleration here), so I had to set\r
+ XLbInptPointerAcceleration=0 in "~/.config/kcminputrc". The\r
+ one left of the middle would result in a value of -0.11 and\r
+ the one right of the middle is 0.11.\r
+ \r
+ \r
+ \r
+ \r
+ [1]\r
+ https://wayland.freedesktop.org/libinput/doc/latest/normaliza-\r
+ tion-of-relative-motion.html#motion-normalization\r
+\r
+\r
+ ** ginzberg\r
+ I don't suspect it does matter - but I thought sharing it\r
+ would cut off the default recommendation to disable\r
+ acceleration.\r
+ This is why I am getting 1:1 for native apps - issue is that\r
+ Wine seems to do something else with mouse input, and I\r
+ cannot find any details on configuration options on that\r
+ front.\r
+\r
+ ** PolygonKiwii\r
+ Native apps that have raw input (CS:GO) will have 1:1\r
+ tracking even if you leave non-linear pointer acceleration\r
+ on.\r
+\r
+ ** some_random_guy_5345\r
+ This is what I suspect is happening. The profile in the\r
+ OP probably isn't 1:1 tracking.\r
+ Native games use raw input whereas WINE probably\r
+ doesn't support it.\r
+\r
+ ** PolygonKiwii\r
+ I wonder why Wine doesn't support it.\r
+\r
+\r
+\r
+\r
+\r
+ ** ginzberg\r
+ Just switched to your conf, and I now have perfect 1:1\r
+ mapping in QL\r
+ Thank you!\r
+\r
+\r
+\r