Comment 3 for bug 222779

Revision history for this message
Yudai8 (yudai8) wrote :

The fix by using padsp --- $ padsp -n xgalaga xgalaga

It seems that a click sound played by the desktop system when xgalaga lunches or the sounds of the other application like mpd or Audacious, or any sounds via pulse audio or via directly ALSA, block(s) xgalaga's opening DSP /dev/dsp.

When xgalaga lunches from the desktop, the desktop system plays a click sound for example "clicked.wav". And the sound uses alsa pcm via pulse audio.
Since alsa pcm is in use, xgalaga fails to open DSP /dev/dsp.

Xgalaga lunching from the desktop can play sounds in the condition 1 and 2;
1. Uncheck sounds for events in Sound Preferences [System]->[Preferences]->[Sound]
2. No sound. --- no application makes sound. Not using audio player. So pulse audio is not in use, and alsa pcm is free

Try in the terminal with/without audio player playing.
$ ( xgalaga -window & ); sleep 0.5 ; ps axfww -o tty,ppid,pid,uid,args | grep '[C]OMMAND\|[x]galaga'

And also try
$ ( padsp xgalaga -window & ); sleep 0.5 ; ps fww -o tty,ppid,pid,uid,args -C xgalaga -C xgal.sndsrv.oss

Even in the condition of other's sound, by using of padsp, xgalaga lunched from desktop application menu can play sounds via pulse audio.
$ padsp -n xgalaga xgalaga

To make xgalaga use padsp from the desktop,
Right click [application]->[edit menu] and choose the luncher properties of xgalaga.
Edit command field to "padsp -n xgalaga xgalaga" in luncher properties.

Or edit xgalaga.desktop in "/usr/share/applications/" or "~/.local/share/applications/".
I append a patch. But it was edited only 1 line.('_^)/

I feel sorry that It is the end of desktop ver. of Hardy LTS to I find this fix.

Anyway, it seems that padsp makes many applications playable that uses the OSS (Open Sound System).
And it's only editting ".desktop" file to make use padsp.

I think this sound probrem is a kind of a packaging probrem.
I know there are users who do not use pluse audio. But it is not the default setting. It is needed to install-and-work with no change the configulations. So I think it is better to make using padsp default or take other better way.

But I think the providing seamless /dev/dsp emulation of pulse audio is the better way than wrapping by padsp.
I haven't tested but osspd is seems the one.