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

Tim Gardner tim.gardner at canonical.com
Tue Apr 5 18:02:00 UTC 2022


Acked-by: Tim Gardner <tim.gardner at canonical.com>

On 4/5/22 01:14, Matthew Ruffell 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(-)
> 

-- 
-----------
Tim Gardner
Canonical, Inc



More information about the kernel-team mailing list