| 1 | WINE / PROTON - RAW MOUSE INPUT \r |
| 2 | \r |
| 3 | [linux_gaming] 2018-10-09_08-00\r |
| 4 | \r |
| 5 | o Reference: 2018-10-09_08-00_Wine___Proton_-_Raw_Mou\r |
| 6 | o News link: https://www.reddit.com/r/linux_gaming/comments/9l4iyd/wine_proton_raw_mouse_input/\r |
| 7 | o Source link: \r |
| 8 | \r |
| 9 | \r |
| 10 | I am struggling to find 1:1 parity with mouse input between\r |
| 11 | Linux and Windows for games run via Proton/Wine. For games\r |
| 12 | with native builds, I am able to achieve perfect 1:1 mapping.\r |
| 13 | \r |
| 14 | Native example:\r |
| 15 | \r |
| 16 | ezquake 3.5\r |
| 17 | \r |
| 18 | sensitivity 2.2 @ 800 dpi == ~23.7cm/360\r |
| 19 | \r |
| 20 | ezquake uses "Raw Input" in Windows and "EVDEV mouse" in\r |
| 21 | Linux. My sensitivity is exactly the same in both OS.\r |
| 22 | \r |
| 23 | I was able to replicate this exact sensitivity in CS:GO, same\r |
| 24 | settings\r |
| 25 | \r |
| 26 | Wine example (via Steam Play (Proton 3.7-7))\r |
| 27 | \r |
| 28 | quakelive\r |
| 29 | \r |
| 30 | sensitivity 2.2 @ 800 dpi == way larger than my mousepad\r |
| 31 | \r |
| 32 | I found that I could get close to 23.7cm/360 with a\r |
| 33 | sensitivity 5\r |
| 34 | \r |
| 35 | in_mouse 2 in_MouseMode win32(raw)\r |
| 36 | \r |
| 37 | My hunch is that by default, Wine is not reading the raw input\r |
| 38 | and is instead using X11 mouse in some way and then telling\r |
| 39 | the windows game that it is raw (when it is in fact not). Is\r |
| 40 | this a setting that can be changed?\r |
| 41 | \r |
| 42 | Also worth nothing - I have disabled acceleration via xorg\r |
| 43 | config: Section "InputClass"\r |
| 44 | \r |
| 45 | Identifier "My Mouse"\r |
| 46 | \r |
| 47 | MatchIsPointer "yes"\r |
| 48 | \r |
| 49 | Option "AccelerationProfile" "-1"\r |
| 50 | \r |
| 51 | Option "AccelerationScheme" "none"\r |
| 52 | \r |
| 53 | Option "AccelSpeed" "-1"\r |
| 54 | \r |
| 55 | EndSection\r |
| 56 | \r |
| 57 | \r |
| 58 | ** some_random_guy_5345\r |
| 59 | I play Quake Live in WINE and I'm having no issues with this\r |
| 60 | profile (1:1 parity with windows):\r |
| 61 | /etc/X11/xorg.conf.d/50-mouse-acceleration.conf\r |
| 62 | \r |
| 63 | Section "InputClass"\r |
| 64 | Identifier "My Mouse"\r |
| 65 | Driver "libinput"\r |
| 66 | MatchIsPointer "yes"\r |
| 67 | Option "AccelProfile" "flat"\r |
| 68 | EndSection\r |
| 69 | \r |
| 70 | My hunch is that by default, Wine is not reading the raw input\r |
| 71 | and is instead using X11 mouse in some way and then telling the\r |
| 72 | windows game that it is raw (when it is in fact not). Is this a\r |
| 73 | setting that can be changed?\r |
| 74 | Why would this matter? Doesn't your profile disable mouse\r |
| 75 | acceleration (and presumably use 1:1 input)?\r |
| 76 | \r |
| 77 | ** PolygonKiwii\r |
| 78 | I don't think X11 pointer movement is identical to raw input\r |
| 79 | even without acceleration. [1]libinput tries to do\r |
| 80 | normalization for high dpi mice down to 1000 dpi. I'm not\r |
| 81 | sure if "one mickey = one pixel" is even true for 1000 dpi\r |
| 82 | mice either.\r |
| 83 | EDIT: The desktop environment might also override Xorg's\r |
| 84 | libinput settings at runtime. For Plasma desktop, I had to\r |
| 85 | enable the "flat" profile in the mouse settings gui because\r |
| 86 | my xorg.conf.d file stopped working after some update. Of\r |
| 87 | note here is that that mouse gui doesn't have a perfect\r |
| 88 | middle setting for the sensitivity slider (called\r |
| 89 | acceleration here), so I had to set\r |
| 90 | XLbInptPointerAcceleration=0 in "~/.config/kcminputrc". The\r |
| 91 | one left of the middle would result in a value of -0.11 and\r |
| 92 | the one right of the middle is 0.11.\r |
| 93 | \r |
| 94 | \r |
| 95 | \r |
| 96 | \r |
| 97 | [1]\r |
| 98 | https://wayland.freedesktop.org/libinput/doc/latest/normaliza-\r |
| 99 | tion-of-relative-motion.html#motion-normalization\r |
| 100 | \r |
| 101 | \r |
| 102 | ** ginzberg\r |
| 103 | I don't suspect it does matter - but I thought sharing it\r |
| 104 | would cut off the default recommendation to disable\r |
| 105 | acceleration.\r |
| 106 | This is why I am getting 1:1 for native apps - issue is that\r |
| 107 | Wine seems to do something else with mouse input, and I\r |
| 108 | cannot find any details on configuration options on that\r |
| 109 | front.\r |
| 110 | \r |
| 111 | ** PolygonKiwii\r |
| 112 | Native apps that have raw input (CS:GO) will have 1:1\r |
| 113 | tracking even if you leave non-linear pointer acceleration\r |
| 114 | on.\r |
| 115 | \r |
| 116 | ** some_random_guy_5345\r |
| 117 | This is what I suspect is happening. The profile in the\r |
| 118 | OP probably isn't 1:1 tracking.\r |
| 119 | Native games use raw input whereas WINE probably\r |
| 120 | doesn't support it.\r |
| 121 | \r |
| 122 | ** PolygonKiwii\r |
| 123 | I wonder why Wine doesn't support it.\r |
| 124 | \r |
| 125 | \r |
| 126 | \r |
| 127 | \r |
| 128 | \r |
| 129 | ** ginzberg\r |
| 130 | Just switched to your conf, and I now have perfect 1:1\r |
| 131 | mapping in QL\r |
| 132 | Thank you!\r |
| 133 | \r |
| 134 | \r |
| 135 | \r |