After upgrading my Surface Go to Focal from Eoan, the touchscreen has stopped working.
A snippet from journalctl:
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (II) systemd-logind: got fd for /dev/input/event4 13:68 fd 28 paused 0
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (**) ELAN9038:00 04F3:261A: always reports core events
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (**) Option "Device" "/dev/input/event4"
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (**) Option "_source" "server/udev"
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (II) event4 - ELAN9038:00 04F3:261A: is tagged by udev as: Touchscreen
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (II) event4 - ELAN9038:00 04F3:261A: device is a touch device
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (II) event4 - ELAN9038:00 04F3:261A: device removed
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-1/i2c-ELAN9038:00/0018:04F3:261A.0001/input/input20/event4"
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (II) XINPUT: Adding extended input device "ELAN9038:00 04F3:261A" (type: TOUCHSCREEN, id 11)
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (**) Option "AccelerationScheme" "none"
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (**) ELAN9038:00 04F3:261A: (accel) selected scheme none/0
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (**) ELAN9038:00 04F3:261A: (accel) acceleration factor: 2.000
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (**) ELAN9038:00 04F3:261A: (accel) acceleration threshold: 4
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (II) event4 - ELAN9038:00 04F3:261A: is tagged by udev as: Touchscreen
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (II) event4 - ELAN9038:00 04F3:261A: device is a touch device
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (II) config/udev: Adding input device ELAN9038:00 04F3:261A (/dev/input/mouse0)
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (II) No input driver specified, ignoring this device.
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (II) This device may have been added with another device file.
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (II) config/udev: Adding input device ELAN9038:00 04F3:261A (/dev/input/event5)
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (**) ELAN9038:00 04F3:261A: Applying InputClass "libinput tablet catchall"
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (II) Using input driver 'libinput' for 'ELAN9038:00 04F3:261A'
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (II) systemd-logind: got fd for /dev/input/event5 13:69 fd 29 paused 0
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (**) ELAN9038:00 04F3:261A: always reports core events
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (**) Option "Device" "/dev/input/event5"
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (**) Option "_source" "server/udev"
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (II) event5 - ELAN9038:00 04F3:261A: is tagged by udev as: Tablet
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (II) event5 - ELAN9038:00 04F3:261A: tablet 'ELAN9038:00 04F3:261A' unknown to libwacom
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (II) event5 - ELAN9038:00 04F3:261A: device is a tablet
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (II) event5 - ELAN9038:00 04F3:261A: device removed
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-1/i2c-ELAN9038:00/0018:04F3:261A.0001/input/input23/event5"
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (II) XINPUT: Adding extended input device "ELAN9038:00 04F3:261A" (type: TABLET, id 12)
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (II) event5 - ELAN9038:00 04F3:261A: is tagged by udev as: Tablet
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (II) event5 - ELAN9038:00 04F3:261A: tablet 'ELAN9038:00 04F3:261A' unknown to libwacom
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (II) event5 - ELAN9038:00 04F3:261A: device is a tablet
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (II) config/udev: Adding input device ELAN9038:00 04F3:261A (/dev/input/mouse1)
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (II) No input driver specified, ignoring this device.
12:43:15 /usr/lib/gdm3/gdm-x-session[1586]: (II) This device may have been added with another device file.
ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: linux-image-5.4.0-14-generic 5.4.0-14.17
ProcVersionSignature: Ubuntu 5.4.0-14.17-generic 5.4.18
Uname: Linux 5.4.0-14-generic x86_64
ApportVersion: 2.20.11-0ubuntu18
Architecture: amd64
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/controlC0: david 1694 F.... pulseaudio
CurrentDesktop: ubuntu:GNOME
Date: Tue Mar 3 02:27:15 2020
InstallationDate: Installed on 2020-01-29 (33 days ago)
InstallationMedia: Ubuntu 19.10 "Eoan Ermine" - Release amd64 (20191017)
Lsusb:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 045e:096f Microsoft Corp. Surface Type Cover
Bus 001 Device 002: ID 0cf3:e302 Qualcomm Atheros Communications
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: Microsoft Corporation Surface Go
ProcEnviron:
TERM=xterm-256color
PATH=(custom, no user)
XDG_RUNTIME_DIR=<set>
LANG=en_US.UTF-8
SHELL=/bin/bash
ProcFB: 0 i915drmfb
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-5.4.0-14-generic root=/dev/mapper/vgubuntu-root ro
RelatedPackageVersions:
linux-restricted-modules-5.4.0-14-generic N/A
linux-backports-modules-5.4.0-14-generic N/A
linux-firmware 1.186
SourcePackage: linux-5.4
StagingDrivers: ipu3_imgu
UpgradeStatus: Upgraded to focal on 2020-01-30 (33 days ago)
dmi.bios.date: 12/12/2018
dmi.bios.vendor: Microsoft Corporation
dmi.bios.version: 1.0.14
dmi.board.name: Surface Go
dmi.board.vendor: Microsoft Corporation
dmi.chassis.type: 9
dmi.chassis.vendor: Microsoft Corporation
dmi.chassis.version: Chassis Version
dmi.modalias: dmi:bvnMicrosoftCorporation:bvr1.0.14:bd12/12/2018:svnMicrosoftCorporation:pnSurfaceGo:pvr1:rvnMicrosoftCorporation:rnSurfaceGo:rvr:cvnMicrosoftCorporation:ct9:cvrChassisVersion:
dmi.product.family: Surface
dmi.product.name: Surface Go
dmi.product.sku: Surface_Go_1824_Consumer
dmi.product.version: 1
dmi.sys.vendor: Microsoft Corporation
@davidkrauser,
Are you able/willing to post a dmesg output from both the failing and the last working kernel? This should show any firmware that's being loaded (or not loaded) for the touchscreen.