hugegreenbug / xf86-input-cmt

X11 ChromiumOS touchpad driver ported to Linux
BSD 3-Clause "New" or "Revised" License
83 stars 15 forks source link

Arch Linux Chromebook Pixel 2 cannot get cmt driver to load #27

Open godlikemouse opened 8 years ago

godlikemouse commented 8 years ago

I'm hoping someone can help me with this, I've been doing everything I can to get the cmt touchpad driver to load to no avail. I've compiled the xf86-input-cmt driver, done a make install. I've manually removed the 50-synaptics.conf file and copied over the files: 20-touchscreen.conf 50-touchpad-cmt-samus.conf 40-touchpad-cmt.conf 20-mouse.conf to the /etc/X11/xorg.conf.d/ and every time I come back into gnome I have no mouse. xinput shows that there is the atmel touchscreen driver loaded at id: 9 but no touch pad. I've tried disabling/enabling the atmel service installed from the linux-samus4 repo. At this point I'm at a loss. Any suggestions to try next? Thanks in advance.

hugegreenbug commented 8 years ago

In addition to this driver, a kernel driver is needed. I'm not sure if you have the kernel driver loaded or not. Does the synaptic driver work? What does your xserver log look like?

godlikemouse commented 8 years ago

Hi hugegreenbug, thanks for the prompt response. The synaptic driver works, but of course the mouse is super jumpy and annoying. Here is the contents of my Xserver log when trying to use the cmt driver:

[   107.675] 
X.Org X Server 1.17.4
Release Date: 2015-10-28
[   107.675] X Protocol Version 11, Revision 0
[   107.675] Build Operating System: Linux 4.2.5-1-ARCH x86_64 
[   107.675] Current Operating System: Linux jgraves-chromebook 4.2.6-9ph #1 SMP Wed Nov 18 22:05:10 PST 2015 x86_64
[   107.675] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-linux-samus4 root=UUID=0dc5ee22-ac82-443c-bc1e-394d7f558bb7 rw quiet
[   107.675] Build Date: 01 November 2015  10:36:50AM
[   107.675]  
[   107.675] Current version of pixman: 0.32.8
[   107.675]    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
[   107.675] Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[   107.675] (==) Log file: "/var/log/Xorg.0.log", Time: Wed Nov 18 23:18:02 2015
[   107.675] (==) Using config directory: "/etc/X11/xorg.conf.d"
[   107.675] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[   107.675] (==) No Layout section.  Using the first Screen section.
[   107.675] (==) No screen section available. Using defaults.
[   107.675] (**) |-->Screen "Default Screen Section" (0)
[   107.675] (**) |   |-->Monitor "<default monitor>"
[   107.675] (==) No device specified for screen "Default Screen Section".
    Using the first device section listed.
[   107.675] (**) |   |-->Device "Intel Graphics"
[   107.675] (==) No monitor specified for screen "Default Screen Section".
    Using a default monitor configuration.
[   107.676] (==) Automatically adding devices
[   107.676] (==) Automatically enabling devices
[   107.676] (==) Automatically adding GPU devices
[   107.676] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/100dpi/".
[   107.676]    Entry deleted from font path.
[   107.676]    (Run 'mkfontdir' on "/usr/share/fonts/100dpi/").
[   107.676] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/75dpi/".
[   107.676]    Entry deleted from font path.
[   107.676]    (Run 'mkfontdir' on "/usr/share/fonts/75dpi/").
[   107.676] (==) FontPath set to:
    /usr/share/fonts/misc/,
    /usr/share/fonts/TTF/,
    /usr/share/fonts/OTF/,
    /usr/share/fonts/Type1/
[   107.676] (==) ModulePath set to "/usr/lib/xorg/modules"
[   107.676] (II) The server relies on udev to provide the list of input devices.
    If no devices become available, reconfigure udev or disable AutoAddDevices.
