The uhidd services

Old behaviour under Mewburn rc

In response to a rule in /usr/local/etc/devd/uhidd-devd.conf, the Plug and Play manager starts individual uhidd processes on demand as ugen devices appear.

The rc system has a uhidd_enabled flag, that causes autostart of uhidd services on every ugen device that lives in /dev at that point in the bootstrap.

How this system handles things

In response to a rule in /usr/local/etc/devd/hidd-nosh.conf, the Plug and Play manager (if necessary) generates, presets, and resets individual uhidd service bundles on demand as ugen devices appear. Each of these launches a uhidd dæmon against the given ugen device, and is individually startable, parameterized via its private environment directory, and enabled just like any other service. When the devices disappear, in response to the same ruleset the Plug and Play manager stops the services.

These service bundles live in the /run/service-bundles/ tree, and are not persistent across system restarts. When enabled, they are wanted by a generated uhidd target located in the same tree.