I'm trying to get a touchscreen in my old CF-18 working properly with the standard libinput driver, but fail so far. Is there anybody who did something similar or understand well this part of the system (i.e. kernel, serial ports and libinput configs) in Ubuntu-32 bit 18.04.6 LTS with kernel 5.4.0-91-generic.
The problem, as I see it, is with LBPS/2 Fujitsu Lifebook TouchScreen. You know, it is a long standing pain in the neck (see https://github.com/okias/xf86-input-fujitouch and https://www.linuxquestions.org/questions/linux-laptop-and-netbook-25/fujitsu-p1610-serial-touchscreen-driver-install-4175643165/ or https://tldp.org/HOWTO/XFree86-Touch-Screen-HOWTO-5.html)
In my CF-18, with an out-of-the-box version of lubuntu 18.04 (after apt upgrade), a touchscreen is alive and even passes something to /dev/event6. But the mouse pointer slides along the X-axis only at the bottom of the screen (somewhere over the panel line, thus I can see the full mouse pointer icon over the line)
I see by $ libinput list-devices
that the device has been detected and registered by X-subsystem
Device: LBPS/2 Fujitsu Lifebook TouchScreen
Kernel: /dev/input/event6
Group: 7
Seat: seat0, default
Capabilities: touch
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: identity matrix
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
but I found the following suspicious lines:
...
[ 37.324] (II) event6 - LBPS/2 Fujitsu Lifebook TouchScreen: device removed
...
[ 37.329] (II) No input driver specified, ignoring this device.
[ 37.329] (II) This device may have been added with another device file.
in /var/log/Xorg.0.log (relating to event6):
[ 37.305] (II) config/udev: Adding input device LBPS/2 Fujitsu Lifebook TouchScreen (/dev/input/event6)
[ 37.305] (**) LBPS/2 Fujitsu Lifebook TouchScreen: Applying InputClass "libinput touchscreen catchall"
[ 37.305] (**) LBPS/2 Fujitsu Lifebook TouchScreen: Applying InputClass "calibration"
[ 37.306] (II) Using input driver 'libinput' for 'LBPS/2 Fujitsu Lifebook TouchScreen'
[ 37.306] (**) LBPS/2 Fujitsu Lifebook TouchScreen: always reports core events
[ 37.306] (**) Option "Device" "/dev/input/event6"
[ 37.306] (**) Option "_source" "server/udev"
[ 37.308] (II) event6 - LBPS/2 Fujitsu Lifebook TouchScreen: is tagged by udev as: Touchscreen
[ 37.324] (II) event6 - LBPS/2 Fujitsu Lifebook TouchScreen: device is a touch device
[ 37.324] (II) event6 - LBPS/2 Fujitsu Lifebook TouchScreen: device removed
[ 37.324] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio3/input/input11/event6"
[ 37.324] (II) XINPUT: Adding extended input device "LBPS/2 Fujitsu Lifebook TouchScreen" (type: TOUCHSCREEN, id 11)
[ 37.324] (**) Option "AccelerationScheme" "none"
[ 37.325] (**) LBPS/2 Fujitsu Lifebook TouchScreen: (accel) selected scheme none/0
[ 37.325] (**) LBPS/2 Fujitsu Lifebook TouchScreen: (accel) acceleration factor: 2.000
[ 37.325] (**) LBPS/2 Fujitsu Lifebook TouchScreen: (accel) acceleration threshold: 4
[ 37.327] (II) event6 - LBPS/2 Fujitsu Lifebook TouchScreen: is tagged by udev as: Touchscreen
[ 37.327] (II) event6 - LBPS/2 Fujitsu Lifebook TouchScreen: device is a touch device
[ 37.329] (II) config/udev: Adding input device LBPS/2 Fujitsu Lifebook TouchScreen (/dev/input/mouse1)
[ 37.329] (**) LBPS/2 Fujitsu Lifebook TouchScreen: Applying InputClass "calibration"
[ 37.329] (II) No input driver specified, ignoring this device.
[ 37.329] (II) This device may have been added with another device file.
at the same time one can find in my 40-libinput.conf that a tochscreen must have a libinput driver:
# Match on all types of devices but joysticks
Section "InputClass"
Identifier "libinput pointer catchall"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
Section "InputClass"
Identifier "libinput keyboard catchall"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
Section "InputClass"
Identifier "libinput touchpad catchall"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
Section "InputClass"
Identifier "libinput touchscreen catchall"
MatchIsTouchscreen "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
# Driver "fujitsu"
EndSection
Section "InputClass"
Identifier "libinput tablet catchall"
MatchIsTablet "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
I tried to do the following:
- Calibrate the driver:
xinput_calibrator --device "LBPS/2 Fujitsu Lifebook TouchScreen" -v > /etc/X11/xorg.conf.d/99-calibration.conf'
Unfortunately a calibrator gave me the following:
Section "InputClass"
Identifier "calibration"
MatchProduct "LBPS/2 Fujitsu Lifebook TouchScreen"
Option "MinX" "4901"
Option "MaxX" "59898"
Option "MinY" "65194"
Option "MaxY" "65194"
Option "SwapXY" "0" # unless it was already set to 1
Option "InvertX" "0" # unless it was already set
Option "InvertY" "0" # unless it was already set
EndSection
so I changed 'Option "MinY" "65194"' to Option "MinY" "4900" in the /etc/X11/xorg.conf.d/99-calibration.conf. A restart resulted in the nothing new - I saw a mouse pointer moving over the status line along x-axis only.
- Compile a new serial driver from 1 and changed config-files following the recommendations given there, but it crashed starting X-server at all.
Well, is there any idea what may mean the fact that "MinY" "65194" is equal to "MaxY" "65194" after the calibration pocedure? Can I rest assured that my serial port connected to the touchscreen driver works properly and it is the driver (or the absence of it in X-environment, as it is said above in the last two lines of Xorg.0.log) that causes the problem, and therefore I should keep trying to tune it more carefully (by means of some kind of changes in identity matrix, for instance)?