[   107.676] (II) Loader magic: 0x817d60
[   107.676] (II) Module ABI versions:
[   107.676]    X.Org ANSI C Emulation: 0.4
[   107.676]    X.Org Video Driver: 19.0
[   107.676]    X.Org XInput driver : 21.1
[   107.676]    X.Org Server Extension : 9.0
[   107.678] (II) systemd-logind: took control of session /org/freedesktop/login1/session/c9
[   107.679] (II) xfree86: Adding drm device (/dev/dri/card0)
[   107.679] (II) systemd-logind: got fd for /dev/dri/card0 226:0 fd 9 paused 0
[   107.680] (--) PCI:*(0:0:2:0) 8086:1616:8086:1616 rev 9, Mem @ 0xe0000000/16777216, 0xd0000000/268435456, I/O @ 0x00001800/64
[   107.680] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
[   107.680] (II) LoadModule: "glx"
[   107.681] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[   107.682] (II) Module glx: vendor="X.Org Foundation"
[   107.682]    compiled for 1.17.4, module version = 1.0.0
[   107.682]    ABI class: X.Org Server Extension, version 9.0
[   107.682] (==) AIGLX enabled
[   107.682] (II) LoadModule: "intel"
[   107.682] (WW) Warning, couldn't open module intel
[   107.682] (II) UnloadModule: "intel"
[   107.682] (II) Unloading intel
[   107.682] (EE) Failed to load module "intel" (module does not exist, 0)
[   107.682] (EE) No drivers available.
[   107.682] (EE) 
Fatal server error:
[   107.682] (EE) no screens found(EE) 
[   107.682] (EE) 
Please consult the The X.Org Foundation support 
     at http://wiki.x.org
 for help. 
[   107.682] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[   107.682] (EE) 

Also, here is the what xinput is showing:

⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Atmel maXTouch Touchscreen                id=9    [slave  pointer  (2)]
⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
    ↳ Power Button                                id=6    [slave  keyboard (3)]
    ↳ Power Button                                id=7    [slave  keyboard (3)]
    ↳ NCM-G102                                    id=8    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard                id=10   [slave  keyboard (3)]

Is there anything else you can think of that I should try here? Thanks again for helping out here.

hugegreenbug commented 8 years ago

The error that I see from the log is:

107.682 LoadModule: "intel" 107.682 Warning, couldn't open module intel 107.682 UnloadModule: "intel" 107.682 Unloading intel 107.682 Failed to load module "intel" (module does not exist, 0)

That isn't related to the cmt driver. Are you sure that this is the right log?

godlikemouse commented 8 years ago

That's the only xserver related log I can find. It's the contents of /var/log/Xorg.0.log. Also, these are the files I have currently in the /etc/X11/xorg.conf.d:

10-evdev.conf 20-touchscreen.conf 50-touchpad-cmt-samus.conf 10-quirks.conf 40-touchpad-cmt.conf 20-mouse.conf 50-synaptics.conf

contents of 10-evdev.conf:

#
# Catch-all evdev loader for udev-based systems
# We don't simply match on any device since that also adds accelerometers
# and other devices that we don't really want to use. The list below
# matches everything but joysticks.

Section "InputClass"
        Identifier "evdev pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

Section "InputClass"
        Identifier "evdev keyboard catchall"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

Section "InputClass"
        Identifier "evdev touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

Section "InputClass"
        Identifier "evdev tablet catchall"
        MatchIsTablet "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

Section "InputClass"
        Identifier "evdev touchscreen catchall"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
EndSection

Contents of 10-quirks.conf:

# Collection of quirks and blacklist/whitelists for specific devices.

# Accelerometer device, posts data through ABS_X/ABS_Y, making X unusable
# http://bugs.freedesktop.org/show_bug.cgi?id=22442 
Section "InputClass"
        Identifier "ThinkPad HDAPS accelerometer blacklist"
        MatchProduct "ThinkPad HDAPS accelerometer data"
        Option "Ignore" "on"
EndSection

# https://bugzilla.redhat.com/show_bug.cgi?id=523914
# Mouse does not move in PV Xen guest
# Explicitly tell evdev to not ignore the absolute axes.
Section "InputClass"
        Identifier "Xen Virtual Pointer axis blacklist"
        MatchProduct "Xen Virtual Pointer"
        Option "IgnoreAbsoluteAxes" "off"
        Option "IgnoreRelativeAxes" "off"
EndSection

# https://bugs.freedesktop.org/show_bug.cgi?id=55867
# Bug 55867 - Doesn't know how to tag XI_TRACKBALL
Section "InputClass"
        Identifier "Tag trackballs as XI_TRACKBALL"
        MatchProduct "trackball"
        MatchDriver "evdev"
        Option "TypeName" "TRACKBALL"
