Hello,

I have installed the alsa-66serv and jackd-66serv packages and I want to enable them as services. On my machine, I have created the tree "audio" and have found the new service names under /usr/lib/66/service/jackd@ and /usr/lib/66/service/alsa-daemon and /usr/lib/66/service/alsa-restore ever since the 66 update. However, I have found that I have been unable to enable jackd@ with the command "66-enable -t audio -S jackd@ " because the service file cannot be parsed and my lack of experience with 66 and various deeper parts of Linux also mean I am not confident in whether I should enable alsa-daemon or alsa-restore or both, since I don't know exactly what things they specifically do beyond what their names indicate. Is there something I am doing wrong here with enabling alsa and jack services? Or is there some deeper problem I am not aware about? Any help would be appreciated.

For reference, this is what I get if I use -v4 in the 66-enable command:

66-enable(src/lib66/parser_enabled.c: parse_service_before: 40): tracing: start parse process of service: /usr/lib/66/service/jackd@
66-enable(src/lib66/parser_enabled.c: parse_service_before: 69): warning: invalid instance name: jackd@
66-enable(src/lib66/ssexec_enable.c: start_parser: 76): fatal: unable to parse service file: /usr/lib/66/service/jackd@ : or its dependencies
Anywhere you see a service with an @ on it needs a word after it.
In some place like the boot-user tree it is the name of the user, it can be a name for a device, or an arbitrary name, but there has to be something following @ to enable it. 66-enable jackd@ 1 then 66-env jackd@ 1 to configure it
66-enable -F jackd@ 1 to pass the configuration again, and 66-enable -S jackd@ 1 to enable it and start it. You can combine -S and -F in one command if you want it configured and started with the new configuration.
This is if you are enabling it in the current tree, if you are enabling it in another tree then -t treename must follow 66-enable

Sorry I am not familiar with either of those services to give specific advise, I don't even know at this moment if they are user services, root only services, or both. My advise is simply on the 66 handling.

Same with boot though, if you were to make a new tree boot2 and enable boot@ 66-enable -t boot2 -F boot@ will not work. boot@ foot will work fine. Then using 66-env to configure boot@ system is separated from configuring boot@ foot, two different configurations for different purpose and utility.
Thanks!

However, it turns out that I should have gone into Cadence instead to enable the "start JACK on startup" option, or whatever it's called. Still, thank you for the tip with @ services.
i need to be a little more precise and less confusing. Like @ fungal_net said,every name of service ending with @ require a word after it. A service name ending with @ means instantiated service.
But the dance 66-enable, 66-env, 66-enable -F to apply the change is not mandatory for all instantiated service. A instantiated service as type Module need this dance but an instantiated service as type bundle,longrun,oneshot,classic do not need it.
Let me explain again by an example:
for the boot-user@ which is an instantiated service as type module:
% sudo 66-enable boot-user@ example # enable the service
% sudo 66-env boot-user@ example # configure the module part to suit your needs
% sudo 66-enable -F boot-user@ example # apply the configuration of the module
% sudo 66-start boot-user@ example # start the service
for the jackd@ which is an instantiated service as type longrun
% sudo 66-enable jackd@ example # enable the service
% sudo 66-env jackd@ example # In the majority of the case, we don't need to change anything from the service environment. This operation can be skipped.
% sudo 66-start jackd@ example # start the service
Hope it's clearer

Powered by Obarun