Re: [PATCH synaptics] conf: rename to 70-synaptics.conf

2016-05-23 Thread Stefan Dirsch
On Mon, May 23, 2016 at 11:41:00AM +1000, Peter Hutterer wrote:
> On Thu, May 19, 2016 at 05:35:57PM +0200, Stefan Dirsch wrote:
> > Bump up synaptics driver to 70, so it get's perferred over libipnut,
> > which was dropped down to 60. Reason is, that synaptics driver is more
> > of an additional driver, which then should be installed if installed.
> > 
> > Similar to what was done for wacom configuration file.
> > 
> > https://bugzilla.suse.com/show_bug.cgi?id=979554
> > 
> > Signed-off-by: Stefan Dirsch 
> 
> thanks, for the synaptics driver this makes sense.
> I've changed the commit message a bit though, pushed 
> 
>979fbec..59e5db0  master -> master

Thanks a lot!

> You really want to make sure you got the rpm package dependencies right in
> suse though, having synaptics installed now means that some things don't
> work as well anymore (GNOME is focusing on libinput only now).

For future products we no longer install synaptics driver by default, so we
should be on the safe side. ;-)

CU,
Stefan

Public Key available
--
Stefan Dirsch (Res. & Dev.)   SUSE LINUX GmbH
Tel: 0911-740 53 0Maxfeldstraße 5
FAX: 0911-740 53 479  D-90409 Nürnberg
http://www.suse.deGermany 
---
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham
Norton, HRB 21284 (AG Nürnberg)
---
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH synaptics] conf: rename to 70-synaptics.conf

2016-05-22 Thread Peter Hutterer
sorry, I didn't see this one until I replied to it separately.

On Fri, May 20, 2016 at 12:20:02PM +0200, Hans de Goede wrote:
> Hi,
> 
> On 19-05-16 17:35, Stefan Dirsch wrote:
> > Bump up synaptics driver to 70, so it get's perferred over libipnut,
> > which was dropped down to 60. Reason is, that synaptics driver is more
> > of an additional driver, which then should be installed if installed.
> > 
> > Similar to what was done for wacom configuration file.
> > 
> > https://bugzilla.suse.com/show_bug.cgi?id=979554
> > 
> > Signed-off-by: Stefan Dirsch 
> 
> The difference is that the wacom driver provides a whole bunch of
> functionality over libinput (*), where as the synaptics driver is mostly
> just an old crufty driver which we want to get rid of.
> 
> So NACK, we really want people to switch to libinput for touchpads.

> If there is any reason why a user cannot switch please ask the user to file a
> bug against libinput directly at bugzilla.freedesktop.org, at a minimum we
> should be able to explain to the user why he cannot have his pony (e.g.
> some weird synaptics specific behavior which we deem undesirable) and in
> many cases users complaints are valid and we've been able to fix them
> by improving libinput's touchpad behavior, without introducing the need
> to tweak a config file to their desire as people have typically been
> doing with synaptics.
> 
> By making libinput's touchpad support just work we can greatly improve
> the touchpad experience under Linux, instead of people having to do
> dark magic in their synaptics-config to get things to work to their
> liking.
> 
> Ugh, just looked at the bug, I see that the user wants circular
> scrolling on a Dell Latitude E6510, which has a perfectly normal
> rectangular touchpad, so I'm afraid this one falls into the
> "cannot have his pony" category, even if we where to ever add
> support for this to libinput (unlikely since round touchpads
> have gone out of fashion a long time ago), we will likely not offer
> it on rectangular touchpads
> 
> So back to the patch, we want libinput to have a higher prio, as
> we want to move existing users over to synaptics, even they do a
> dist-upgrade from a previous distro release which had the synaptics
> driver. We cannot force uninstall the synaptics driver by say adding
> an Obsoletes to the libinput driver .spec file, because we still offer
> the synaptics driver for users who have a special case which is better
> served by synaptics. Given these conflicting desires, we require a
> bit of manual config from the special case users in the form of
> manually adding a config file to enable synaptics with a higher
> priority then libinput.
> 
> Looking at Suse bug I see that you've already made this proposed
> change in the suse pkgs, and also for evdev. What does this mean for
> users who have upgraded from older suse versions rather then done
> a fresh install? Will they somehow get the synaptics and evdev
> drivers uninstalled on upgrade ? If not I would advise you to
> undo this change, because evdev / synaptics support is likely
> to bitrot, both on the xorg side as well as wrt support by
> gnome/kde/xfce mouse/touchpad configuration panels, so IMHO
> you're doing users who are upgrading from one release to the
> next a disservice by keeping them on evdev / synaptics,
> or in some cases likely switching them back from libinput to
> evdev / synaptics when they get the updated packages with the
> higher prio for evdev / synaptics.

