From Fedora Project Wiki
Line 133: Line 133:
  
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
FIXME
 
 
  
 
# Update from F25 to F26. xorg-x11-drv-synaptics should not be installed after update
 
# Update from F25 to F26. xorg-x11-drv-synaptics should not be installed after update

Revision as of 21:37, 14 September 2016


Change Proposal Name

Summary

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

Owner

  • Name: Peter Hutterer
  • Email: <peter.hutterer@who-t.net>
  • Release notes owner:

Current status

  • Targeted release: Fedora 26
  • Last updated: 2016-09-14
  • Tracker bug: <will be assigned by the Wrangler>

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
    • xorg-x11-drv-libinput will obsolete/provide the current xorg-x11-drv-synaptics version
  • 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

FIXME

Dependencies

FIXME

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change), Yes/No
  • Blocks product? product

Documentation

N/A (not a System Wide Change)

Release Notes