我刚刚从 Xorg 切换到 Wayland,这意味着我也切换到了 libinput。我还使用 GNOME 3 和 GDM。
自从切换以来,滚动变得非常跳跃。当我尽可能慢地在触摸板上垂直拖动两根手指并定期暂停时,在一定距离后它会“跳跃”。
并非所有应用程序都会发生这种情况;我猜在 Xwayland 中运行的任何东西都没有这个问题。此类应用程序的滚动和加速速度仍然比我想要的要快,但我认为这是一个单独的问题。
GTK+ 和 Qt 应用程序中都会出现该问题。
例如,在gedit中滚动时,它支持平滑滚动:
- 从第 1 行开始
- 平滑滚动直到第 5 行
- 一旦我到达第 5 行,无论我滚动得有多慢,它都会跳到第 10 行。
- 向上滚动至第 1 行,平滑直至第 5 行
- 在第 5 行,跳转到第 1 行
跳转总是发生在距离我开始滚动的位置 5 行处。如果我停止滚动,但将两根手指留在触摸板上,实际上并不算停止。
我的 Yoga 900 上有一个 Synaptics 触摸板:
Device: SYNA2B29:00 06CB:77C6
Kernel: /dev/input/event14
Group: 5
Seat: seat0, default
Size: 91.53x59.95mm
Capabilities: pointer
Tap-to-click: disabled
Tap drag lock: disabled
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: n/a
Calibration: n/a
Scroll methods: *two-finger edge
Click methods: *button-areas clickfinger
Disable-w-typing: enabled
Accel profiles: none
我正在运行 Linux 4.4,并带有一些我从 4.5 窃取的驱动程序补丁,以使 Yoga 900 上的硬件正常工作。启用测试存储库的最新 Arch Linux(核心仍在 4.3,但 4.4 有我需要的补丁)。
linux-custom 4.4-4
libinput 1.1.4-1
wayland 1.9.0-1
gnome-shell 3.18.3-2
xorg-server-xwayland 1.18.0-4
我对如何解决这个问题有点茫然,因为涉及的因素太多,而且我对 libinput 和 Wayland 不熟悉。我改用 Wayland 是因为 X 在很多情况下都遇到高 PPI 显示器的问题。 Wayland 似乎还可以更好地利用我的 CPU 的集成显卡。所以现在,我想坚持使用 Wayland,即使我无法立即找到解决方案。我更愿意自己解决这个问题(通过补丁、黑客等),而不是等待开发、测试和发布适当的修复程序。
答案1
好消息!
这已在最新版本中修复,侏儒 3.20。有了这个以及许多其他错误,Wayland(恕我直言)终于变得可以日常使用了。
我确实找到了解决问题的提交,但我无法再次找到它。无论如何,@DanRobertson 对原因的猜测是正确的并且已得到修复。