From Fedora Project Wiki
 
(10 intermediate revisions by 2 users not shown)
Line 21: Line 21:


<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name.  This keeps all change proposals in the same namespace -->
<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name.  This keeps all change proposals in the same namespace -->
= Change Proposal Name <!-- The name of your change proposal --> =
= Retire Synaptics Driver <!-- The name of your change proposal --> =


== Summary ==
== Summary ==
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 158: Line 158:


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
FIXME
 
None


== Contingency Plan ==
== Contingency Plan ==


<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
* Contingency mechanism: (What to do?  Who will do it?) N/A (not a System Wide Change)  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Contingency mechanism: leave xorg-x11-drv-synaptics as-is and leave libinput to sort higher than synaptics (as in F25)
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
* Contingency deadline: N/A (not a System Wide Change)  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Contingency deadline: Before alpha
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
* Blocks release? N/A (not a System Wide Change), Yes/No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks release? No
* Blocks product? product <!-- Applicable for Changes that blocks specific product release/Fedora.next -->
* Blocks product? None


== Documentation ==
== Documentation ==
Line 174: 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 183: Line 186:
-->
-->


[[Category:ChangePageIncomplete]]
[[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