I found this bug under Debian Release Critical Bugs relevant for testing.


Modern Linux audio stacks such as PulseAudio and PipeWire are designed around per-user audio sessions rather than system-wide sound services. As a result, running TiMidity++ as a system-wide daemon (whether via SysV init or a system service) is no longer the recommended approach and may not work correctly when the audio device is managed by the user's audio session.

If required, users can start a TiMidity++ daemon manually with:

$ timidity -iA

For a more permanent setup, TiMidity++ can be started automatically at login using a desktop autostart entry or a systemd --user service.

This is also the approach taken by other distributions. The OpenSUSE README states:

When using pulseaudio the use of timidity as a system wide daemon is discouraged, because both pulseaudio and timidity need the same device exclusively. However timidity can be started as a daemon for the user to provide the MIDI ports he/she
  needs [...]

and recommends:

  $ timidity -iAq -Oe -s 44100

Similarly, the Arch Linux wiki notes:

If you are using PulseAudio, that may also cause the service to fail. You may want to add the following command as an autostart program in your desktop environment.

  $ timidity -iA

Given the move towards per-user audio services, I don't believe replacing the existing SysV init script with a system-wide systemd unit would be an improvement. A systemd --user service would be more appropriate for users who require a persistent TiMidity++ daemon. Such a service file is, I believe, not commonly provided by Debian.

I hope this helps!

Kind regards,

    Edmund


--
Edmund Lodewijks <[email protected]>
TZ: UTC+2 / GMT+2

Reply via email to