[SOLVED] evdev issue: no Input w/ Mouse or Keyboard in X -current
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
evdev issue: no Input w/ Mouse or Keyboard in X -current
Hey everyone,
I just installed the latest current (I rsync'ed with rackspaces rsync mirror 3/10--the last update). The install went smooth. Everything was working great until I tried booting into X.
Background: I have a Nvidia GT310. I started by blacklisting nouveau, rebooted, and installed the latest nvidia blob. The Nvidia installation went smoothly w/ the latest current(I allowed the nvidia installer to configure my xorg.config).
The prolbem is when after I start X. I can launch the x-server just fine, however shortly after that I lose all input. I can't use my mouse or keyboard. The messed up thing is I can't even switch to another terminal nor can I exit x (ctrl+alt+del). I have to force a reboot.
Looking at my Xorg log, It looks like my problem starts shortly after x attempts to load evdev:
Code:
[ 988.292] (II) Indirect GLX disabled.(II) config/udev: Adding input device Power Button (/dev/input/event2)
[ 988.824] (**) Power Button: Applying InputClass "evdev keyboard catchall"
[ 988.824] (**) Power Button: Applying InputClass "keyboard-all"
[ 988.824] (II) LoadModule: "evdev"
[ 988.825] (II) Loading /usr/lib64/xorg/modules/input/evdev_drv.so
[ 988.853] (II) Module evdev: vendor="X.Org Foundation"
[ 988.853] compiled for 1.17.2, module version = 2.9.2
[ 988.853] Module class: X.Org XInput Driver
[ 988.853] ABI class: X.Org XInput driver, version 21.0
[ 988.853] (EE) module ABI major version (21) doesn't match the server's version (22)
[ 988.853] (II) UnloadModule: "evdev"
[ 988.853] (II) Unloading evdev
[ 988.853] (EE) Failed to load module "evdev" (module requirement mismatch, 0)
[ 988.853] (EE) No input driver matching `evdev'
So, its saying there is no input driver matching evdev, but when I look at lsmod, I see:
.. which leads me to believe that evdev is in fact loaded.
If evdev is in fact loading, then we have to look at previous message, indicating a version mismatch:
Code:
[ 988.853] (II) Module evdev: vendor="X.Org Foundation"
[ 988.853] compiled for 1.17.2, module version = 2.9.2
[ 988.853] Module class: X.Org XInput Driver
[ 988.853] ABI class: X.Org XInput driver, version 21.0
According to the current changelog, current is on xorg 1.18.1. It looks like I need to rebuild evdev for the current version of xorg current is useing.
Does anyone have any suggestions? I don't mind compiling evdev for the current xorg version. I immagine I'd have to grab the sources first, but I'm not sure how to proceed.
I just now did an upgrade for this week's current package updates.
I am running xf86-input-evdev-2.10.1-x86_64-1
What's odd about your evdev-2.9.x is that mine was installed on Feb 09 when my Laptop was installed new.
Code:
# cd /home/dld/slackware
# ls -lad $(find slackware-current-32 slackware-current-64 -type f -iname "*evdev*t?z")
-rw-r--r-- 1 4015 4015 65776 Apr 19 2015 slackware-current-32/slackware/x/libevdev-1.4.1-i486-1.txz
-rw-r--r-- 1 4015 4015 46444 Jan 12 15:27 slackware-current-32/slackware/x/xf86-input-evdev-2.10.1-i586-1.txz
-rw-r--r-- 1 4015 4015 62196 Apr 18 2015 slackware-current-64/slackware64/x/libevdev-1.4.1-x86_64-1.txz
-rw-r--r-- 1 4015 4015 45804 Jan 12 13:54 slackware-current-64/slackware64/x/xf86-input-evdev-2.10.1-x86_64-1.txz
That looks like the culprit.
But where did you get it ?
-- kjh
My `ver` command is a handy package query tool ( I've got one for Slackware and another for RPM-Based Systems )
so `ver` works on all 'my' boxes.
ver evdev` returns these packages
Code:
# ver evdev
-rw-r--r-- 1 root root 1199 Feb 8 07:14 /var/log/packages/libevdev-1.4.1-x86_64-1
-rw-r--r-- 1 root root 1351 Feb 8 07:14 /var/log/packages/xf86-input-evdev-2.10.1-x86_64-1
This is the `ver` command
Code:
#!/bin/sh
#
# ver command for slackware packages
#
for i in $*
do
j="`2regex $i`"
ls -la /var/log/packages/*${j}* 2>/dev/null
done
exit 0
This is the sub-referenced `2regex` command:
Code:
#!/bin/sh
#
# 2regex command turns alpha to case-insensitive for ls
#
echo $@ |
gawk '
BEGIN {
#
# portable ... runs on nawk or gawk
#
Lower = "abcdefghijklmnopqrstuvwxyz"
Upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
for ( i = 1 ; i <= length( Lower ) ; i ++ )
{
L = substr( Lower, i, 1 )
U = substr( Upper, i, 1 )
LoAry [L] = i
UpAry [U] = i
REAry [i] = "[" U L "]"
}
}
{
for ( i = 1 ; i <= length( $0 ) ; i ++ )
{
if (( c = substr( $0, i, 1 )) in LoAry )
printf( "%s", REAry [LoAry [c]] )
else if ( c in UpAry )
printf( "%s", REAry [UpAry [c]] )
else
printf( "%s", c )
}
print ""
}'
So, it looks like I do have the latest package for evdev installed: xf86-input-evdev-2.10.1-x86_64-1. However, I don't know why X is defaulting back to evdev 2.9.2.
I'll try uninstalling the old evdev packages (xf86-input-evdev-2.9.2-x86_64-1), and see if that makes a difference.
Those are some cool scripts kjhambrick, I went ahead and ahead and saved them.
Orbea and Tonus, I believe I spoke too soon. I don't think I'm rsyncing properly. Apparently, xf86-input-evdev was one of the packages that was updated. This is why I have 2.9.2, 2.10.0, and 2.10.1 in my local rsync directory. However, the older versions should have been removed.
A quick refresher on the rsync, this is the last command I used:
Code:
rsync -avuP mirror directory
I always thought that the -u switch is what performed the "update". Is that not true? I guess I should just delete the whole directory, and rsync again to make sure I have only the new files, and the old ones left out.
I'm glad you guys pointed this out. It looks like I may have been installing a bunch of old packages along side new ones. I'll have to re-install once I've deleted the old directory, and ensured the directory contains only the latest rsync.
I'm not sure if it's the cause of your issue, but it looks like you're installing (installpkg) package updates instead of upgrading (upgradepkg) package updates. You should really only have xf86-input-evdev-2.10.1-x86_64-1 in the /var/log/packages/ directory.
Thanks guys, it was as Tonus and Orbea suspected earlier, I messed up my rsync. The install worked fine after installing from a clean--and correct--rsync.
I had some issue w/ amd-vi iommu (I had to set a kernel boot parameter "iommu=soft"), after that I was good to go!
kjhambrick, thanks for sharing that mirror script!
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.