STEAM GROUP
Steam Universe Steam U
STEAM GROUP
Steam Universe Steam U
41,307
IN-GAME
325,131
ONLINE
Founded
September 23, 2013
All Discussions > Steam OS > Topic Details
JamieLinux Dec 31, 2013 @ 6:18pm
Fixed system mode - User mode pulse audio config...
Here are the changed settings to properly configer pulse audio to start in eather System mode or User mode....

First edit /etc/default/pulseaudio

# Start the PulseAudio sound server in system mode. # (enables the pulseaudio init script - requires that users be in the # pulse-access group) # System mode is not the recommended way to run PulseAudio as it has some # limitations (such as no shared memory access) and could potentially allow # users to disconnect or redirect each others' audio streams. The # recommended way to run PulseAudio is as a per-session daemon. For GNOME/KDE/ # Xfce sessions in Ubuntu Lucid/10.04, /etc/xdg/autostart/pulseaudio.desktop # handles this function of automatically starting PulseAudio on login, and for # it to work correctly your user must *not* have "autospawn = no" set in # ~/.pulse/client.conf (or in /etc/pulse/client.conf). By default, autospawn # is enabled. For other sessions, you can simply start PulseAudio with # "pulseaudio --daemonize". # 0 = don't start in system mode, 1 = start in system mode PULSEAUDIO_SYSTEM_START=0 # Prevent users from dynamically loading modules into the PulseAudio sound # server. Dynamic module loading enhances the flexibility of the PulseAudio # system, but may pose a security risk. # 0 = no, 1 = yes DISALLOW_MODULE_LOADING=1
ctrl x save and exit

next edit's are out of the /etc/pulse directory so im going to make assumptions u know its

/etc/pulse/client.conf daemon.conf default.pa and system.pa

client.conf

remove what you have and paste this in or make edits useing this...
# This file is part of PulseAudio. # # PulseAudio is free software; you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # PulseAudio is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with PulseAudio; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 # USA. ## Configuration file for PulseAudio clients. See pulse-client.conf(5) for ## more information. Default values are commented out. Use either ; or # for ## commenting. ; default-sink = ; default-source = ; default-server = ; default-dbus-server = ; autospawn = yes ; daemon-binary = /usr/bin/pulseaudio ; extra-arguments = --log-target=syslog ; cookie-file = ; enable-shm = yes ; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB ; auto-connect-localhost = no ; auto-connect-display = no

Save and exit back to terminal

daemon.conf

# This file is part of PulseAudio. # # PulseAudio is free software; you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # PulseAudio is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with PulseAudio; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 # USA. ## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for ## more information. Default values are commented out. Use either ; or # for ## commenting. ; daemonize = no ; fail = yes ; allow-module-loading = yes ; allow-exit = yes ; use-pid-file = yes ; system-instance = no ; local-server-type = user ; enable-shm = yes ; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB ; lock-memory = no ; cpu-limit = no ; high-priority = yes ; nice-level = -11 ; realtime-scheduling = yes ; realtime-priority = 5 ; exit-idle-time = 20 ; scache-idle-time = 20 ; dl-search-path = (depends on architecture) ; load-default-script-file = yes ; default-script-file = /etc/pulse/default.pa ; log-target = auto ; log-level = notice ; log-meta = no ; log-time = no ; log-backtrace = 0 ; resample-method = speex-float-1 ; enable-remixing = yes ; enable-lfe-remixing = no ; flat-volumes = no ; rlimit-fsize = -1 ; rlimit-data = -1 ; rlimit-stack = -1 ; rlimit-core = -1 ; rlimit-as = -1 ; rlimit-rss = -1 ; rlimit-nproc = -1 ; rlimit-nofile = 256 ; rlimit-memlock = -1 ; rlimit-locks = -1 ; rlimit-sigpending = -1 ; rlimit-msgqueue = -1 ; rlimit-nice = 31 ; rlimit-rtprio = 9 ; rlimit-rttime = 1000000 ; default-sample-format = s16le ; default-sample-rate = 44100 ; alternate-sample-rate = 48000 ; default-sample-channels = 2 ; default-channel-map = front-left,front-right ; default-fragments = 8 ; default-fragment-size-msec = 10 ; enable-deferred-volume = yes ; deferred-volume-safety-margin-usec = 1 ; deferred-volume-extra-delay-usec = 0

