You are not logged in.
Hello,
I'm trying to figure out how to downgrade xorg-server. The problem I'm experiencing is that when I press a key, the "KeyPress" event is not sent until the key is released, or ~200ms passes (my subjective timer, could be way off), whichever comes first. This problem only happens when I send input to a display which I've rotated using xrandr, e.g.:
xrandr --output LVDS1 --rotate right
On a two-screen setup, I can have one display rotated and the other normal. On the rotated display, I experience the key lag bug, but on the normal display I don't. When I move a terminal from the normal to the rotated display, the bug appears, and when I move it back it disappears. When I run "xev" on the normal display and put the xev window on the rotated display and type in the window, there is no lag. However, when I move the terminal where I executed the "xev" command to the rotated display, the lag appears again. Using "xev", we see that "KeyPress" is generated when I release a key, and "KeyRelease" comes after a timeout of some fraction of a second after "KeyPress".
I have a laptop which I have not updated in a few weeks, and it does not give me key lag (even after rotating the display). The Xorg version on the laptop is "xorg-server 1.18.4-1". The version on my desktop and other laptop, both of which experience the bug, is "xorg-server 1.19.1-1".
I'm assuming that the problem comes from Xorg since e.g. 'udev' does not know about X screens, I don't experience the problem on the console, and so on. I experience the problem with two window managers: i3 and fvwm; and with two terminals: urxvt and xterm.
If anyone can replicate, that would be useful to know. However, my main question, for my own selfish purposes, is how do I downgrade Xorg - because I like that vertical screen real estate and I am not going to be satisfied with a laggy keyboard input device. I'm under the impression that this is a shortcoming of Arch, that downgrades are not very easy, particularly for packages with a lot of dependencies like xorg-server. Here's my attempt so far:
$ sudo pacman -U xorg-server-1.18.4-1-x86_64.pkg.tar.xz
loading packages...
warning: downgrading package xorg-server (1.19.1-1 => 1.18.4-1)
resolving dependencies...
warning: cannot resolve "xf86-input-driver", a dependency of "xorg-server"
:: The following package cannot be upgraded due to unresolvable dependencies:
xorg-server
:: Do you want to skip the above package for this upgrade? [y/N]
error: failed to prepare transaction (could not satisfy dependencies)
:: xorg-server: requires xf86-input-driver
[1]$ ls xf86-input-*
xf86-input-evdev-2.10.1-3-x86_64.pkg.tar.xz xf86-input-keyboard-1.8.1-2-x86_64.pkg.tar.xz
xf86-input-evdev-2.10.2-1-x86_64.pkg.tar.xz xf86-input-keyboard-1.9.0-1-x86_64.pkg.tar.xz
xf86-input-evdev-2.10.3-1-x86_64.pkg.tar.xz xf86-input-keyboard-1.9.0-2-x86_64.pkg.tar.xz
xf86-input-evdev-2.10.4-1-x86_64.pkg.tar.xz xf86-input-libinput-0.23.0-1-x86_64.pkg.tar.xz
xf86-input-evdev-2.10.5-1-x86_64.pkg.tar.xz
I can't find "xf86-input-driver" among the packages so I'm stuck. How do I go back to the working version of xorg-server?
Thanks.
------
Log files:
Xorg.0.log: http://ix.io/1REQ
dmesg: http://ix.io/1REU
The USB resets in dmesg are from a crontab and have nothing to do with this bug.
Last edited by Herodotus (2017-02-01 08:30:20)
Offline
Here's what I ended up doing to downgrade:
cd /var/cache/pacman/pkg
sudo pacman -U \
xf86-input-evdev-2.10.4-1*xz \
xorg-server-*18.4-1*.pkg*xz \
xf86-video-intel-1:2.99.917+746*xz
It works now.
Recent xf86-input-evdev packages (e.g. 2.10.4) have a "provides = xf86-input-driver" line in .PKGINFO, which allows it to satisfy the dependency.
A friend pointed out that you can use 'agetpkg' from AUR to find packages which are not in /var/cache/pacman/pkg ...
Offline