On Gnome 2.32 selecting the option "Disable touchpad while typing" on System > Preferences > Mouse causes gnome-settings-daemon-2.31.1 to launch syndaemon with a fixed polling interval of 200ms. This default settings for syndaemon produce unnecessary cpu wakeups, increasing power consumption and shortening the battery life (on laptops). On idle this is one of the top causes of wakeups on my system. It is possible to execute syndaemon with the -R option, which uses XRecord extension of the Xserver avoiding the need for a fixed polling interval. Both the stable syndaemon and xorg-server in Portage support this features. However, since the syndaemon launch command is hardcoded on gnome-settings-daemon it is necessary to patch the source. I propose to include in the gnome-settings-daemon-2.31.1 ebuild the patch that was accepted upstream to fix this bug. The required patch is extremely simple, but I think that it's committed for Gnome 3 only. Even though, users of Gnome 2 could take benefit of it as well. Reproducible: Always Steps to Reproduce: 1. Install stable Gnome 2.32 from Portage 2. Select "Disable touchpad while typing" on System > Preferences > Mouse 3. Actual Results: 1. syndaemon is launched without the -R option 2. powertop shows that syndaemon causes 5 wakeups per second Expected Results: syndaemon could use XRecord and not increase significantly the cpu wakeups. The URL provided in this bug report is the upstream bug report on Gnome that was confirmed and fixed.
Created attachment 276941 [details, diff] Patch for gnome-settings-daemon-2.31.1 to modify syndaemon launch I've tried this patch on gnome-settings-daemon-2.31.1 on my local overlay and is working fine. The patch just modifies 3 lines of the gsd-mouse-manager.c source file.
+*gnome-settings-daemon-2.32.1-r2 (15 Jun 2011) + + 15 Jun 2011; Pacho Ramos <pacho@gentoo.org> + +gnome-settings-daemon-2.32.1-r2.ebuild, + +files/gnome-settings-daemon-2.32.1-media-keys-react.patch, + +files/gnome-settings-daemon-2.32.1-syndaemon-mode.patch: + Revision bump with upstream patches to react to stream-removed signal from + GvcMixerControl and use event driven mode for syndaemon (bug #371455 by Alex + Domingo). +