Tiny Core Extensions > TCE Talk

synaptics driver for Xorg not working in TC16 x64

(1/9) > >>

nick65go:
Hi, a little help please, to make my touch-pad to work with two fingers for scroll vertical + horizontal, double click/tap etc.
My touch-pad is flat (aka click-pad, no buttons) and works perfectly in windows11.
In Tinycore16_x64 with Xorg-7.7-3D, it works primitively, I can just select + navigate, but no many gestures (edge V+H navigation, etc).

I checked its properties seen by libinput, using xinput, but there are no useful options.Using Xinput is near useless, because there are NONE of options for tap, double click etc for ID=10 or ID=11

--- Code: ---tc@box:~$ xinput
⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   â†³ Virtual core XTEST pointer                    id=4    [slave  pointer  (2)]
⎜   â†³ Microsoft  Microsoft Basic Optical Mouse v2.0         id=9    [slave  pointer  (2)]
⎜   â†³ SYNA32E0:00 06CB:CE17 Mouse                   id=10   [slave  pointer  (2)]
⎜   â†³ SYNA32E0:00 06CB:CE17 Touchpad                id=11   [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=8    [slave  keyboard (3)]
    ↳ Video Bus                                       id=7    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard                    id=12   [slave  keyboard (3)]
    ↳ HP WMI hotkeys                                  id=13   [slave  keyboard (3)]
tc@box:~$
--- End code ---

--- Code: ---tc@box:~$ xinput list-props 10
Device 'SYNA32E0:00 06CB:CE17 Mouse':
        Device Enabled (177):   1
        Coordinate Transformation Matrix (179): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Natural Scrolling Enabled (315):       0
        libinput Natural Scrolling Enabled Default (316):       0
        libinput Scroll Methods Available (317):        0, 0, 1
        libinput Scroll Method Enabled (318):   0, 0, 0
        libinput Scroll Method Enabled Default (319):   0, 0, 0
        libinput Button Scrolling Button (320): 3
        libinput Button Scrolling Button Default (321): 3
        libinput Button Scrolling Button Lock Enabled (322):    0
        libinput Button Scrolling Button Lock Enabled Default (323):    0
        libinput Rotation Angle (298):  0.000000
        libinput Rotation Angle Default (299):  0.000000
        libinput Accel Speed (326):     0.000000
        libinput Accel Speed Default (327):     0.000000
        libinput Accel Profiles Available (328):        1, 1
        libinput Accel Profile Enabled (329):   1, 0
        libinput Accel Profile Enabled Default (330):   1, 0
        libinput Left Handed Enabled (331):     0
        libinput Left Handed Enabled Default (332):     0
        libinput Send Events Modes Available (300):     1, 0
        libinput Send Events Mode Enabled (301):        0, 0
        libinput Send Events Mode Enabled Default (302):        0, 0
        Device Node (303):      "/dev/input/event7"
        Device Product ID (304):        1739, 52759
        libinput Drag Lock Buttons (333):       <no items>
        libinput Horizontal Scroll Enabled (334):       1
        libinput Scrolling Pixel Distance (335):        15
        libinput Scrolling Pixel Distance Default (336):        15
tc@box:~$ xinput list-props 11
Device 'SYNA32E0:00 06CB:CE17 Touchpad':
        Device Enabled (177):   1
        Coordinate Transformation Matrix (179): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Rotation Angle (298):  0.000000
        libinput Rotation Angle Default (299):  0.000000
        libinput Calibration Matrix (339):      1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Calibration Matrix Default (340):      1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Send Events Modes Available (300):     1, 0
        libinput Send Events Mode Enabled (301):        0, 0
        libinput Send Events Mode Enabled Default (302):        0, 0
        Device Node (303):      "/dev/input/event8"
        Device Product ID (304):        1739, 52759
tc@box:~$
--- End code ---

Then I try manually install synaptic driver, from Archlinux. I check it to be in proper folder, proper configuration, proper dependencies.


--- Code: ---tc@box:~$ ls -l /usr/local/lib/xorg/modules/input/
total 80
lrwxrwxrwx    1 root     root            73 May 24 10:03 inputtest_drv.so -> /tmp/tcloop/xorg-server/usr/local/lib/xorg/modules/input/inputtest_drv.so
lrwxrwxrwx    1 root     root            80 May 24 10:03 libinput_drv.so -> /tmp/tcloop/xf86-input-libinput/usr/local/lib/xorg/modules/input/libinput_drv.so
-rwxr-xr-x    1 root     root         80320 May 24 10:07 synaptics_drv.so
tc@box:~$
tc@box:~$ ldd /usr/local/lib/xorg/modules/input/synaptics_drv.so
        linux-vdso.so.1 (0x00007fdfdc9b9000)
        libevdev.so.2 => /usr/local/lib/libevdev.so.2 (0x00007fdfdc979000)
        libm.so.6 => /lib/libm.so.6 (0x00007fdfdc8b5000)
        libc.so.6 => /lib/libc.so.6 (0x00007fdfdc720000)
        /lib/ld-linux-x86-64.so.2 (0x00007fdfdc9bb000)
tc@box:~$
--- End code ---

--- Code: ---tc@box:~$ cat /etc/X11/xorg.conf.d/70-synaptics.conf
# /etc/X11/xorg.conf.d first.
# Additional options may be added in the form of
#   Option "OptionName" "value"
#
Section "InputClass"
    Identifier "MySynaptics"
    Driver "synaptics"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
        Option "TapButton1" "1"
        Option "TapButton2" "3"
        Option "TapButton3" "2"
        Option "VertEdgeScroll" "on"
        Option "VertTwoFingerScroll" "on"
        Option "HorizEdgeScroll" "on"
        Option "HorizTwoFingerScroll" "on"
        Option  "VertScrollDelta"  "-111"
        Option  "HorizScrollDelta" "-111"
        Option "CircularScrolling" "on"
        Option "CircScrollTrigger" "2"
        Option "EmulateTwoFingerMinZ" "40"
        Option "EmulateTwoFingerMinW" "8"
        Option "CoastingSpeed" "0"
        Option "FingerLow" "30"
        Option "FingerHigh" "50"
        Option "MaxTapTime" "125"
EndSection

Section "InputClass"
        Identifier "touchpad ignore duplicates"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/mouse*"
        Option "Ignore" "on"
EndSection
--- End code ---

But Xorg does NOT see/use it. libinput take precedence all the time.

--- Code: ---tc@box:~$ cat /var/log/Xorg.0.log | grep -i synap
tc@box:~$ cat /var/log/Xorg.0.log | grep -i MyS
tc@box:~$

tc@box:~$ cat /var/log/Xorg.0.log | grep SYNA3
[   786.910] (II) config/udev: Adding input device SYNA32E0:00 06CB:CE17 Mouse (/dev/input/event7)
[   786.910] (**) SYNA32E0:00 06CB:CE17 Mouse: Applying InputClass "libinput pointer catchall"
[   786.910] (**) SYNA32E0:00 06CB:CE17 Mouse: Applying InputClass "MyMouse"
[   786.910] (II) Using input driver 'libinput' for 'SYNA32E0:00 06CB:CE17 Mouse'
[   786.910] (**) SYNA32E0:00 06CB:CE17 Mouse: always reports core events
[   786.911] (II) event7  - SYNA32E0:00 06CB:CE17 Mouse: is tagged by udev as: Mouse
[   786.911] (II) event7  - SYNA32E0:00 06CB:CE17 Mouse: device is a pointer
[   786.911] (II) event7  - SYNA32E0:00 06CB:CE17 Mouse: device removed
[   786.973] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-SYNA32E0:00/0018:06CB:CE17.0002/input/input7/event7"
[   786.973] (II) XINPUT: Adding extended input device "SYNA32E0:00 06CB:CE17 Mouse" (type: MOUSE, id 10)
[   786.973] (**) SYNA32E0:00 06CB:CE17 Mouse: (accel) selected scheme none/0
[   786.974] (**) SYNA32E0:00 06CB:CE17 Mouse: (accel) acceleration factor: 2.000
[   786.974] (**) SYNA32E0:00 06CB:CE17 Mouse: (accel) acceleration threshold: 4
[   786.975] (II) event7  - SYNA32E0:00 06CB:CE17 Mouse: is tagged by udev as: Mouse
[   786.975] (II) event7  - SYNA32E0:00 06CB:CE17 Mouse: device is a pointer
[   786.976] (II) config/udev: Adding input device SYNA32E0:00 06CB:CE17 Mouse (/dev/input/mouse1)
[   786.976] (**) SYNA32E0:00 06CB:CE17 Mouse: Applying InputClass "MyMouse"
[   786.976] (II) config/udev: Adding input device SYNA32E0:00 06CB:CE17 Touchpad (/dev/input/event8)
[   786.976] (**) SYNA32E0:00 06CB:CE17 Touchpad: Applying InputClass "libinput touchscreen catchall"
[   786.976] (II) Using input driver 'libinput' for 'SYNA32E0:00 06CB:CE17 Touchpad'
[   786.976] (**) SYNA32E0:00 06CB:CE17 Touchpad: always reports core events
[   786.977] (II) event8  - SYNA32E0:00 06CB:CE17 Touchpad: is tagged by udev as: Touchscreen
[   786.977] (II) event8  - SYNA32E0:00 06CB:CE17 Touchpad: device is a touch device
[   786.977] (II) event8  - SYNA32E0:00 06CB:CE17 Touchpad: device removed
[   787.046] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-SYNA32E0:00/0018:06CB:CE17.0002/input/input8/event8"
[   787.046] (II) XINPUT: Adding extended input device "SYNA32E0:00 06CB:CE17 Touchpad" (type: TOUCHSCREEN, id 11)
[   787.047] (**) SYNA32E0:00 06CB:CE17 Touchpad: (accel) selected scheme none/0
[   787.047] (**) SYNA32E0:00 06CB:CE17 Touchpad: (accel) acceleration factor: 2.000
[   787.047] (**) SYNA32E0:00 06CB:CE17 Touchpad: (accel) acceleration threshold: 4
[   787.048] (II) event8  - SYNA32E0:00 06CB:CE17 Touchpad: is tagged by udev as: Touchscreen
[   787.048] (II) event8  - SYNA32E0:00 06CB:CE17 Touchpad: device is a touch device
[   787.049] (II) config/udev: Adding input device SYNA32E0:00 06CB:CE17 Touchpad (/dev/input/mouse2)
[   787.490] (II) event7  - SYNA32E0:00 06CB:CE17 Mouse: device removed
[   787.523] (II) event8  - SYNA32E0:00 06CB:CE17 Touchpad: device removed
tc@box:~$
--- End code ---

Maybe Xorg was not compiled for this driver, or I have a bug in firmware, because Synaptic is seen both as mouse and as a touch-pad.
I do not know how to tame udev & xorg to see it only as a touch-pad.
--- Code: ---tc@box:~$ dmesg | grep -i syn
[    1.199343] usbcore: registered new interface driver synaptics_usb
[  166.264675] input: SYNA32E0:00 06CB:CE17 Mouse as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-SYNA32E0:00/0018:06CB:CE17.0002/input/input7
[  166.265428] input: SYNA32E0:00 06CB:CE17 Touchpad as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-SYNA32E0:00/0018:06CB:CE17.0002/input/input8
[  166.266197] hid-generic 0018:06CB:CE17.0002: input,hidraw1: I2C HID v1.00 Mouse [SYNA32E0:00 06CB:CE17] on i2c-SYNA32E0:00
tc@box:~$
--- End code ---


Juanito:
I'm surprised that there's not a way to better configure your touchpad with libinput.

Are any of /usr/local/lib/libinput/libinput-* useful in analysing what's available to adjust with libinput.

I'm not sure if the synaptics driver will work with libinput - you could try building xf86-input-evdev and using the synaptics driver with that instead of using xf86-input-libinput.

nick65go:
@Juanito: Thanks, I will try to grab also the xf86-input-evdev from Archlinux, So I will delete xf86-input-libinput and use only the combination of xf86-input-evdev (for mouse) and synaptic (for touch-pad). As a last resort I will try replacing the Xorg-3D with one from Arch-Linux (or CachyOS) as they have ALL xf86-input* drivers. If I have any progress (useful for TC users)) I will let you know to mark this subject as closed.

It will be welcome if Tinycore team will allow the users the option the have those two input drivers for Xorg in the tcz list in the future (as it was in the past versions, until TC14).

Juanito:
It’s xorg-server that uses xf86-input* and xf86-video* so using xf86-input-evdev from another distro will only work if they have the same major version of xorg-server as tinycore.

xf86-input-evdev is easy to compile on tinycore.

nick65go:
Thanks, I never compiled something in/on Tinycore until now; I am not in this business to compile as a user  :( ; Sorry for me in year 2025 is split: work or abandon the distro if too much not customizable / functional without compile.

BTW, in TC wit minimal xorg-3d + firmware:
--- Code: ---tc@box:~$ ls -al /usr/local/lib/libinput*
ls: /usr/local/lib/libinput*: No such file or directory
tc@box:~$
--- End code ---

Navigation

[0] Message Index

[#] Next page

Go to full version