Score:0

Touchscreen doesn't work on CF-18 with Ubuntu-32 bit 18.04.6 LTS

ua flag

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:

  1. 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.

  1. 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)?

guiverc avatar
cn flag
FYI: Lubuntu 18.04 LTS is no longer supported; refer https://lubuntu.me/bionic-eol/ or https://fridge.ubuntu.com/2020/08/14/ubuntu-18-04-5-lts-released/ where you'll note only Ubuntu Server, Ubuntu Desktop & Ubuntu Cloud come with 5 years of support; *flavors* had shorter lives. I'd suggest using `ubuntu-support-status` to assess the security status of your actual install. Your question is still on-topic here, but consider how much security matters to you and the results of prior command. You're now using Ubuntu 18.04 LTS with LXDE (*not Lubuntu*).
guiverc avatar
cn flag
You don't mention kernel stack; Ubuntu LTS releases offer two kernel stack choices; with Lubuntu the default was dictated by the ISO used to install the system; one may perform better in your use-case than the other; so have you explored that?
guiverc avatar
cn flag
Lubuntu 18.04, 18.04.1 & alternate default to GA kernel stack, Lubuntu 18.04.2 thru 18.04.5 ISOs default to GA stack - ie. the ISO used to install dictates the default (which of the seven Lubuntu 18.04 ISOs you used you didn't specify). FYI: No it won't; only parts used by main Ubuntu Desktop (GNOME) are still supported; refer https://discourse.lubuntu.me/t/lubuntu-18-04-lts-end-of-life-30-april-2021/2466/7 where in the example I had "*You have 549 packages (29.2%) that are unsupported*"
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.