Commit | Line | Data |
---|---|---|
254d5bc3 NR |
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 |