If running sudo rmmod hid_multitouch
after a reboot disables your touchscreen try this:
su -c "echo "SUSPEND_MODULES="hid_multitouch"" >> /etc/pm/config.d/modules"
This will unload that module prior to suspend, hopefully fixing your problem.
If that's not the case, run xinput --list
while the touchscreen is working and when the touchscreen is not working, compare the output, if something is missing when you resume from a suspend, you'll have to re.
Example output:
⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ ITE Tech. Inc. ITE Device(8595) id=11 [slave pointer (2)] ⎜ ↳ ITE Tech. Inc. ITE Device(8595) Touchpad id=12 [slave pointer (2)] ⎜ ↳ SYNA7508:00 06CB:77B2 id=14 [slave pointer (2)]
My touchscreen device is SYNA7508:00 06CB:77B2 id=14
Try running xinput set-prop DEVICE_ID "Device Enabled" 0 && xinput set-prop DEVICE_ID "Device Enabled" 1
replacing the ID with your device ID post suspend.
If that command fixes it, try replacing it with the rmmod&&modprobe found here (dont forget to chmod u+x the file making it executable): https://bugs.launchpad.net/ubuntu/+source/xinput/+bug/1275416/comments/28 However, if the device does not show up after suspend, you'll have to reattach it, here's another example: https://bugs.launchpad.net/ubuntu/+source/xinput/+bug/1275416/comments/19