Re: [orca-list] lightdm and the desktop don't speak early if pulseaudio is not started system wide.



Hello,

Le 29/11/2017 à 15:32, Peter Vágner a écrit :
I think the chain is as follows:
Lightdm-gtk-greeter spawns orca
- Orca spawns speech-dispatcher if it's not running via python-speechdo 
- Speech-dispatcher is configured to output its audio through its
pulseaudio output module. That module is linked against libpulse.

Well, as speech-dispatcher can be configured to output its audio
to libao instead of libpulse, I tried that. Here is the configure
summary building it that way:
cut here
configure: output modules to be built are cicero dummy festival generic espeak-ng
configure: audio methods to be built are  libao
configure: Default audio method is libao
cut here

I didn't expect lightdm to still need pulse as now  speech-dispatcher
uses libao, and I have also rebuilt libao without the pulse driver.

However this didn't change anything: still the same speech delays occur,
unless pulseaudio be started system wide.

I also tried to edit /etc/pulse/client.conf to have:
autospawn = no
This gave two results:
1) No sound at all in lightdm.
2) Sound in the display manager with no delay: I hear "screen reader on"
as soon as it is started.
Of course 2 is good but 1 is bad.

I also tried to leave autospawn = yes in /etc/pulse/client.conf but to
copy it in ~/.config/pulse and then, edit ~/.config/pulse/client.conf to
have "autospawn = no", in the hope that I would get speech in lightdm.
I did, with still a delayed speech at startup and no "screen reader
on" announced, but I has still the same speech delay in the desktop.
Which puzzles me as "man pulse-client.conf" says that
~/.config/pulse/client.conf has priority over /etc/pulse/client.conf.

When libpulse is asked to play sound, it tries to spawn pulseaudio if
it's not yet running. Pulseaudio examines if it's configured to
autospawn in its config file /etc/pulse/daemon.conf and if yes it will
launch.

As stated above, her autospawn is set in /etc/pulse/client.conf

So the delays are expected in a setup like this I would say.
On other distros pulseaudio is typically activated via socket activation of
systemd thus it's started early and killed late similar to how at-spi bus
is handled.
In order to hackaround that you might like to consider managing pulseaudio
launching and killing via lightdm scripts such as setupscript, pre session
and post session script. However I would call that just a workaround not a
proper solution.

I also tried that, to no avail.

I don't know if there are more possible options within systemd less
distro like Slint is.

I am at a loss for finding even a functionally acceptable workaround, so
unless I have or hopefully I be given a bright idea soon, I will leave
things as they are.

After all a blind user will still have several possibilities to start a
graphical environment in Slint:
1) Accept the speech delays.
2) Run pulseaudio system wide (in that case there is no delay).
3) Start on a console, in other words in text mode, then type startx
to launch a graphical environment.

In any case the scripts session-chooser as well as xwmconfig now allow
to choose a graphical environment among those installed, and dm-chooser
will allow to choose to log in tty1 then use startx when needed, or to
log in a display manager chosen among those installed (by default lxdm,
lightdm or kdm).

Greetings,

Didier

It would be difficult to find out if this is a bug and which part is
responsible.

Greetings

Peter

Dňa 29. 11. 2017 15:10 používateľ "Didier Spaier" <didier slint fr> napísal:

Upgraded to pulseaudio-11.1 to no avail.

Le 29/11/2017 à 12:35, Didier Spaier a écrit :
Hello,

In Slint64-14.2.1RC3.iso, puleeaudio is not started system wide,
as espeak is built with portaudio as back end, and orca is enabled at
the user level with a small script orca-on.

We start espeakup during the startup sequence.

When lightdm is used, after startup it doesn't say "screen reader on"
and it seems to take a few seconds before it begins to speak, for
instance if if quickly begin to type the password it doesn't say
"bullet" when typing the first characters.

However, after I close a session (going back to the greeter) it speaks
normally.

Also, at the beginning of a desktop session orca don't say "screen
reader on" either, and there is a delay if 10 or 15 seconds before I get
speech.

However if I start pulseaudio system wide during the startup
sequence (chmod 755 /etc/rc.d/rc.pulseaudio) I have speech instantly in
both lightdm and the desktop.

Also, if I use another display manager like lxdm, I have of course no
speech in it but I get speech in the desktop instantly regardless of the
way pulseaudio is started (system wide or per user). This is also the
case if I use startx to start a desktop from a console instead of using
a display manager.

We have lightdm-1.24.0, lightdm-gtk-greeter-2.0.3, orca-3.26.0,
pulseaudio-9.0

Did anyone observe a similar behavior?

Should I file an issue in some bug tracker, and then which one?

If one wants to test, the iso is here:
http://slackware.uk/slint/x86_64/slint-testing/iso/

Greetings,
Didier
_______________________________________________
orca-list mailing list
orca-list gnome org
https://mail.gnome.org/mailman/listinfo/orca-list
Orca wiki: https://wiki.gnome.org/Projects/Orca
Orca documentation: https://help.gnome.org/users/orca/stable/
GNOME Universal Access guide: https://help.gnome.org/users/
gnome-help/stable/a11y.html
Log bugs and feature requests at http://bugzilla.gnome.org

_______________________________________________
orca-list mailing list
orca-list gnome org
https://mail.gnome.org/mailman/listinfo/orca-list
Orca wiki: https://wiki.gnome.org/Projects/Orca
Orca documentation: https://help.gnome.org/users/orca/stable/
GNOME Universal Access guide: https://help.gnome.org/users/
gnome-help/stable/a11y.html
Log bugs and feature requests at http://bugzilla.gnome.org




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]