Написание собственного драйвера - не тривиальная задача. Кроме того, что вам нужно будет познакомиться с некоторыми частями исходников ядра, вы должны учитывать эти две вещи:
1) Компании не предоставляют техническую документацию. Вам нужно будет прибегнуть к обратной инженерии, чтобы узнать, как она работает внутри.
2). Для использования вышеперечисленных расширенных функций, вам необходимо иметь некоторый опыт в области цифровой обработки сигналов.
Но если вам нравится экспериментировать и/или вы заинтересованы в программной инженерии, это очень полезный опыт.
PS: да, это "обычные" драйверы устройств, работающие в пространстве ядра, но также да, вы должны будете взаимодействовать со своим драйвером с ALSA API (который также находится в пространстве ядра).[116127].
Это отвечает тому, что вам нужно?
systemctl --user start unit.service
Попробуйте запустить службу внутри таймера вот так:
Unit=test@%u.service
Из справочной страницы sytemd.unit(5)
для спецификатора%u
:
This is the name of the user running the service manager instance. In case of the system manager this resolves to "root". Note that this setting is not influenced by configurable in the of the service unit.