On Thu, 2017-03-23 at 09:57 +0100, Takashi Iwai wrote: > On Thu, 23 Mar 2017 04:16:52 +0100, > Pierre-Louis Bossart wrote: > > > > On 3/21/17 2:56 AM, Hans de Goede wrote: > > > I: [pulseaudio] alsa-sink.c: Using 1.0 fragments of size 352832 bytes > > > (2000.18ms), buffer size is 352832 bytes (2000.18ms) > > > I: [pulseaudio] alsa-sink.c: Time scheduling watermark is 20.00ms > > > I: [pulseaudio] alsa-sink.c: Driver does not support hardware volume > > > control, falling back to software volume control. > > > I: [pulseaudio] alsa-sink.c: Driver does not support hardware mute > > > control, falling back to software mute control. > > > I: [alsa-sink-HdmiLpeAudio] core-util.c: Successfully enabled SCHED_RR > > > scheduling for thread, with priority 5. > > > I: [alsa-sink-HdmiLpeAudio] alsa-sink.c: Starting playback. > > > I: [alsa-sink-HdmiLpeAudio] (alsa-lib)pcm_hw.c: SNDRV_PCM_IOCTL_HWSYNC > > > failed (-32) > > > > Humm, single period and hw_sync failed, this could be testing the > > robustness of the single-period code and its mapping on multiple DMA > > descriptors? I haven't looked at the alsa module in eons but can't the > > number of periods be forced to two with module parameters while > > keeping the timer-based schedulng? I think the code doesn't currently support this. > It's -EPIPE and this is supposed to be the intentional error code from > HDMI LPE audio driver. The streaming doesn't work when the gfx is > disconnected or the monitor audio is off. It accepts the open, but it > returns -EPIPE for further accesses. > > Maybe -EPIPE is no sensible choice, but the problem is that the driver > can't use the PCM DISCONNECT state because PA interprets it being the > complete disconnection of the card object instead of a temporary > disablement of PCM. So is this a PulseAudio bug? I: [alsa-sink-HdmiLpeAudio] alsa-sink.c: Starting playback. I: [alsa-sink-HdmiLpeAudio] (alsa-lib)pcm_hw.c: SNDRV_PCM_IOCTL_HWSYNC failed (-32) The "Starting playback" message is printed just before the snd_pcm_start() call. PulseAudio doesn't check the return value of snd_pcm_start(), but maybe it should? Does the HWSYNC happen in snd_pcm_start()? Can this EPIPE thing happen also during playback, not just when starting? -- Tanu https://www.patreon.com/tanuk