Today was the day I decided to work out why my touchpad is not working under Linux on my Dell 9560. It is a tale of obscure bugs and issues, but ultimately I now have it working again, so there's that...
This is mostly a note for my future self to find, but maybe other people with the XPS 15 will also sometimes face this issue. My google-fu was insufficient to find any existing mentions of this problem.
It's been an issue for a while for me - perhaps 3-6 months. I didn't notice when it started because I don't normally want the touchpad as I have a mouse plugged in almost all the time. Occasionally I go to a meeting with my laptop (you know: the long boring ones where you might want to do some coding to stay awake :-) and when I do having the touchpad is nice.
So ultimately it turns out there are two issues - I should have figured that right at the start. The first issue is to do with Xorg and NVidia Optimus, because of course the laptop should have two GPUs but just wake up the really powerful one for when you're playing games.
I'm not much of a gamer, but earlier this year a new game came out that I kind of looked forward to, so I took the time to figure out how to get the GPU working. This means installing 'bumblebee', but whenever I'd tried that the laptop locked up on boot so I'd ho-hummed and said oh well, I can live without all the extra fan noise anyway.
The lockup issue apparently affects many, many laptops with NVidia 9XX and 10XX Optimus cards - naturally including all of the Dell XPS series - and is tracked and discussed for several years here:
https://github.com/Bumblebee-Project/Bumblebee/issues/764
The recommended solution is to add some arcane incantations onto the Grub command-line, specifically:
GRUB_CMDLINE_LINUX='acpi_osi=! acpi_osi="Windows 2009"'
and variations on that theme.
So I did that, and happily played my games for a while without noticing that my touchpad stopped working until I recently moved into a more "meeting enhanced" period of my life.
So after about an hour of mucking around today I finally twigged that the reason Linux wasn't finding my touchpad was because it had been told to cripple it's ACPI in order that Xorg wouldn't accidentaly find the NVidia card during startup...
As a result I've now switched to an alternative approach of switching the bumblebee on during the Xorg startup, and switching it off in my ~/.xsessionrc (which obviously runs after I've logged in and X is already running).
I now happily have the GPU available when needed (actually mostly for OpenCL to speed up processing photos nowadays) and I no longer need to drag my mouse with me everywhere I go.
Yay!