KDE + ALSA revisited...

Daniel Gimpelevich daniel at gimpelevich.san-francisco.ca.us
Fri Dec 31 11:21:33 MST 2004


It would appear that the Broken pipe got fixed by the following command:

sudo chmod 666 /dev/dsp* /dev/sndstat /dev/snd/*

On Tue, 28 Dec 2004 14:39:30 -0500, Joseph E. Sacco, Ph.D. wrote:

> I still cannot get the KDE sound stuff to work with ALSA or with the
> ALSA emulations of OSS. The sound test run from the KDE control panel
> generates recognizable sound embedded in a sea of white noise. 
> Applications like XMMS and Xine, which appear to bypass the KDE sound
> system, work just fine with ALSA.
> 
> I see this behavior with the YDL kernels as well as with other kernels I
> have built so I don't believe that it is a kernel configuration issue
> [maybe...].
> 
> I have looked into the log files and have not seen anything revealing. I
> was wondering if I was missing any interesting messages that were being
> dumped to the console while KDE started up so I ran
> 
> 	% startx > /tmp/startx.out 2>&1
> 
> to collect whatever messages were being dumped to the console.
> 
> I found the following:
> 
>                         ...
> 
> startkde: Starting up...
> mkdir: Owner of /tmp/.ICE-unix should be set to root
> kbuildsycoca running...
> SetClientVersion: 0 8
> ALSA lib pcm_hw.c:549:(snd_pcm_hw_start) SNDRV_PCM_IOCTL_START failed:
> Broken pipe
> ALSA lib pcm_hw.c:549:(snd_pcm_hw_start) SNDRV_PCM_IOCTL_START failed:
> Broken pipe
> ALSA lib pcm_hw.c:549:(snd_pcm_hw_start) SNDRV_PCM_IOCTL_START failed:
> Broken pipe
> _IceTransmkdir: Owner of /tmp/.ICE-unix should be set to root
> X Error: BadValue (integer parameter out of range for operation) 2
>   Major opcode:  102
>   Minor opcode:  0
>   Resource id:  0x0
> Klipper is already running!
> 
>                      ...
> 
> 
> Does this mean anything to anyone? For what it's worth, pcm_hw.c is a
> file in the ALSA library.  In particular, the error message is raised by
> an ioctl failure:
> 
> 
>         static int snd_pcm_hw_start(snd_pcm_t *pcm)
>         {
>                 snd_pcm_hw_t *hw = pcm->private_data;
>                 int err;
>         #if 0
>                 assert(pcm->stream != SND_PCM_STREAM_PLAYBACK ||
>                        snd_pcm_mmap_playback_hw_avail(pcm) > 0);
>         #endif
>                 if (ioctl(hw->fd, SNDRV_PCM_IOCTL_START) < 0) {
>                         err = -errno;
>                         SYSERR("SNDRV_PCM_IOCTL_START failed");
>         #if 0
>                         if (err == -EBADFD)
>                                 SNDERR("PCM state = %s",
>         snd_pcm_state_name(snd_pcm_hw_state(pcm)));
>         #endif
>                         return err;
>                 }
>                 return 0;
>         }
> 
> 
> 
> -Joseph




More information about the yellowdog-general mailing list