So first, obviously I agree that we want to switch to libinput everywhere.
synaptics is on maintenance mode already and I'm not planning to fix
anything but the most obivous bugs. but I think this change is actually the
right one for the long-term (as an upstream project).

Speaking from the fedora perspective: we've changed to libinput-by-default
in F22 so we now have 3 releases shipping with libinput by default. I think
most of our users have switched over now and the ones that still prefer
synaptics needed to add custom snippets. These snippets are more likely to
stay around than a default config though. so if we make sure
synaptics isn't installed unless explicitly requested then we're actually
making the path to libinput adoption easier - just installing/uninstalling
synaptics activates it. This is the same as for wacom and superior to
relying on users to find the right instructions on how to enable synaptics.

so, with my upstream hat on, I think this is a good change. I won't actually
take this change into Fedora just yet and it's up to each distribution to
figure out how to uninstall synaptics from user's machines. but over time we
can now say "just uninstall that package and you'll be fine" rather than the
config/symlink dance.

Cheers,
   Peter

PS: I think we may be able to do a Provides or Conflicts < some version
inside xorg-x11-drv-libinput to effectively remove synaptics. Not 100%
if this would work though.

> 
> Regards,
> 
> Hans
> 
> 
> *) 

Re: [PATCH synaptics] conf: rename to 70-synaptics.conf

2016-05-22 Thread Peter Hutterer
On Thu, May 19, 2016 at 05:35:57PM +0200, Stefan Dirsch wrote:
> Bump up synaptics driver to 70, so it get's perferred over libipnut,
> which was dropped down to 60. Reason is, that synaptics driver is more
> of an additional driver, which then should be installed if installed.
> 
> Similar to what was done for wacom configuration file.
> 
> https://bugzilla.suse.com/show_bug.cgi?id=979554
> 
> Signed-off-by: Stefan Dirsch 

thanks, for the synaptics driver this makes sense.
I've changed the commit message a bit though, pushed 

   979fbec..59e5db0  master -> master

You really want to make sure you got the rpm package dependencies right in
suse though, having synaptics installed now means that some things don't
work as well anymore (GNOME is focusing on libinput only now).

Cheers,
   Peter
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH synaptics] conf: rename to 70-synaptics.conf

2016-05-20 Thread Emil Velikov
On 19 May 2016 at 17:51, Eric Engestrom  wrote:
> On Thu, May 19, 2016 at 05:35:57PM +0200, Stefan Dirsch wrote:
>> ---
>>  conf/50-synaptics.conf | 46 --
>>  conf/70-synaptics.conf | 46 ++
>
> Also, `git format-patch` supports -M, which avoids all this "delete whole file
> and create a whole new file" in favour of "move this file" ;)

Sadly it's not on be default. Just found out how to toggle, so decided to share
$ git config diff.renames true

Cool thing here is that it's a small/short file that was moved, so
it's not a big deal.
Perhaps we should add a --local one to autogen.sh ?


-Emil
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH synaptics] conf: rename to 70-synaptics.conf

