aboutsummarylogtreecommitdiffstats
path: root/README.md
blob: 756c4107b21a569d9477b20c9a9c99694b23c7ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# rmpd-git

Arch Linux package for rmpd - a modern MPD (Music Player Daemon) implementation written in Rust.

## Installation

### From source (AUR)

```bash
git clone https://github.com/M0Rf30/rmpd-git.git
cd rmpd-git
makepkg -si
```

### Using an AUR helper

```bash
yay -S rmpd-git
# or
paru -S rmpd-git
```

## Configuration

After installation, copy the example configuration:

```bash
mkdir -p ~/.config/rmpd
cp /etc/rmpd/rmpd.toml.example ~/.config/rmpd/rmpd.toml
```

Edit `~/.config/rmpd/rmpd.toml` and configure:
- `music_directory` - Path to your music library
- `bind_address` and `port` - Network settings (default: 127.0.0.1:6600)
- Audio output settings

## Running

### Manual start

```bash
rmpd
```

### Using systemd (user service)

```bash
# Enable and start the service
systemctl --user enable --now rmpd.service

# Check status
systemctl --user status rmpd.service

# View logs
journalctl --user -u rmpd.service -f
```

## Usage

Connect with any MPD client:

```bash
# Using mpc
mpc update
mpc add /
mpc play

# Using ncmpcpp
ncmpcpp
```

## Features

- **MPD Protocol Compatible** - Works with existing MPD clients
- **High-Resolution Audio** - DSD (DSF, DFF), FLAC, WAV support
- **Multi-Room Audio** - Snapcast integration
- **Modern Architecture** - Written in Rust for performance and safety
- **Extensible** - Plugin system for decoders and outputs

## Dependencies

### Required
- `alsa-lib` - ALSA audio output

### Optional
- `pulseaudio` - PulseAudio output support
- `pipewire` - PipeWire output support
- `snapcast` - Multi-room audio synchronization

## Troubleshooting

### Check service status
```bash
systemctl --user status rmpd.service
journalctl --user -u rmpd.service
```

### Test configuration
```bash
rmpd --config ~/.config/rmpd/rmpd.toml
```

### Permission issues
Make sure the rmpd service has read access to your music directory:
```bash
chmod +r ~/Music -R
```

## Links

- **Repository**: https://github.com/M0Rf30/rmpd
- **AUR Package**: https://aur.archlinux.org/packages/rmpd-git
- **MPD Protocol**: https://mpd.readthedocs.io/en/latest/protocol.html

## Maintainer

robertfoster <robertfoster at fastmail dot com>

## License

Dual licensed under MIT OR Apache-2.0