OpenRC user services

Alexis <[email protected]> Thu, 30 Jul 2026 14:09:38 +1000
Newsgroups gmane.linux.gentoo.devel
Message-ID <[email protected]>
Hi all,

With OpenRC now supporting user services, has there been any 
general recommendation that package maintainers try to provide 
OpenRC user services where appropriate (without that necessarily 
being _required_)?

i use OpenRC overall, but because i started using Gentoo before 
OpenRC user services were available, i manually set up my own set 
of s6-rc-based user services:

* a D-Bus session bus;
* an Emacs server instance;
* PipeWire aand WirePlumber instances;
* MPD.

There are now user services provided for D-Bus, Emacs, PipeWire, 
and WirePlumber. However, MPD does not yet provide one (and in the 
context of my own use-case, i don't want to be running MPD as a 
system service). Nor, for example, is there a user service for 
media-sound/snapcast - earlier i opened 
https://bugs.gentoo.org/980076 about the issues this causes in the 
context of a per-user PipeWire setup, but in the meantime, 
https://wiki.gentoo.org/wiki/Snapcast has just been updated to 
tell people to start the `snapserver` process via the relevant GUI 
startup file. (A wiki contributor had actually said to start it 
via a terminal, e.g. Konsole, which is even messier.) And after 
installing media-sound/mpd-mpris from GURU, i found that didn't 
provide a user service either.

This is all understandable given that:

(a) OpenRC user services are still relatively new;
(b) they're unlikely to be provided by upstream; and
(c) creating OpenRC services will require extra work from package 
maintainers.

But has there been any general communication along the lines of 
"Hey, consider creating OpenRC user services"?

If nothing else, lack of OpenRC user services can add significant 
complications to wiki pages, which end up needing to describe 
workarounds, ranging from 'basically okay' to 'questionable at 
best'. In the context of systemd, we can usually talk about simple 
calls to `systemd --user`, but in the absence of OpenRC user 
services being available for a particular package, such simplicity 
is not necessarily possible.

As an example, take 
https://wiki.gentoo.org/wiki/PipeWire#gentoo-pipewire-launcher and 
the two following sections ("GUI environments", "Restarting 
PipeWire and WirePlumber"). Ris, immolo and myself all agree that 
the "PipeWire" page is too complex as it stands, and having to 
describe how to set things up in the absence of OpenRC services 
has contributed to that. With the availability of OpenRC user 
services for PipeWire and WirePlumber, i'm thinking the three 
sections i mentioned could be broken out to a separate page for 
those who aren't using systemd/OpenRC user services, and instead 
be replaced by straightforward descriptions of enabling and 
starting those services. (We've also discussed things like 
breaking other content out to separate pages, such as 
"Troubleshooting" sections, and i'm planning to work on that as 
well.)

Thoughts?


Alexis.