2016-05-20 Thread Stefan Dirsch
On Fri, May 20, 2016 at 12:20:02PM +0200, Hans de Goede wrote:
> Hi,
> 
> On 19-05-16 17:35, Stefan Dirsch wrote:
> >Bump up synaptics driver to 70, so it get's perferred over libipnut,
> >which was dropped down to 60. Reason is, that synaptics driver is more
> >of an additional driver, which then should be installed if installed.
> >
> >Similar to what was done for wacom configuration file.
> >
> >https://bugzilla.suse.com/show_bug.cgi?id=979554
> >
> >Signed-off-by: Stefan Dirsch 
> 
> The difference is that the wacom driver provides a whole bunch of
> functionality over libinput (*), where as the synaptics driver is mostly
> just an old crufty driver which we want to get rid of.
> 
> So NACK, we really want people to switch to libinput for touchpads.
> 
> If there is any reason why a user cannot switch please ask the user to file a
> bug against libinput directly at bugzilla.freedesktop.org, at a minimum we
> should be able to explain to the user why he cannot have his pony (e.g.
> some weird synaptics specific behavior which we deem undesirable) and in
> many cases users complaints are valid and we've been able to fix them
> by improving libinput's touchpad behavior, without introducing the need
> to tweak a config file to their desire as people have typically been
> doing with synaptics.
> 
> By making libinput's touchpad support just work we can greatly improve
> the touchpad experience under Linux, instead of people having to do
> dark magic in their synaptics-config to get things to work to their
> liking.
> 
> Ugh, just looked at the bug, I see that the user wants circular
> scrolling on a Dell Latitude E6510, which has a perfectly normal
> rectangular touchpad, so I'm afraid this one falls into the
> "cannot have his pony" category, even if we where to ever add
> support for this to libinput (unlikely since round touchpads
> have gone out of fashion a long time ago), we will likely not offer
> it on rectangular touchpads
> 
> So back to the patch, we want libinput to have a higher prio, as
> we want to move existing users over to synaptics, even they do a
> dist-upgrade from a previous distro release which had the synaptics
> driver. We cannot force uninstall the synaptics driver by say adding
> an Obsoletes to the libinput driver .spec file, because we still offer
> the synaptics driver for users who have a special case which is better
> served by synaptics. Given these conflicting desires, we require a
> bit of manual config from the special case users in the form of
> manually adding a config file to enable synaptics with a higher
> priority then libinput.
> 
> Looking at Suse bug I see that you've already made this proposed
> change in the suse pkgs, and also for evdev. What does this mean for
> users who have upgraded from older suse versions rather then done
> a fresh install? Will they somehow get the synaptics and evdev
> drivers uninstalled on upgrade ? If not I would advise you to
> undo this change, because evdev / synaptics support is likely
> to bitrot, both on the xorg side as well as wrt support by
> gnome/kde/xfce mouse/touchpad configuration panels, so IMHO
> you're doing users who are upgrading from one release to the
> next a disservice by keeping them on evdev / synaptics,
> or in some cases likely switching them back from libinput to
> evdev / synaptics when they get the updated packages with the
> higher prio for evdev / synaptics.

edev changes I've reverted (see my response to Peter's mail). I see that my
patch is not appreciated. ;-) I can and need to live with that. No issue. ;-)

My plan for SUSE is to no longer install the synatics driver by default, so
users setting up a new system will get libinput driver. For users updating
their system, synaptics driver won't get uninstalled and as a Linux
distributor I'm not interested in pissing them off by switching to a different
driver with a different feature set, so I need this higher priority for
synaptics. The same applies if somebody explicitely installs the synaptics
driver in addition. In that case he gets what he deserves, the synaptics
driver. ;-)

I agree, that we disagree here. ;-) We may get rid of synaptics driver rather
soon though. I'm going to help you to get there by encouraging users to report
the issues, they still see with libinput on bugs.freedesktop.org!

Thanks,
Stefan

Public Key available
--
Stefan Dirsch (Res. & Dev.)   SUSE LINUX GmbH
Tel: 0911-740 53 0Maxfeldstraße 5
FAX: 0911-740 53 479  D-90409 Nürnberg
http://www.suse.deGermany 
---
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham
Norton, HRB 21284 (AG Nürnberg)
---
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: 

Re: [PATCH synaptics] conf: rename to 70-synaptics.conf

2016-05-20 Thread Hans de Goede

Hi,

On 19-05-16 17:35, Stefan Dirsch wrote:

Bump up synaptics driver to 70, so it get's perferred over libipnut,
which was dropped down to 60. Reason is, that synaptics driver is more
of an additional driver, which then should be installed if installed.

Similar to what was done for wacom configuration file.

https://bugzilla.suse.com/show_bug.cgi?id=979554

Signed-off-by: Stefan Dirsch 


The difference is that the wacom driver provides a whole bunch of
functionality over libinput (*), where as the synaptics driver is mostly
just an old crufty driver which we want to get rid of.

So NACK, we really want people to switch to libinput for touchpads.

If there is any reason why a user cannot switch please ask the user to file a
bug against libinput directly at bugzilla.freedesktop.org, at a minimum we
should be able to explain to the user why he cannot have his pony (e.g.
some weird synaptics specific behavior which we deem undesirable) and in
many cases users complaints are valid and we've been able to fix them
by improving libinput's touchpad behavior, without introducing the need
to tweak a config file to their desire as people have typically been
doing with synaptics.

By making libinput's touchpad support just work we can greatly improve
the touchpad experience under Linux, instead of people having to do
dark magic in their synaptics-config to get things to work to their
liking.

