From Fedora Project Wiki
 
(4 intermediate revisions by 2 users not shown)
Line 31: Line 31:
 
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
 
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
 
* Email: <peter.hutterer@who-t.net>
 
* Email: <peter.hutterer@who-t.net>
* Release notes owner: <!--- To be assigned by docs team [[User:FASAccountName| Release notes owner name]] <email address> -->
+
* Release notes owner: <!--- To be assigned by docs team [[User:FASAccountName| Release notes owner name]] <email address> --> [mailto:sclark@fedoraproject.org Simon Clark] ([[User:sclark|sclark]])
 
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
 
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
 
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address>
 
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address>
Line 51: Line 51:
 
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
 
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
 
-->
 
-->
* Tracker bug: <will be assigned by the Wrangler>
+
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1394836 #1394836]
  
 
== Detailed Description ==
 
== Detailed Description ==
Line 95: Line 95:
 
** xorg-x11-drivers must not include xorg-x11-drv-synaptics (complete as of F25)
 
** xorg-x11-drivers must not include xorg-x11-drv-synaptics (complete as of F25)
 
** the X server needs to support a fallback input driver. This ensures that when an xorg.conf snippet assigns the synaptics driver but that driver is missing, the user still has a working touchpad. Complete as of xorg-x11-server-1.18.4-5
 
** the X server needs to support a fallback input driver. This ensures that when an xorg.conf snippet assigns the synaptics driver but that driver is missing, the user still has a working touchpad. Complete as of xorg-x11-server-1.18.4-5
** xorg-x11-drv-synaptics will get a subpackage xorg-x11-drv-synaptics-legacy containing the actual driver
+
** xorg-x11-drv-synaptics will get a subpackage xorg-x11-drv-synaptics-legacy containing the actual driver (completed as of xorg-x11-drv-synaptics-1.9.0-2)
** xorg-x11-drv-libinput will obsolete/provide the current xorg-x11-drv-synaptics version
+
** xorg-x11-drv-libinput will obsolete/provide the current xorg-x11-drv-synaptics version (completed as of xorg-x11-drv-libinput-0.22.0-3)
  
 
* Other developers:
 
* Other developers:
Line 175: Line 175:
  
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)
+
 
 +
* https://who-t.blogspot.com.au/2016/11/fedora-retiring-xorg-x11-drv-synaptics.html
 +
* https://who-t.blogspot.com.au/2016/08/new-xserver-driver-sort-order.html
  
 
== Release Notes ==
 
== Release Notes ==
Line 184: Line 186:
 
-->
 
-->
  
[[Category:ChangeReadyForFesco]]
+
[[Category:ChangeAcceptedF26]]
 
<!-- When your change proposal page is completed and ready for review and announcement -->
 
<!-- When your change proposal page is completed and ready for review and announcement -->
 
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
 
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->

Latest revision as of 15:16, 1 July 2017


Retire Synaptics Driver

Summary

Retire the xorg-x11-drv-synaptics driver and remove it from user's install.

Owner

Current status

Detailed Description

xorg-x11-drv-synaptics has been the main X.Org touchpad driver for over a decade. Since Fedora 22, it has been superseded by xorg-x11-drv-libinput which aims to provide a better touchpad experience.

The only way to assign X.Org drivers is via the xorg.conf.d configuration system which is based on config file sort order. e.g. evdev sorts as 10-evdev.conf, synaptics as 70-synaptics.conf, etc. Whichever sorts last is assigned as driver for a device. Fedora 22 and later shipped with libinput's config file sorting higher than all other drivers to overwrite any previous matches.

Some users prefer the synaptics driver over libinput. This requires the users to install the driver and then place a custom config snippet or, more commonly, symlink to the synaptics config snippets with a name that has a higher sort order than xorg-x11-drv-libinput.

The aim of this change is to ensure that the synaptics driver can simply be installed when required without any further user configuration. When installed, it should be assigned as the preferred driver over xorg-x11-drv-libinput.

For historical reasons, a vast majority of users have the synaptics driver installed, especially those updating from older releases.

We want to a) remove the xorg-x11-drv-synaptics driver from a user's machine but b) make it possible to install where required.

Benefit to Fedora

Users that don't need xorg-x11-drv-synaptics don't even install the package. Users who do need it merely need to install the package without the need for extra configuration.


Scope

  • Proposal owners:
    • xorg-x11-drv-synaptics must be removed from comps (complete as of F25)
    • xorg-x11-drivers must not include xorg-x11-drv-synaptics (complete as of F25)
    • the X server needs to support a fallback input driver. This ensures that when an xorg.conf snippet assigns the synaptics driver but that driver is missing, the user still has a working touchpad. Complete as of xorg-x11-server-1.18.4-5
    • xorg-x11-drv-synaptics will get a subpackage xorg-x11-drv-synaptics-legacy containing the actual driver (completed as of xorg-x11-drv-synaptics-1.9.0-2)
    • xorg-x11-drv-libinput will obsolete/provide the current xorg-x11-drv-synaptics version (completed as of xorg-x11-drv-libinput-0.22.0-3)
  • Other developers:
    • packages that currently require xorg-x11-drv-synaptics need to revisit and either require the new subpackage or drop the requirement
    • Affected packages: mate-desktop, cinnamon-desktop
  • Release engineering: Nothing required, the RE changes are complete as of F25
  • Policies and guidelines: No update needed
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

Users updating from F25 will see the xorg-x11-drv-synaptics package removed and replaced by xorg-x11-drv-libinput. A manual step of installing the replacement package is required afterwards for those users that require this driver.

How To Test

  1. Update from F25 to F26. xorg-x11-drv-synaptics should not be installed after update
  2. restart X, log into any X session
  3. xinput list-props "insert touchpad name" should show properties prefixed with "libinput"
  4. dnf install xorg-x11-drv-synaptics-legacy
  5. restart X, log into any X session
  6. xinput list-props "insert touchpad name" should show properties prefixed with "Synaptics"
  7. dnf remove xorg-x11-drv-synaptics-legacy
  8. goto 2

User Experience

There is no change for users of a new install of F26

For the majority of users upgrading from F25 to F26 there is no change as libinput overrides synaptics in F25.

Users who explicitly enabled the synaptics driver in F25 (via custom config snippets, as explained above) will have the package removed on upgrade. On X server restart, the X server will fall back to libinput (as the synaptics module is missing). This may cause a different touchpad behaviour than the users expect. To get the real synaptics driver back, they will have to install the replacement package.

Dependencies

None

Contingency Plan

  • Contingency mechanism: leave xorg-x11-drv-synaptics as-is and leave libinput to sort higher than synaptics (as in F25)
  • Contingency deadline: Before alpha
  • Blocks release? No
  • Blocks product? None

Documentation

Release Notes