What is wrong with system mode?

Many folks seem to think it is a good idea to run PA in system mode. But it is not. Nobody should run it that way, with the exception of very few cases, which are listed further down.

Here are a couple of reasons why running PA in system mode is a bad idea.

  • Security: Much like the X server as soon as you are authenticated you have complete control of the sound server, no further per-object access checks are done.
  • When in system mode, module loading after startup is disabled for security reasons, which means: no hotplug handling in system mode
  • When in system mode, shared memory data transport is disabled for security reasons, which means: much higher memory usage and CPU load in system mode
  • The module-xxx-restore modules maintain state that is inheritely user specific, but when run in system mode is shared between users.
  • Security: there are no size limits on state data, which enables users to flood /var unless you employ quotas on the pulse user
  • Security: all users that have access to the server can sniff into each others audio streams, listen to their mikes, and so on.
  • When in system mode you also lose a lot of further functionality, like the bridging to jack, to rygel (upnp), to X11, to ckit, and so on And, most importantly: it is explicitly not designed for it, you are on your own if you use it. The maintainer's interest in making sure system mode is well supported is rather minimal.

So why have it then?

System mode is around for usage on thin client or embedded setups, wher no real local user exists, where access is exclusively via the network, and where state data is flushed on each session termination.

Or with other words: if you run it that way on your desktop, then you are doing it the wrong way.

So you want to set it up nonetheless?

You are on your own. You need to know you way around, be able to write init scripts, dbus policies, to fix up device permissions, and unix users, you need to pass around security cookies and more.

You are expected to know your way around if you use system mode. You are using PA against the explicit recommendations of the maintainers, so don't expect particularly enthusiastic support from them in doing so.

Good luck!

But my distro is shipping an init script for PA!

Ignore that. It's stupid. They shouldn't be doing this.