Start a Conversation

Unsolved

This post is more than 5 years old

20699

August 14th, 2015 06:00

[patch] fixes x-segfaults after touchpad goes into inconsistent state (BUG: triggered 'if (priv->num_active_touches > priv->num_slots)')

running the XPS  13 for a while with  Mageia, it  doesn't take long  until the logs  are  flooded with the synaptics-driver errors as mentioned in the  subject.

It then is only a matter of time until X itself segfaults (i.e.  terminates your session and you're back at  your loginmanager). 

There's a patch  available at https://bugs.freedesktop.org/show_bug.cgi?id=88903 that  fixes the  problem for  me.

So if you suffer from random crashes, check whether you have the related  messages  in  your syslog/Xorg log.

29 Posts

August 14th, 2015 14:00

How do I apply the patch?

74 Posts

August 15th, 2015 07:00

you need to rebuild the synaptics package. For ubuntu it is something like the following:

  • sudo apt-get install devscripts # installs helper scripts to ease building the packages
  • sudo apt-get install build-deps xserver-xorg-input-synaptics # installs the packages required to build the package
  • mkdir -p ~/tmp/rebuild ; cd ~/tmp/rebuild # create a directory to work in
  • apt-get source xserver-xorg-input-synaptics # download the sources into the current directory
  • cd xserver-xorg-input-synaptics-1.8.1 #  switch  to the source-dir
  • cp ~/Downloads/0001-Fix-incorrect-handling-of-multiple-SLOTSTATE_CLOSE-S.patch debian/patches/ # copy the patch into the package
  • echo "0001-Fix-incorrect-handling-of-multiple-SLOTSTATE_CLOSE-S.patch" >> debian/patches/series # add the patch to the list of patches that should be applied
  • debuild -us -uc # rebuild the package, skipping signing the package

That will create the new .deb packages in ~/tmp/rebuild that you can then install via

  • sudo dpkg -i ~/tmp/rebuild/xserver-xorg-input-synaptics_1.8.1-1ubuntu1_amd64.deb

Hope that helps.

29 Posts

August 15th, 2015 15:00

Great, thanks, that's very kind of you.

No Events found!

Top