save and exit

default.pa
#!/usr/bin/pulseaudio -nF # # This file is part of PulseAudio. # # PulseAudio is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # PulseAudio is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with PulseAudio; if not, write to the Free Software Foundation, # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. # This startup script is used only if PulseAudio is started per-user # (i.e. not in system mode) .nofail ### Load something into the sample cache #load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav #load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav #load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav #load-sample-lazy pulse-access /usr/share/sounds/generic.wav .fail ### Automatically restore the volume of streams and devices load-module module-device-restore load-module module-stream-restore load-module module-card-restore ### Automatically augment property information from .desktop files ### stored in /usr/share/application load-module module-augment-properties ### Load audio drivers statically ### (it's probably better to not load these drivers manually, but instead ### use module-udev-detect -- see below -- for doing this automatically) #load-module module-alsa-sink #load-module module-alsa-source device=hw:1,0 #load-module module-oss device="/dev/dsp" sink_name=output source_name=input #load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input #load-module module-null-sink #load-module module-pipe-sink ### Automatically load driver modules depending on the hardware available .ifexists module-udev-detect.so load-module module-udev-detect .else ### Use the static hardware detection module (for systems that lack udev/hal support) load-module module-detect .endif ### Automatically connect sink and source if JACK server is present .ifexists module-jackdbus-detect.so .nofail load-module module-jackdbus-detect .fail .endif ### Automatically load driver modules for Bluetooth hardware .ifexists module-bluetooth-discover.so load-module module-bluetooth-discover .endif ### Load several protocols .ifexists module-esound-protocol-unix.so load-module module-esound-protocol-unix .endif load-module module-native-protocol-unix ### Network access (may be configured with paprefs, so leave this commented ### here if you plan to use paprefs) #load-module module-esound-protocol-tcp #load-module module-native-protocol-tcp #load-module module-zeroconf-publish ### Load the RTP receiver module (also configured via paprefs, see above) #load-module module-rtp-recv ### Load the RTP sender module (also configured via paprefs, see above) #load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'" #load-module module-rtp-send source=rtp.monitor ### Load additional modules from GConf settings. This can be configured with the paprefs tool. ### Please keep in mind that the modules configured by paprefs might conflict with manually ### loaded modules. .ifexists module-gconf.so .nofail load-module module-gconf .fail .endif ### Automatically restore the default sink/source when changed by the user ### during runtime ### NOTE: This should be loaded as early as possible so that subsequent modules ### that look up the default sink/source get the right value load-module module-default-device-restore ### Automatically move streams to the default sink if the sink they are ### connected to dies, similar for sources load-module module-rescue-streams ### Make sure we always have a sink around, even if it is a null sink. load-module module-always-sink ### Honour intended role device property load-module module-intended-roles ### Automatically suspend sinks/sources that become idle for too long load-module module-suspend-on-idle ### If autoexit on idle is enabled we want to make sure we only quit ### when no local session needs us anymore. .ifexists module-console-kit.so load-module module-console-kit .endif #.ifexists module-systemd-login.so #load-module module-systemd-login #.endif ### Enable positioned event sounds load-module module-position-event-sounds ### Cork music/video streams when a phone stream is active #load-module module-role-cork-music-on-phone ### Modules to allow autoloading of filters (such as echo cancellation) ### on demand. module-filter-heuristics tries to determine what filters ### make sense, and module-filter-apply does the heavy-lifting of ### loading modules and rerouting streams. load-module module-filter-heuristics load-module module-filter-apply ### Load DBus protocol #.ifexists module-dbus-protocol.so #load-module module-dbus-protocol #.endif # X11 modules should not be started from default.pa so that one daemon # can be shared by multiple sessions. ### Load X11 bell module #load-module module-x11-bell sample=bell-windowing-system ### Register ourselves in the X11 session manager #load-module module-x11-xsmp ### Publish connection data in the X11 root window #.ifexists module-x11-publish.so #.nofail #load-module module-x11-publish #.fail #.endif load-module module-switch-on-port-available ### Make some devices default #set-default-sink output #set-default-source input
system.pa

#!/usr/bin/pulseaudio -nF # # This file is part of PulseAudio. # # PulseAudio is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # PulseAudio is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with PulseAudio; if not, write to the Free Software Foundation, # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. # This startup script is used only if PulseAudio is started in system # mode. ### Automatically load driver modules depending on the hardware available .ifexists module-udev-detect.so load-module module-udev-detect .else ### Use the static hardware detection module (for systems that lack udev/hal support) load-module module-detect .endif ### Load several protocols .ifexists module-esound-protocol-unix.so load-module module-esound-protocol-unix .endif load-module module-native-protocol-unix ### Automatically restore the volume of streams and devices load-module module-stream-restore load-module module-device-restore ### Automatically restore the default sink/source when changed by the user ### during runtime ### NOTE: This should be loaded as early as possible so that subsequent modules ### that look up the default sink/source get the right value load-module module-default-device-restore .ifexists module-dbus-protocol.so ### If you want to allow TCP connections, set access to "remote" or "local,remote". load-module module-dbus-protocol access=local .endif ### Automatically move streams to the default sink if the sink they are ### connected to dies, similar for sources load-module module-rescue-streams ### Make sure we always have a sink around, even if it is a null sink. load-module module-always-sink ### Automatically suspend sinks/sources that become idle for too long load-module module-suspend-on-idle ### Enable positioned event sounds load-module module-position-event-sounds
save and exit

now your going to want to remove the pulse config from your steam and desktop ./pulse directories and reboot ...

After that you still willl have muted audio but it will fix the errors with per user configs and or if you enable system wide pulse audio.....

sinks should no longer go missing :P

Last edited by JamieLinux; Dec 31, 2013 @ 6:52pm
< >
Showing 1-6 of 6 comments
JamieLinux Dec 31, 2013 @ 6:23pm 
sorry about the wall of text's i dont think steam client supports code tags to make it a little nicer.

dont forget to add steam and desktop to puse and pulse-acces groups..

For those that wonder why i posted this..

This is the way pulse is configered on debian and ubuntu.. I removed the extra settings that were a redundant or b caused config issues with pulseaudio....
Last edited by JamieLinux; Dec 31, 2013 @ 6:29pm
Hitsuji Dec 31, 2013 @ 6:35pm 
[ code ] code [ /code ]
Without the obvious extra spaces to stop the parser parsing it.
Last edited by Hitsuji; Dec 31, 2013 @ 6:37pm
XÆЯO_Vince Dec 31, 2013 @ 6:38pm 
I had a really difficult time getting audio to work but finally managed. Initially there was no sound, then I was getting a "dummy output" device and "pactl list sinks" was only listing the dummy device. Then I managed to audio to work when logged in as root but not as the steam or desktop users, despite the users all being in the pulse-access and audio groups. What seemed to fix it for me was upgrading to the "+steamos3+bsos1_*" pulseaudio packages listed here and dealing with the dependancy issues with "apt-get -f install":

http://repo.steampowered.com/steamos/pool/main/p/pulseaudio/
Last edited by XÆЯO_Vince; Dec 31, 2013 @ 6:40pm
JamieLinux Dec 31, 2013 @ 6:49pm 
Originally posted by Hitsuji:
[ code ] code [ /code ]
Without the obvious extra spaces to stop the parser parsing it.

crap last time i tried that it wouldnt do it it just outputed the code brackets... thanks


There fixed :P i also put the changed up on my github...
Last edited by JamieLinux; Dec 31, 2013 @ 6:53pm
directhex Jan 1, 2014 @ 10:50am 
Does this address the problem of devices being muted at boot in system mode? It doesn't seem to, to my eye
JamieLinux Jan 1, 2014 @ 12:47pm 
Originally posted by directhex:
Does this address the problem of devices being muted at boot in system mode? It doesn't seem to, to my eye

sadly no not without installling alsa utils and unmuting it or setting a init d script to disable alsa auto muting on boot.. working on trying to fix it oob without the need to install extra repo's.... I know its something im missing... This just fixes the config problems with user mode so u can set user or global without loosing your devices. I based it off the debian and ubuntu pulse audio configs from a normal system.

This works on standard distro and fixes the bug in yeoldsteamos..
Last edited by JamieLinux; Jan 1, 2014 @ 12:49pm
< >
Showing 1-6 of 6 comments
Per page: 1530 50

All Discussions > Steam OS > Topic Details
Date Posted: Dec 31, 2013 @ 6:18pm
Posts: 6