Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Problem]: shairport-sync docker neither Pipewire or PulseAudio working #1943

Open
2 tasks done
spmp opened this issue Dec 14, 2024 · 8 comments
Open
2 tasks done

[Problem]: shairport-sync docker neither Pipewire or PulseAudio working #1943

spmp opened this issue Dec 14, 2024 · 8 comments

Comments

@spmp
Copy link

spmp commented Dec 14, 2024

What happened?

Running the docker-compose.yml file at https://github.com/mikebrady/shairport-sync/blob/master/docker/docker-compose.yaml with output set either to pa or pw does not work.

I expect that using the provided docker-compose.yml and basic config would produce noises 8)

Relevant log output

When:

general =
{
        name = "Soon";
        output_backend = "pw";
}

I get the following output:

shairport-sync-1  | Starting shairport-sync
shairport-sync-1  | warning: Shairport Sync's PipeWire backend can not get timing information from the PipeWire system. Is PipeWire running?
shairport-sync-1  | warning: Shairport Sync's PipeWire backend can not get timing information from the PipeWire system. Is PipeWire running?
shairport-sync-1  | warning: Shairport Sync's PipeWire backend can not get timing information from the PipeWire system. Is PipeWire running?

When:

general =
{
        name = "Soon";
        output_backend = "pa";
}

I get the following output:

shairport-sync-1  | Starting shairport-sync

i.e nothing



### System Information.

Ubuntu /dev on X1 Carbon Gen 7

### Configuration Information.

```shell
>> Display Config Start.

From "uname -a":
 Linux carbonicus 6.11.0-9-generic #9-Ubuntu SMP PREEMPT_DYNAMIC Mon Oct 14 13:19:59 UTC 2024 x86_64 Linux

From /etc/os-release:
 Alpine Linux v3.17

Shairport Sync Version String:
 4.3.5-dirty-AirPlay2-smi10-alac-OpenSSL-Avahi-ALSA-pa-pw-dummy-stdout-pipe-soxr-convolution-metadata-mqtt-dbus-mpris-sysconfdir:/etc

Command Line:
 shairport-sync --displayConfig

Configuration File:
 /etc/shairport-sync.conf

Configuration File Settings:
 general : 
 {
   name = "Soon";
   output_backend = "pa";
 };
 pw : 
 {
   application_name = "Shairport Sync";
   node_name = "Shairport Sync";
 };

>> Display Config End.
>> Goodbye!

PulseAudio or PipeWire installed?

  • Check if your system uses a Sound Server.

How did you install Shairport Sync?

Docker

Check previous issues

  • Confirm
@mikebrady
Copy link
Owner

Thanks for the post. Could you post the actual docker-compose.yml you used, please?

@spmp
Copy link
Author

spmp commented Dec 14, 2024

Certainly:

services:
  shairport-sync:
    image: mikebrady/shairport-sync:latest
    network_mode: host
    #restart: unless-stopped
    environment:
    #  S6_KEEP_ENV: 1 # Allow S6 to pass environment variables from compose file
      PULSE_SERVER: unix:/tmp/pulseaudio.socket # Path for PulseAudio socket
      PULSE_COOKIE: /tmp/pulseaudio.cookie # Path for PulseAudio cookie
      XDG_RUNTIME_DIR: /tmp # Path for pipewire
    #devices:
    #  - "/dev/snd" # ALSA device, omit if using PulseAudio
    volumes:
      - /etc/shairport-sync.conf:/etc/shairport-sync.conf # Customised Shairport Sync configuration file.
      - /run/user/1000/pulse/native:/tmp/pulseaudio.socket # PulseAudio socket when using that backend
      - /run/user/1000/pipewire-0:/tmp/pipewire-0 # Pipewire socket when using pipewire
    # command: -o pw # You can specify the desired output with command:
    logging:
      options:
        max-size: "200k"
        max-file: "10"

@spmp
Copy link
Author

spmp commented Dec 14, 2024

So running it all again today and it looks like PulseAudio is working as expected. I am using pavucontrol (from PulseAudio) to look for the streams.
Pipewire is not working sadly.

@rp86
Copy link

rp86 commented Dec 16, 2024

I get the same warning in my log: "audio_pw.c:373" *warning: Shairport Sync's PipeWire backend can not get timing information from the PipeWire system. Is PipeWire running? however it passes audio fine. Only obvious difference I can see is that I'm using command: -o pw in my docker-compose file and have left the output selection and default Pipewire config commented out in my configuration file.

@spmp
Copy link
Author

spmp commented Dec 16, 2024

@rp86 thank you for sharing this - I am expecting to see a stream in pavucontrol and am not - it could be that it is playing fine and that the volume is low - how would I check this please? Please forgive my very PA centric world view.

@rp86
Copy link

rp86 commented Dec 17, 2024

It might be worth checking with a Pipewire specific utility, there are some examples in Section 1.2 here: https://wiki.archlinux.org/title/PipeWire. I've used coppwr on Fedora.

I also use ignore_volume_control = "yes"; in my configuration file.

@mikebrady
Copy link
Owner

Maybe take a look at this?

@rp86
Copy link

rp86 commented Dec 17, 2024

I do have S6_KEEP_ENV: 1 uncommented in my working setup.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants