116115b197aa0fa5ae8002d4b4145261a1ba429f
Projects/xq/MusicPi.md
... | ... | @@ -10,7 +10,6 @@ A music playback device based on a Raspberry Pi 3 |
10 | 10 | |
11 | 11 | [Installation instructions](https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-3) |
12 | 12 | |
13 | - |
|
14 | 13 | ### Create the required users |
15 | 14 | ``` |
16 | 15 | useradd --home-dir /var/run/pulse pulse |
... | ... | @@ -30,7 +29,7 @@ alsa-ucm-conf |
30 | 29 | |
31 | 30 | ### Adjust config files |
32 | 31 | |
33 | -### `/etc/pulse/system.pa` |
|
32 | +#### `/etc/pulse/system.pa` |
|
34 | 33 | |
35 | 34 | Append to the config file: |
36 | 35 | |
... | ... | @@ -45,7 +44,7 @@ load-module module-zeroconf-publish |
45 | 44 | load-module module-alsa-card device_id=0 sink_name="Stereoanlage" |
46 | 45 | ``` |
47 | 46 | |
48 | -### `/etc/systemd/system/pulseaudio.service` |
|
47 | +#### `/etc/systemd/system/pulseaudio.service` |
|
49 | 48 | |
50 | 49 | Create this file: |
51 | 50 | |
... | ... | @@ -63,240 +62,60 @@ RestartSec=5 |
63 | 62 | WantedBy=multi-user.target |
64 | 63 | ``` |
65 | 64 | |
65 | +This defines a new systemd service called `pulseaudio` which will run [pulseaudio](https://www.freedesktop.org/wiki/Software/PulseAudio/) |
|
66 | + |
|
67 | +#### `/boot/config.txt` |
|
68 | + |
|
69 | +Append to the file: |
|
70 | +``` |
|
71 | +dtparam=audio=on |
|
72 | +audio_pwm_mode=2 |
|
73 | +``` |
|
74 | + |
|
75 | +This change enables the audio DAC and provides an alsa soundcard. |
|
76 | + |
|
77 | +### Enable the services: |
|
78 | + |
|
79 | +```sh |
|
80 | +systemctl --global disable pulseaudio.service pulseaudio.socket # disable all user pulse audio |
|
81 | +systemctl enable pulseaudio # enable our systemwide pulse audio service |
|
82 | +systemctl enable avahi-daemon # enable zeroconf discovery |
|
83 | +``` |
|
84 | + |
|
85 | +### Reboot the Pi to enable the sound card: |
|
86 | + |
|
87 | +``` |
|
88 | +reboot |
|
89 | +``` |
|
90 | + |
|
91 | +After this, the pulseaudio sink is readily configured to be used with other pulseaudio installations |
|
66 | 92 | |
67 | 93 | ## Auxiliary commands |
68 | 94 | |
69 | -**dry run:** |
|
95 | +### Adjust volume |
|
96 | + |
|
97 | +Use `alsamixer` to adjust the volume for PCM audio |
|
98 | + |
|
99 | +### dry run |
|
100 | + |
|
101 | +This runs the pulseaudio like in the service |
|
102 | + |
|
70 | 103 | ``` |
71 | 104 | /usr/bin/pulseaudio --system --disallow-exit --disallow-module-loading |
72 | 105 | ``` |
73 | 106 | |
107 | +### test alsa |
|
74 | 108 | |
75 | -## Packages |
|
109 | +This downloads a small example file (sounds like a coin in super mario world) and plays it via `aplay` to test if the soundcard works: |
|
76 | 110 | |
77 | -debugging/testing: |
|
78 | 111 | ``` |
79 | -pulsemixer |
|
112 | +curl -O https://mq32.de/public/mariocoin.wav |
|
113 | +aplay mariocoin.wav |
|
80 | 114 | ``` |
81 | 115 | |
82 | -unchecked: |
|
116 | +## Packages |
|
117 | + |
|
118 | +debugging/testing: |
|
83 | 119 | ``` |
84 | -acl |
|
85 | -archlinuxarm-keyring |
|
86 | -argon2 |
|
87 | -attr |
|
88 | -audit |
|
89 | -base |
|
90 | -bash |
|
91 | -binutils |
|
92 | -boost-libs |
|
93 | -bzip2 |
|
94 | -ca-certificates |
|
95 | -ca-certificates-mozilla |
|
96 | -ca-certificates-utils |
|
97 | -coreutils |
|
98 | -cracklib |
|
99 | -crda |
|
100 | -cryptsetup |
|
101 | -curl |
|
102 | -db |
|
103 | -dbus |
|
104 | -device-mapper |
|
105 | -dhcpcd |
|
106 | -dialog |
|
107 | -diffutils |
|
108 | -dnssec-anchors |
|
109 | -e2fsprogs |
|
110 | -elfutils |
|
111 | -expat |
|
112 | -file |
|
113 | -filesystem |
|
114 | -findutils |
|
115 | -firmware-raspberrypi |
|
116 | -flac |
|
117 | -gawk |
|
118 | -gcc |
|
119 | -gcc-libs |
|
120 | -gdbm |
|
121 | -gdk-pixbuf2 |
|
122 | -gettext |
|
123 | -git |
|
124 | -glib2 |
|
125 | -glibc |
|
126 | -gmp |
|
127 | -gnupg |
|
128 | -gnutls |
|
129 | -gpgme |
|
130 | -gpm |
|
131 | -grep |
|
132 | -gzip |
|
133 | -haveged |
|
134 | -hwids |
|
135 | -iana-etc |
|
136 | -icu |
|
137 | -iproute2 |
|
138 | -iptables |
|
139 | -iputils |
|
140 | -iw |
|
141 | -js60 |
|
142 | -json-c |
|
143 | -kbd |
|
144 | -keyutils |
|
145 | -kmod |
|
146 | -krb5 |
|
147 | -ldns |
|
148 | -less |
|
149 | -libarchive |
|
150 | -libassuan |
|
151 | -libasyncns |
|
152 | -libcap |
|
153 | -libcap-ng |
|
154 | -libcroco |
|
155 | -libdaemon |
|
156 | -libedit |
|
157 | -libelf |
|
158 | -libffi |
|
159 | -libgcrypt |
|
160 | -libgpg-error |
|
161 | -libice |
|
162 | -libidn2 |
|
163 | -libjpeg-turbo |
|
164 | -libksba |
|
165 | -libldap |
|
166 | -libmicrohttpd |
|
167 | -libmnl |
|
168 | -libmpc |
|
169 | -libnetfilter_conntrack |
|
170 | -libnewt |
|
171 | -libnfnetlink |
|
172 | -libnftnl |
|
173 | -libnghttp2 |
|
174 | -libnl |
|
175 | -libnotify |
|
176 | -libnsl |
|
177 | -libogg |
|
178 | -libp11-kit |
|
179 | -libpcap |
|
180 | -libpng |
|
181 | -libpsl |
|
182 | -libpulse |
|
183 | -libsamplerate |
|
184 | -libsasl |
|
185 | -libseccomp |
|
186 | -libsecret |
|
187 | -libsm |
|
188 | -libsndfile |
|
189 | -libsoxr |
|
190 | -libssh2 |
|
191 | -libtasn1 |
|
192 | -libtiff |
|
193 | -libtirpc |
|
194 | -libtool |
|
195 | -libunistring |
|
196 | -libusb |
|
197 | -libutil-linux |
|
198 | -libvorbis |
|
199 | -libx11 |
|
200 | -libxau |
|
201 | -libxcb |
|
202 | -libxdmcp |
|
203 | -libxext |
|
204 | -libxfixes |
|
205 | -libxi |
|
206 | -libxml2 |
|
207 | -libxtst |
|
208 | -licenses |
|
209 | -linux-api-headers |
|
210 | -linux-firmware |
|
211 | -linux-raspberrypi |
|
212 | -lz4 |
|
213 | -mkinitcpio |
|
214 | -mkinitcpio-busybox |
|
215 | -mpfr |
|
216 | -nano |
|
217 | -ncurses |
|
218 | -net-tools |
|
219 | -netctl |
|
220 | -nettle |
|
221 | -npth |
|
222 | -openresolv |
|
223 | -openssh |
|
224 | -openssl |
|
225 | -orc |
|
226 | -p11-kit |
|
227 | -pacman |
|
228 | -pacman-mirrorlist |
|
229 | -pam |
|
230 | -pambase |
|
231 | -pamixer |
|
232 | -pciutils |
|
233 | -pcre |
|
234 | -pcre2 |
|
235 | -perl |
|
236 | -perl-error |
|
237 | -perl-mailtools |
|
238 | -perl-timedate |
|
239 | -pinentry |
|
240 | -polkit |
|
241 | -ponymix |
|
242 | -popt |
|
243 | -procps-ng |
|
244 | -psmisc |
|
245 | -pulseaudio |
|
246 | -pulseaudio-zeroconf |
|
247 | 120 | pulsemixer |
248 | -python |
|
249 | -python-appdirs |
|
250 | -python-cachecontrol |
|
251 | -python-chardet |
|
252 | -python-colorama |
|
253 | -python-contextlib2 |
|
254 | -python-distlib |
|
255 | -python-distro |
|
256 | -python-html5lib |
|
257 | -python-idna |
|
258 | -python-msgpack |
|
259 | -python-ordered-set |
|
260 | -python-packaging |
|
261 | -python-pep517 |
|
262 | -python-pip |
|
263 | -python-progress |
|
264 | -python-pyparsing |
|
265 | -python-requests |
|
266 | -python-resolvelib |
|
267 | -python-retrying |
|
268 | -python-setuptools |
|
269 | -python-six |
|
270 | -python-toml |
|
271 | -python-urllib3 |
|
272 | -python-webencodings |
|
273 | -raspberrypi-bootloader |
|
274 | -raspberrypi-bootloader-x |
|
275 | -raspberrypi-firmware |
|
276 | -readline |
|
277 | -rtkit |
|
278 | -sed |
|
279 | -shadow |
|
280 | -shared-mime-info |
|
281 | -slang |
|
282 | -speexdsp |
|
283 | -sqlite |
|
284 | -systemd |
|
285 | -systemd-libs |
|
286 | -systemd-sysvcompat |
|
287 | -tar |
|
288 | -tdb |
|
289 | -tzdata |
|
290 | -util-linux |
|
291 | -vi |
|
292 | -webrtc-audio-processing |
|
293 | -which |
|
294 | -wireless-regdb |
|
295 | -wireless_tools |
|
296 | -wpa_supplicant |
|
297 | -xcb-proto |
|
298 | -xorgproto |
|
299 | -xz |
|
300 | -zlib |
|
301 | -zstd |
|
302 | -``` |
|
303 | 121 | \ No newline at end of file |
122 | +``` |