96a6b96b7e
- Project directory structure: docs/, src/, build/, recipes/, scripts/, wiki/ - README.md with project overview and status - .editorconfig for consistent code style - .gitignore for Python, C/C++, kernel, and build artifacts - docs/research/: system research report + base OS decision - docs/audio-stack-config.md: audio stack configuration notes - config/: JACK, ALSA, CPU performance configs - Preserved research from P1-R1 and P1-R2 tasks
44 lines
737 B
Desktop File
44 lines
737 B
Desktop File
[Unit]
|
|
Description=JACK2 Audio Server
|
|
After=sound.target network.target
|
|
Wants=sound.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=pi
|
|
Group=audio
|
|
Environment=JACK_NO_AUDIO_RESERVATION=1
|
|
Environment=JACK_PROMISCUOUS_SERVER=1
|
|
|
|
# Real-time scheduling
|
|
LimitRTPRIO=99
|
|
LimitMEMLOCK=infinity
|
|
LimitNICE=-20
|
|
|
|
# CPU affinity — pin JACK server to audio cores 1-3
|
|
CPUAffinity=1-3
|
|
|
|
# I/O scheduling — realtime class
|
|
IOSchedulingClass=realtime
|
|
IOSchedulingPriority=0
|
|
|
|
# JACK daemon command
|
|
ExecStart=/usr/bin/jackd \
|
|
-P 70 \
|
|
-t 2000 \
|
|
-d alsa \
|
|
-d hw:USB \
|
|
-r 48000 \
|
|
-p 128 \
|
|
-n 3 \
|
|
-M \
|
|
-X seq \
|
|
-S
|
|
|
|
# Restart on crash (but not on clean shutdown)
|
|
Restart=on-failure
|
|
RestartSec=2
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|