El audio de Pygame está lleno de chasquidos/crujidos cuando se inicia a través de systemd en un Pi

El audio de Pygame está lleno de chasquidos/crujidos cuando se inicia a través de systemd en un Pi

Estoy intentando configurar un proceso de Python que reproduzca audio para que se inicie automáticamente al arrancar con systemd, pero cuando lo hago, el audio está lleno de mensajes emergentes, aunque está bien cuando lo ejecuto yo mismo en la línea de comando. Como puede ver en mi .servicearchivo a continuación, he intentado maximizar la prioridad del proceso en todas las formas que se me ocurren. ¿Alguien sabe qué está pasando mal?

El guión está aquí:https://github.com/UndarkAido/superhet(Tendrá que completar el musicdirectorio y secrets.pyusted mismo para ejecutarlo. genBreaks.pycompleta el breaksdirectorio).

superhet.servicio:

[Unit]
 Description=Superhet radio
 After=multi-user.target sound.target

 [Service]
 Type=simple
 CPUSchedulingPolicy=fifo
 CPUSchedulingPriority=99
 IOSchedulingClass=realtime
 IOSchedulingPriority=0
 Nice=-20
 User=aidan
 Group=aidan
 WorkingDirectory=/home/-user-/Source/superhet
 ExecStart=/home/-user-/Source/superhet/venv/bin/python main.py

 [Install]
 WantedBy=multi-user.target

Información del sistema:

  `.::///+:/-.        --///+//-:``    -user-@superhet
 `+oooooooooooo:   `+oooooooooooo:    --------------
  /oooo++//ooooo:  ooooo+//+ooooo.    OS: Raspbian GNU/Linux 10 (buster) armv7l
  `+ooooooo:-:oo-  +o+::/ooooooo:     Host: Raspberry Pi 4 Model B Rev 1.1
   `:oooooooo+``    `.oooooooo+-      Kernel: 5.10.63-v7l+
     `:++ooo/.        :+ooo+/.`       Uptime: 20 mins
        ...`  `.----.` ``..           Packages: 1485 (dpkg)
     .::::-``:::::::::.`-:::-`        Shell: bash 5.0.3
    -:::-`   .:::::::-`  `-:::-       Terminal: /dev/pts/0
   `::.  `.--.`  `` `.---.``.::`      CPU: BCM2711 (4) @ 1.500GHz
       .::::::::`  -::::::::` `       Memory: 89MiB / 1872MiB
 .::` .:::::::::- `::::::::::``::.
-:::` ::::::::::.  ::::::::::.`:::-
::::  -::::::::.   `-::::::::  ::::
-::-   .-:::-.``....``.-::-.   -::-
 .. ``       .::::::::.     `..`..
   -:::-`   -::::::::::`  .:::::`
   :::::::` -::::::::::` :::::::.
   .:::::::  -::::::::. ::::::::
    `-:::::`   ..--.`   ::::::.
      `...`  `...--..`  `...`
            .::::::::::
             `.-::::-`

Editar: systemctl status superhet.servicetambién se muestra superhet python[1040]: ALSA lib pcm.c:8424:(snd_pcm_recover) underrun occurredperiódicamente

Respuesta1

Agregar Environment=XDG_RUNTIME_DIR=/run/user/1000al archivo de servicio permitió a PyGame conectarse a PulseAudio

https://stackoverflow.com/q/49059610/1526048

información relacionada