The touchscreen on my dual-boot laptop doesn't work on Ubuntu. I've been looking around to what might be causing the problems and how to solve them but I've run into a dead end.
The hardware works because Windows has no problem with it.
The system registers(?) there is a touchscreen as can be seen on the output of xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech USB Receiver id=9 [slave pointer (2)]
⎜ ↳ Logitech USB Receiver id=10 [slave pointer (2)]
⎜ ↳ Raydium Corporation Raydium Touch System id=11 [slave pointer (2)]
⎜ ↳ ELAN0501:00 04F3:3093 Touchpad id=13 [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)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ HD User Facing: HD User Facing id=12 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
↳ Acer WMI hotkeys id=15 [slave keyboard (3)]
↳ Logitech USB Receiver id=16 [slave keyboard (3)]
Where the Raydium Corporation Raydium Touch System corresponds to the touchscreen.
Running sudo lsinput I can get more details on it:
/dev/input/event7
bustype : BUS_USB
vendor : 0x2386
product : 0x3125
version : 272
name : "Raydium Corporation Raydium Touc"
phys : "usb-0000:00:14.0-6/input0"
uniq : ""
bits ev : (null) (null) (null) (null)
But here the success ends. If I try extracting any data from it through sudo cat /dev/input/event7 the output is empty.
These were all steps suggested by the page https://wiki.ubuntu.com/X/Testing/Touch, but except for the next steps, of which I'm not sure what they mean:
- Kernel support for touch and pen screens can be found in:
- drivers/input/touchscreen
- drivers/input/tablet
- drivers/hid
- Determine the firmware version and update appropriate hardware table: N-Trig: https://wiki.ubuntu.com/Multitouch/NtrigFirmwareStatus
this page itself has "(TODO: Then what?)" exactly at the stage I get at.
Regarding drivers, I have managed to find only this page https://github.com/torvalds/linux/tree/master/drivers/input/touchscreen which has a driver for Raydium Touch but only for the i2c bus, whereas my touchscreen is connected through BUS_USB
raydium_i2c_ts.c | Input: raydium_i2c_ts - use true and false for boolean values
I have been looking around questions about touchscreens and I've noticed some other people have complained about it with exactly the same touchscreen and USB bus, but with widely different laptops and versions of Ubuntu. (There were no answers there.)
Is it simply the drivers missing? How can I check? Where could I find such drivers? Can updating Linux kernel help in any way? How come the screen appears on the input lists?
Would the i2c bus driver for this touchscreen work for the USB bus or is there any way of converting it?
I would be grateful for any hints or speculations on which directions could I go to solve this issue or what could I look into. I am not too experienced yet on how does Linux handle these low-level things.
Exact specs for reference
- Acer Swift 5 SF514-53T
- Ubuntu 20.04.04 LTS (also 18.04.1 LTS)
- Bios 1.03
- Kernel 4.15.0-45-generic