Under 12.2, I was able to run festival to "say" things via .bash_login, ~/kde4/shutdown/GoodBye.sh as well as on an ad-hoc basis via the command line of a terminal whilst I was in the session.

I was able to avoid the "cannot open /xxx/dsp" error by adding the snd_pcm_oss module into /etc/sysconfig/kernel to tell it to load it at boot.

Under 12.3, .bash_login and in-session invocations work fine however, the script in "shutdown" produces no message. I have verified that the script is run by having it log various messages as it progresses.

I have made the same mod to /etc/sysconfig/kernel as under 12.2. I have since added the following to ~/.festivalrc and that seems to have done the trick:

(Parameter.set 'Audio_Command "palplay -n festival $FILE")  ** Note the counter-intuitive syntax compared with the other lines ***
 (Parameter.set 'Audio_Method ' Audio_Command)
(Audio_Required_Format ' snd)
Given that pulseaudio is running in both environments, I'm puzzled as to what has changed between 12.2 and 12.3? festival reports that it is at the same version on the 12.2 system as the 12.3.

What role can .bash_logout play in a KDE environment? I cannot get it to run at all unless I am in and out at run level 3.