EndSection

# https://bugs.freedesktop.org/show_bug.cgi?id=62831
# Bug 62831 - Mionix Naos 5000 mouse detected incorrectly
Section "InputClass"
        Identifier "Tag Mionix Naos 5000 mouse XI_MOUSE"
        MatchProduct "La-VIEW Technology Naos 5000 Mouse"
        MatchDriver "evdev"
        Option "TypeName" "MOUSE"
EndSection

Anything else I should check into that you can think of?

godlikemouse commented 8 years ago

I also don't have any specific xorg.conf file specifying the loading of the "intel" driver. It appears to loading probably due to an autodetect or something along those lines.

godlikemouse commented 8 years ago

As an update, I've found that:

cat /dev/input/mouse0

is generating data even though the mouse isn't visible or working.

godlikemouse commented 8 years ago

journalctl -b | grep cmt

is showing the following which might be of some help to the issue (specifically Cannot open "/dev/input/event4"):

Mar 01 23:23:50 jgraves-chromebook /usr/lib/gdm/gdm-x-session[758]: (II) LoadModule: "cmt"
Mar 01 23:23:50 jgraves-chromebook /usr/lib/gdm/gdm-x-session[758]: (II) Loading /usr/lib/xorg/modules/input/cmt_drv.so
Mar 01 23:23:50 jgraves-chromebook /usr/lib/gdm/gdm-x-session[758]: (II) Module cmt: vendor="X.Org Foundation"
Mar 01 23:23:50 jgraves-chromebook /usr/lib/gdm/gdm-x-session[758]: (II) Using input driver 'cmt' for 'Atmel maXTouch Touchpad'
Mar 01 23:23:50 jgraves-chromebook /usr/lib/gdm/gdm-x-session[758]: (**) cmt: Atmel maXTouch Touchpad: Opening Device: "/dev/input/event4"
Mar 01 23:23:50 jgraves-chromebook /usr/lib/gdm/gdm-x-session[758]: (EE) cmt: Atmel maXTouch Touchpad: Cannot open "/dev/input/event4".
Mar 01 23:23:50 jgraves-chromebook /usr/lib/gdm/gdm-x-session[758]: (II) UnloadModule: "cmt"
Mar 01 23:24:17 jgraves-chromebook sudo[1223]:  jgraves : TTY=pts/0 ; PWD=/etc/X11/xorg.conf.d ; USER=root ; COMMAND=/usr/bin/rm 20-mouse.conf 20-touchscreen.conf 40-touchpad-cmt.conf 50-touchpad-cmt-samus.conf
Mar 01 23:25:50 jgraves-chromebook sudo[1777]:  jgraves : TTY=pts/0 ; PWD=/usr/share/X11/xorg.conf.d ; USER=root ; COMMAND=/usr/bin/cmt-conf-setup install
Mar 01 23:26:30 jgraves-chromebook sudo[1858]:  jgraves : TTY=pts/0 ; PWD=/usr/share/X11/xorg.conf.d ; USER=root ; COMMAND=/usr/bin/cp /etc/X11/xorg.conf.d/10-evdev.conf /etc/X11/xorg.conf.d/10-quirks.conf /etc/X11/xorg.conf.d/20-mouse.conf /etc/X11/xorg.conf.d/20-touchscreen.conf /etc/X11/xorg.conf.d/40-touchpad-cmt.conf /etc/X11/xorg.conf.d/50-touchpad-cmt-samus.conf .
Mar 01 23:26:46 jgraves-chromebook /usr/lib/gdm/gdm-x-session[1904]: (II) LoadModule: "cmt"
Mar 01 23:26:46 jgraves-chromebook /usr/lib/gdm/gdm-x-session[1904]: (II) Loading /usr/lib/xorg/modules/input/cmt_drv.so
Mar 01 23:26:46 jgraves-chromebook /usr/lib/gdm/gdm-x-session[1904]: (II) Module cmt: vendor="X.Org Foundation"
Mar 01 23:26:46 jgraves-chromebook /usr/lib/gdm/gdm-x-session[1904]: (II) Using input driver 'cmt' for 'Atmel maXTouch Touchpad'
Mar 01 23:26:46 jgraves-chromebook /usr/lib/gdm/gdm-x-session[1904]: (**) cmt: Atmel maXTouch Touchpad: Opening Device: "/dev/input/event4"
Mar 01 23:26:46 jgraves-chromebook /usr/lib/gdm/gdm-x-session[1904]: (EE) cmt: Atmel maXTouch Touchpad: Cannot open "/dev/input/event4".
Mar 01 23:26:46 jgraves-chromebook /usr/lib/gdm/gdm-x-session[1904]: (II) UnloadModule: "cmt"
Mar 01 23:28:32 jgraves-chromebook sudo[2451]:  jgraves : TTY=pts/0 ; PWD=/usr/share/X11/xorg.conf.d ; USER=root ; COMMAND=/usr/bin/rm 10-evdev.conf 10-quirks.conf 20-mouse.conf 20-touchscreen.conf 40-touchpad-cmt.conf 50-touchpad-cmt-samus.conf
Mar 01 23:28:43 jgraves-chromebook /usr/lib/gdm/gdm-x-session[2483]: (II) LoadModule: "cmt"
Mar 01 23:28:43 jgraves-chromebook /usr/lib/gdm/gdm-x-session[2483]: (II) Loading /usr/lib/xorg/modules/input/cmt_drv.so
Mar 01 23:28:43 jgraves-chromebook /usr/lib/gdm/gdm-x-session[2483]: (II) Module cmt: vendor="X.Org Foundation"
Mar 01 23:28:43 jgraves-chromebook /usr/lib/gdm/gdm-x-session[2483]: (II) Using input driver 'cmt' for 'Atmel maXTouch Touchpad'
Mar 01 23:28:43 jgraves-chromebook /usr/lib/gdm/gdm-x-session[2483]: (**) cmt: Atmel maXTouch Touchpad: Opening Device: "/dev/input/event4"
Mar 01 23:28:43 jgraves-chromebook /usr/lib/gdm/gdm-x-session[2483]: (EE) cmt: Atmel maXTouch Touchpad: Cannot open "/dev/input/event4".
Mar 01 23:28:43 jgraves-chromebook /usr/lib/gdm/gdm-x-session[2483]: (II) UnloadModule: "cmt"
Mar 02 22:21:10 jgraves-chromebook /usr/lib/gdm/gdm-x-session[10695]: (II) LoadModule: "cmt"
Mar 02 22:21:10 jgraves-chromebook /usr/lib/gdm/gdm-x-session[10695]: (II) Loading /usr/lib/xorg/modules/input/cmt_drv.so
Mar 02 22:21:10 jgraves-chromebook /usr/lib/gdm/gdm-x-session[10695]: (II) Module cmt: vendor="X.Org Foundation"
Mar 02 22:21:10 jgraves-chromebook /usr/lib/gdm/gdm-x-session[10695]: (II) Using input driver 'cmt' for 'Atmel maXTouch Touchpad'
Mar 02 22:21:10 jgraves-chromebook /usr/lib/gdm/gdm-x-session[10695]: (**) cmt: Atmel maXTouch Touchpad: Opening Device: "/dev/input/event4"
Mar 02 22:21:10 jgraves-chromebook /usr/lib/gdm/gdm-x-session[10695]: (EE) cmt: Atmel maXTouch Touchpad: Cannot open "/dev/input/event4".
Mar 02 22:21:10 jgraves-chromebook /usr/lib/gdm/gdm-x-session[10695]: (II) UnloadModule: "cmt"
Mar 02 23:43:53 jgraves-chromebook /usr/lib/gdm/gdm-x-session[22535]: (II) LoadModule: "cmt"
Mar 02 23:43:53 jgraves-chromebook /usr/lib/gdm/gdm-x-session[22535]: (II) Loading /usr/lib/xorg/modules/input/cmt_drv.so
Mar 02 23:43:53 jgraves-chromebook /usr/lib/gdm/gdm-x-session[22535]: (II) Module cmt: vendor="X.Org Foundation"
Mar 02 23:43:53 jgraves-chromebook /usr/lib/gdm/gdm-x-session[22535]: (II) Using input driver 'cmt' for 'Atmel maXTouch Touchpad'
Mar 02 23:43:53 jgraves-chromebook /usr/lib/gdm/gdm-x-session[22535]: (**) cmt: Atmel maXTouch Touchpad: Opening Device: "/dev/input/event4"
Mar 02 23:43:53 jgraves-chromebook /usr/lib/gdm/gdm-x-session[22535]: (EE) cmt: Atmel maXTouch Touchpad: Cannot open "/dev/input/event4".
Mar 02 23:43:53 jgraves-chromebook /usr/lib/gdm/gdm-x-session[22535]: (II) UnloadModule: "cmt"
Mar 02 23:58:49 jgraves-chromebook sudo[1487]:  jgraves : TTY=pts/0 ; PWD=/tmp/yaourt-tmp-jgraves/aur-xf86-input-cmt-git ; USER=root ; COMMAND=list /usr/bin/pacman --color auto -U --force /tmp/yaourt-tmp-jgraves/PKGDEST.CuS/xf86-input-cmt-git-2.0.6-2-x86_64.pkg.tar.xz
Mar 02 23:58:49 jgraves-chromebook sudo[1488]:  jgraves : TTY=pts/0 ; PWD=/tmp/yaourt-tmp-jgraves/aur-xf86-input-cmt-git ; USER=root ; COMMAND=/usr/bin/pacman --color auto -U --force /tmp/yaourt-tmp-jgraves/PKGDEST.CuS/xf86-input-cmt-git-2.0.6-2-x86_64.pkg.tar.xz
Mar 02 23:58:59 jgraves-chromebook sudo[1517]:     root : TTY=pts/0 ; PWD=/ ; USER=root ; COMMAND=/usr/bin/cmt-conf-setup install
Mar 02 23:59:33 jgraves-chromebook /usr/lib/gdm/gdm-x-session[1597]: (II) LoadModule: "cmt"
Mar 02 23:59:33 jgraves-chromebook /usr/lib/gdm/gdm-x-session[1597]: (II) Loading /usr/lib/xorg/modules/input/cmt_drv.so
Mar 02 23:59:33 jgraves-chromebook /usr/lib/gdm/gdm-x-session[1597]: (II) Module cmt: vendor="X.Org Foundation"
Mar 02 23:59:33 jgraves-chromebook /usr/lib/gdm/gdm-x-session[1597]: (II) Using input driver 'cmt' for 'Atmel maXTouch Touchpad'
Mar 02 23:59:33 jgraves-chromebook /usr/lib/gdm/gdm-x-session[1597]: (**) cmt: Atmel maXTouch Touchpad: Opening Device: "/dev/input/event4"
Mar 02 23:59:33 jgraves-chromebook /usr/lib/gdm/gdm-x-session[1597]: (EE) cmt: Atmel maXTouch Touchpad: Cannot open "/dev/input/event4".
Mar 02 23:59:33 jgraves-chromebook /usr/lib/gdm/gdm-x-session[1597]: (II) UnloadModule: "cmt"
Mar 03 00:04:50 jgraves-chromebook /usr/lib/gdm/gdm-x-session[3079]: (II) LoadModule: "cmt"
Mar 03 00:04:50 jgraves-chromebook /usr/lib/gdm/gdm-x-session[3079]: (II) Loading /usr/lib/xorg/modules/input/cmt_drv.so
Mar 03 00:04:50 jgraves-chromebook /usr/lib/gdm/gdm-x-session[3079]: (II) Module cmt: vendor="X.Org Foundation"
Mar 03 00:04:50 jgraves-chromebook /usr/lib/gdm/gdm-x-session[3079]: (II) Using input driver 'cmt' for 'Atmel maXTouch Touchpad'
Mar 03 00:04:50 jgraves-chromebook /usr/lib/gdm/gdm-x-session[3079]: (**) cmt: Atmel maXTouch Touchpad: Opening Device: "/dev/input/event4"
Mar 03 00:04:50 jgraves-chromebook /usr/lib/gdm/gdm-x-session[3079]: (EE) cmt: Atmel maXTouch Touchpad: Cannot open "/dev/input/event4".
Mar 03 00:04:50 jgraves-chromebook /usr/lib/gdm/gdm-x-session[3079]: (II) UnloadModule: "cmt"
godlikemouse commented 8 years ago

Anyone have any ideas that may help here. I think I've exhausted I knowledge of drivers and getting them to load.