Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
pipewire
pipewire
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 179
    • Issues 179
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 5
    • Merge Requests 5
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • PipeWire
  • pipewirepipewire
  • Issues
  • #609

Closed
Open
Opened Jan 22, 2021 by Laurențiu Nicola@lnicola

Fails if ran without XDG_RUNTIME_DIR

UPDATE: This has nothing to do with mpd:

$ XDG_RUNTIME_DIR= pw-play foo.mp3
error: pw_context_connect() failed: Host is down

See below for original report.


Version, Distribution, Desktop Environment: 0.3.20, Arch Linux, headless

Description of Problem: I have a mpd setup that used to work with pulseaudio. After installing pipewire-pulse, a system mpd can no longer connect to the pulse socket.

$ machinectl shell mpd@.host /bin/bash 
Connected to the local host. Press ^] three times within 1s to exit session.

[mpd@ubik ~]$ XDG_RUNTIME_DIR= mpd --no-daemon --stderr
exception: bind to '0.0.0.0:6600' failed (continuing anyway, because binding to '[::]:6600' succeeded): Failed to bind socket: Address already in use
exception: Decoder plugin 'wildmidi' is unavailable: configuration file does not exist: /etc/timidity/timidity.cfg
Failed to initialize io_uring: io_uring_queue_init() failed: Cannot allocate memory
## v---
Failed to create secure directory (/pulse): Permission denied
exception: Failed to enable output "MPD PulseAudio Output" (pulse); pa_context_connect() has failed: Connection refused
## ^--
avahi: Service 'Music Player @ ubik.home' successfully established.

[mpd@ubik ~]$ mpd --no-daemon --stderr
exception: bind to '0.0.0.0:6600' failed (continuing anyway, because binding to '[::]:6600' succeeded): Failed to bind socket: Address already in use
exception: Decoder plugin 'wildmidi' is unavailable: configuration file does not exist: /etc/timidity/timidity.cfg
Failed to initialize io_uring: io_uring_queue_init() failed: Cannot allocate memory
avahi: Service 'Music Player @ ubik.home' successfully established.

Notice how it's trying to create /pulse:

[mpd@ubik ~]$ XDG_RUNTIME_DIR= strace -e %file -f mpd --no-daemon --stderr 2>&1 | grep EACCES
[pid 963861] mkdir("/pulse", 0700)      = -1 EACCES (Permission denied)

I think pulseaudio and pipewire-pulse differ in their handling of an unset XDG_RUNTIME_DIR, in spite of #259 (closed).

Edited Jan 22, 2021 by Laurențiu Nicola
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: pipewire/pipewire#609