Ugh, just looked at the bug, I see that the user wants circular
scrolling on a Dell Latitude E6510, which has a perfectly normal
rectangular touchpad, so I'm afraid this one falls into the
"cannot have his pony" category, even if we where to ever add
support for this to libinput (unlikely since round touchpads
have gone out of fashion a long time ago), we will likely not offer
it on rectangular touchpads

So back to the patch, we want libinput to have a higher prio, as
we want to move existing users over to synaptics, even they do a
dist-upgrade from a previous distro release which had the synaptics
driver. We cannot force uninstall the synaptics driver by say adding
an Obsoletes to the libinput driver .spec file, because we still offer
the synaptics driver for users who have a special case which is better
served by synaptics. Given these conflicting desires, we require a
bit of manual config from the special case users in the form of
manually adding a config file to enable synaptics with a higher
priority then libinput.

Looking at Suse bug I see that you've already made this proposed
change in the suse pkgs, and also for evdev. What does this mean for
users who have upgraded from older suse versions rather then done
a fresh install? Will they somehow get the synaptics and evdev
drivers uninstalled on upgrade ? If not I would advise you to
undo this change, because evdev / synaptics support is likely
to bitrot, both on the xorg side as well as wrt support by
gnome/kde/xfce mouse/touchpad configuration panels, so IMHO
you're doing users who are upgrading from one release to the
next a disservice by keeping them on evdev / synaptics,
or in some cases likely switching them back from libinput to
evdev / synaptics when they get the updated packages with the
higher prio for evdev / synaptics.

Regards,

Hans


*) For now.



---
 conf/50-synaptics.conf | 46 --
 conf/70-synaptics.conf | 46 ++
 conf/Makefile.am   |  2 +-
 man/synaptics.man  |  2 +-
 4 files changed, 48 insertions(+), 48 deletions(-)
 delete mode 100644 conf/50-synaptics.conf
 create mode 100644 conf/70-synaptics.conf

diff --git a/conf/50-synaptics.conf b/conf/50-synaptics.conf
deleted file mode 100644
index aa50456..000
--- a/conf/50-synaptics.conf
+++ /dev/null
@@ -1,46 +0,0 @@
-# Example xorg.conf.d snippet that assigns the touchpad driver
-# to all touchpads. See xorg.conf.d(5) for more information on
-# InputClass.
-# DO NOT EDIT THIS FILE, your distribution will likely overwrite
-# it when updating. Copy (and rename) this file into
-# /etc/X11/xorg.conf.d first.
-# Additional options may be added in the form of
-#   Option "OptionName" "value"
-#
-Section "InputClass"
-Identifier "touchpad catchall"
-Driver "synaptics"
-MatchIsTouchpad "on"
-# This option is recommend on all Linux systems using evdev, but cannot be
-# enabled by default. See the following link for details:
-# http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html
-#   MatchDevicePath "/dev/input/event*"
-EndSection
-
-Section "InputClass"
-Identifier "touchpad ignore duplicates"
-MatchIsTouchpad "on"
-MatchOS "Linux"
-MatchDevicePath "/dev/input/mouse*"
-Option "Ignore" "on"
-EndSection
-
-# This option enables the bottom right corner to be a right button on clickpads
-# and the right and middle top areas to be right / middle buttons on clickpads
-# with a top button area.
-# This option is 

Re: [PATCH synaptics] conf: rename to 70-synaptics.conf

2016-05-19 Thread Eric Engestrom
On Thu, May 19, 2016 at 05:35:57PM +0200, Stefan Dirsch wrote:
> ---
>  conf/50-synaptics.conf | 46 --
>  conf/70-synaptics.conf | 46 ++

Also, `git format-patch` supports -M, which avoids all this "delete whole file
and create a whole new file" in favour of "move this file" ;)
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

[PATCH synaptics] conf: rename to 70-synaptics.conf

2016-05-19 Thread Stefan Dirsch
Bump up synaptics driver to 70, so it get's perferred over libipnut,
which was dropped down to 60. Reason is, that synaptics driver is more
of an additional driver, which then should be installed if installed.

Similar to what was done for wacom configuration file.

https://bugzilla.suse.com/show_bug.cgi?id=979554

Signed-off-by: Stefan Dirsch 
---
 conf/50-synaptics.conf | 46 --
 conf/70-synaptics.conf | 46 ++
 conf/Makefile.am   |  2 +-
 man/synaptics.man  |  2 +-
 4 files changed, 48 insertions(+), 48 deletions(-)
 delete mode 100644 conf/50-synaptics.conf
 create mode 100644 conf/70-synaptics.conf

diff --git a/conf/50-synaptics.conf b/conf/50-synaptics.conf
deleted file mode 100644
index aa50456..000
--- a/conf/50-synaptics.conf
+++ /dev/null
@@ -1,46 +0,0 @@
-# Example xorg.conf.d snippet that assigns the touchpad driver
-# to all touchpads. See xorg.conf.d(5) for more information on
-# InputClass.
-# DO NOT EDIT THIS FILE, your distribution will likely overwrite
-# it when updating. Copy (and rename) this file into
-# /etc/X11/xorg.conf.d first.
-# Additional options may be added in the form of
-#   Option "OptionName" "value"
-#
-Section "InputClass"
-Identifier "touchpad catchall"
-Driver "synaptics"
-MatchIsTouchpad "on"
-# This option is recommend on all Linux systems using evdev, but cannot be
-# enabled by default. See the following link for details:
-# http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html
-#   MatchDevicePath "/dev/input/event*"
-EndSection
-
-Section "InputClass"
-Identifier "touchpad ignore duplicates"
-MatchIsTouchpad "on"
-MatchOS "Linux"
-MatchDevicePath "/dev/input/mouse*"
-Option "Ignore" "on"
-EndSection
-
-# This option enables the bottom right corner to be a right button on clickpads
-# and the right and middle top areas to be right / middle buttons on clickpads
-# with a top button area.
-# This option is only interpreted by clickpads.
-Section "InputClass"
-Identifier "Default clickpad buttons"
-MatchDriver "synaptics"
-Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
-Option "SecondarySoftButtonAreas" "58% 0 0 15% 42% 58% 0 15%"
-EndSection
-
-# This option disables software buttons on Apple touchpads.
-# This option is only interpreted by clickpads.
-Section "InputClass"
-Identifier "Disable clickpad buttons on Apple touchpads"
-MatchProduct "Apple|bcm5974"
-MatchDriver "synaptics"
-Option "SoftButtonAreas" "0 0 0 0 0 0 0 0"
-EndSection
diff --git a/conf/70-synaptics.conf b/conf/70-synaptics.conf
new file mode 100644
index 000..aa50456
--- /dev/null
+++ b/conf/70-synaptics.conf
@@ -0,0 +1,46 @@
+# Example xorg.conf.d snippet that assigns the touchpad driver
+# to all touchpads. See xorg.conf.d(5) for more information on
+# InputClass.
+# DO NOT EDIT THIS FILE, your distribution will likely overwrite
+# it when updating. Copy (and rename) this file into
+# /etc/X11/xorg.conf.d first.
+# Additional options may be added in the form of
+#   Option "OptionName" "value"
+#
+Section "InputClass"
+Identifier "touchpad catchall"
+Driver "synaptics"
+MatchIsTouchpad "on"
+# This option is recommend on all Linux systems using evdev, but cannot be
+# enabled by default. See the following link for details:
+# http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html
+#   MatchDevicePath "/dev/input/event*"
+EndSection
+
+Section "InputClass"
+Identifier "touchpad ignore duplicates"
+MatchIsTouchpad "on"
+MatchOS "Linux"
+MatchDevicePath "/dev/input/mouse*"
+Option "Ignore" "on"
+EndSection
+
+# This option enables the bottom right corner to be a right button on clickpads
+# and the right and middle top areas to be right / middle buttons on clickpads
+# with a top button area.
+# This option is only interpreted by clickpads.
+Section "InputClass"
+Identifier "Default clickpad buttons"
+MatchDriver "synaptics"
+Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
+Option "SecondarySoftButtonAreas" "58% 0 0 15% 42% 58% 0 15%"
+EndSection
+
+# This option disables software buttons on Apple touchpads.
+# This option is only interpreted by clickpads.
+Section "InputClass"
+Identifier "Disable clickpad buttons on Apple touchpads"
+MatchProduct "Apple|bcm5974"
+MatchDriver "synaptics"
+Option "SoftButtonAreas" "0 0 0 0 0 0 0 0"
+EndSection
diff --git a/conf/Makefile.am b/conf/Makefile.am
index 38d2a01..b883c10 100644
--- a/conf/Makefile.am
+++ b/conf/Makefile.am
@@ -20,7 +20,7 @@
 
 
 if HAS_XORG_CONF_DIR
-dist_config_DATA = 50-synaptics.conf
+dist_config_DATA = 70-synaptics.conf
 else
 fdidir = $(datadir)/hal/fdi/policy/20thirdparty
 dist_fdi_DATA = 11-x11-synaptics.fdi
diff