[SRU][Jammy][Unstable][PATCH 0/1] Enable Speakup kernel modules to allow the speakup screen reader to function

Matthew Ruffell matthew.ruffell at canonical.com
Tue Apr 26 08:17:15 UTC 2022


Hi Kernel team,

Can this please be applied to Unstable? I don't want this to be lost
again on transition to Kinetic Kudu, accessibility is just so
important for our users.

Thanks,
Matthew

On Tue, Apr 5, 2022 at 7:14 PM Matthew Ruffell
<matthew.ruffell at canonical.com> wrote:
>
> BugLink: https://bugs.launchpad.net/bugs/1967702
>
> [Impact]
>
> Blind system administrators rely on the speakup accessibility feature to be able
> to use screen readers in text mode, like "espeakup".
>
> Ubuntu has enabled CONFIG_SPEAKUP for a significant amount of time, although in
> recent releases it keeps being disabled. In Hirsute and Impish, it was
> accidentally disabled due to it moving from drivers/staging/ to
> drivers/accessibility/, and it was re-added by Tim Gardner in LP1942459.
>
> When it was recently re-enabled, the patch was never applied to ubuntu-unstable,
> and thus was never picked up by Jammy.
>
> We need to enable CONFIG_ACCESSIBILITY and CONFIG_SPEAKUP in Jammy and
> ubuntu-unstable.
>
> [Fix]
>
> We need to enable the following configuration items:
>
> CONFIG_ACCESSIBILITY=y
> CONFIG_SPEAKUP=m
>
> and the additional modules:
>
> CONFIG_SPEAKUP_SYNTH_ACNTSA=m
> CONFIG_SPEAKUP_SYNTH_APOLLO=m
> CONFIG_SPEAKUP_SYNTH_AUDPTR=m
> CONFIG_SPEAKUP_SYNTH_BNS=m
> CONFIG_SPEAKUP_SYNTH_DECEXT=m
> CONFIG_SPEAKUP_SYNTH_DECTLK=m
> CONFIG_SPEAKUP_SYNTH_DUMMY=m
> CONFIG_SPEAKUP_SYNTH_LTLK=m
> CONFIG_SPEAKUP_SYNTH_SOFT=m
> CONFIG_SPEAKUP_SYNTH_SPKOUT=m
> CONFIG_SPEAKUP_SYNTH_TXPRT=m
>
> [Testcase]
>
> Install the speakup accessibility tool:
>
> $ sudo apt install espeakup
>
> Check journalctl to see if it is able to load kernel modules:
>
> systemd[1]: Starting Software speech output for Speakup...
> modprobe[27013]: modprobe: FATAL: Module speakup_soft not found in directory /lib/modules/5.15.0-25-generic
> systemd[1]: espeakup.service: Control process exited, code=exited, status=1/FAILURE
> systemd[1]: espeakup.service: Failed with result 'exit-code'.
> systemd[1]: Failed to start Software speech output for Speakup.
> systemd[1]: espeakup.service: Scheduled restart job, restart counter is at 1.
> systemd[1]: Stopped Software speech output for Speakup.
> systemd[1]: espeakup.service: Start request repeated too quickly.
> systemd[1]: espeakup.service: Failed with result 'exit-code'.
> systemd[1]: Failed to start Software speech output for Speakup.
>
> We should see espeakup.service start correctly, instead of failing to load
> speakup_soft:
>
> systemd[1]: Starting Software speech output for Speakup...
> kernel: input: Speakup as /devices/virtual/input/input5
> kernel: initialized device: /dev/synth, node (MAJOR 10, MINOR 123)
> kernel: speakup 3.1.6: initialized
> kernel: synth name on entry is: (null)
> kernel: synth probe
> kernel: initialized device: /dev/softsynth, node (MAJOR 10, MINOR 122)
> kernel: initialized device: /dev/softsynthu, node (MAJOR 10, MINOR 121)
> systemd[1]: Started Software speech output for Speakup.
>
> You can also try load the modules manually:
>
> $ sudo modprobe speakup_soft
>
> There is a test package available in the following ppa:
>
> https://launchpad.net/~mruffell/+archive/ubuntu/lp1967702-test
>
> If you install the test kernel, the speakup modules should load successfully.
>
> [Where problems could occur]
>
> We are enabling CONFIG_ACCESSIBILITY for all arches apart from s390x, and this
> shouldn't have any affect on config items being turned on, since it simply
> enables the speakup submenu to be shown.
>
> Enabling CONFIG_SPEAKUP* should not have any impact on users that don't use
> screen reader accessibility software, as it will only be loaded by users of
> espeakup.
>
> If a regression were to occur, users could unload the speakup modules.
>
> Matthew Ruffell (1):
>   UBUNTU: [Config] CONFIG_SPEAKUP=m
>
>  debian.master/config/amd64/config.common.amd64 |  1 +
>  debian.master/config/annotations               | 18 ++++++++++++++++--
>  debian.master/config/arm64/config.common.arm64 |  1 +
>  debian.master/config/armhf/config.common.armhf |  1 +
>  debian.master/config/config.common.ubuntu      | 14 +++++++++++++-
>  .../config/ppc64el/config.common.ppc64el       |  1 +
>  debian.master/config/s390x/config.common.s390x |  1 +
>  7 files changed, 34 insertions(+), 3 deletions(-)
>
> --
> 2.34.1
>



More information about the kernel-team mailing list