Brinehaart 1 jan @ 8:52am
[Help Needed] Can't listen to music when Steam is running
When Steam is running, it grabs the audio completely and won't allow music apps to run. If I start a music app and play a track, no sound will come out. On the other hand if I start the music app before launching steam, the music keeps playing. I'm using Manjaro 0.8.8 x64 with pulseaudio. I'm having the issue on KDE and GNOME. I've tried running Clementine, Rhythmbox, Gnome-music, VLC, and Tomahawk but they all couldn't play music if launched after steam. Any tips on how to stop steam from monopolizing the audio?
Visar 1-15 av 53 kommentarer
< >
wt7 1 jan @ 8:54am 
Try adding pulseaudio as a non-Steam game and launching it before the game(s)?
Senast ändrad av wt7; 1 jan @ 8:56am
Brinehaart 1 jan @ 9:04am 
I won't launch. Launching it from a terminal would yield "Too many arguments"
Kranky K. Krackpot Sr. 1 jan @ 11:41am 
It looks like the app which is run first, grabs hardware.
What is your soundcard? Can you run two players and hear both of them at the same time? Do you have 32-bit pulse and alsa-plugins installed? Do you have ~/.asoundrc file? If you have it, post its content here, then backup and delete it, and try to run steam and player then. If you don't have such file, create one with below content, and again try steam and player:
pcm.!default {
type plug
slave.pcm "dmixer"
}

pcm.dmixer {
type dmix
ipc_key 1024
slave {
pcm "hw:0"
period_time 0
period_size 1024
buffer_size 4096
}
bindings {
0 0
1 1
}
}

ctl.dmixer {
type hw
card 0
}
From here: http://www.alsa-project.org/main/index.php/Asoundrc#dmix
Don't know about Manjaro, but Arch has a very decent wiki about pulse and stuff https://wiki.archlinux.org/index.php/PulseAudio
Senast ändrad av Kranky K. Krackpot Sr.; 1 jan @ 11:43am
Brinehaart 1 jan @ 2:00pm 
Yes I can have two players using pulseaudio at the same time. Even though it I got a headache listening to two tracks at once, they seem to be working just fine.
My sound card is detected as GF108 High Definition Audio Controller Digital Stereo (whether that's true or not, I haven't the fainest idea). However, the soundserver is using "Built-in Audio Analog Stereo" as the playback device. The GF108 one doesn't seem to be working. I didn't have an asoundrc file so I copied the you posted. I was able to start clementine and listen to music while steam was running but Steam won't play sounds anymore for as long as Clementine is running. I have to terminate Clementine to make Steam produce sound.
Mortus Eclipse 1 jan @ 2:22pm 
May be an odd question but, could "pasuspender" (Pulse Audio Suspender) be invoked somewhere when you launch steam? This will usually preceed a program in the command section of the launcher IE "pasuspender steam".

The reason I ask is this seems very similar to when "pasuspender" is envoked and caused me many headaches in setting up my system with some low-lantancy audio applications.
Kranky K. Krackpot Sr. 1 jan @ 2:40pm 
Wow, Nvidia now makes sound chips too... It looks more like a HDMI on videocard.
But the problem is still here, as I see.
Starting Steam in terminal with SDL_AUDIODRIVER=alsa or SDL_AUDIODRIVER=pulse doesn't help? Can you put output of "aplay -l" here? Also Steam itself doesn't play sounds, as I know. It's games or videos that play sounds. You mean, games don't play sounds when a music player is working in backgroud, right? Can you start a player, and then Steam, and put its output on, say, pastebin.com, maybe it'll show something interesting.
Alternatively, the recipe from ArchWiki might help https://wiki.archlinux.org/index.php/PulseAudio#ALSA.2Fdmix_without_grabbing_hardware_device
I still believe that 64-bit Pulse (of players) and 32-bit ALSA (of Steam) simply can't share a single soundcard...
Senast ändrad av Kranky K. Krackpot Sr.; 1 jan @ 3:13pm
Brinehaart 1 jan @ 3:11pm 
I don't see anything related to paususpender on the .desktop file or the /usr/bin/ script. The steam client won't emit chat sounds when a music player is running. DotA2, Portal, and Tf2 won't play any sound at all too. Here's steam's output when using pulse http://pastebin.com/6P3rkVeA
Here's the output with alsa http://pastebin.com/chj5hrVp
And aplay -!
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC892 Digital [ALC892 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0

Kranky K. Krackpot Sr. 1 jan @ 3:27pm 
Yup, here it is:
AL lib: pulseaudio.c:612: Context did not connect: Access denied
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
AL lib: alsa.c:512: Could not open playback device 'default': Device or resource busy
AL lib: oss.c:169: Could not open /dev/dsp: No such file or directory

In .asoundrc change 'pcm "hw:0"' to 'pcm "hw:0,0"' (though, it wouldn't help much, probably).

If you have a player with a setting to select output between alsa and pulse, you can simply kill pulse, put the player's setting to alsa, and then run the player and steam together. If my guess is correct, without pulse they'll both work.

Yet another alternalively looks like installing 32-bit pulse: lib32-libpulse and lib32-alsa-plugins.

Alternatively try this from ArchWiki:
To prevent applications from using ALSA's OSS emulation and bypassing Pulseaudio (thereby preventing other applications from playing sound), make sure the module snd_pcm_oss is not being loaded at boot. If it is currently loaded (lsmod|grep oss), disable it by executing:
# rmmod snd_pcm_oss
And then this : https://wiki.archlinux.org/index.php/PulseAudio#ALSA.2Fdmix_without_grabbing_hardware_device (carefully, so that it would be possible to restore).

PS. I rearranged alternatives above in somehow less destructive way.
PPS. Also in .asoundrc insert below this line "ipc_key 1024" the following:
ipc_perm 0660
ipc_key_add_uid false
Senast ändrad av Kranky K. Krackpot Sr.; 1 jan @ 4:02pm
Hae-Joo Chang 1 jan @ 7:50pm 
What happens if you disable pulse audio altogether and reboot? I've never had any luck with it so that's what I have been doing when I install the latest version of my flavor every year.

Jarno 2 jan @ 2:27am 
WRONG INFORMATION, DO NOT USE THIS!
SIMPLY FIX AT POST #29

I also had problems with alsa/pulseaudio and here is what i did:
installed pulseaudio pavucontrol (i use pavucontrol to control sounds)
installed lib32-alsa-plugins lib32-libpulse pulseaudio-alsa (those are needed for control alsa sounds if you use pulseaudio/pavucontrol)
deleted ~/.asoundrc (you should backup it if this does not help)
edited /etc/pulse/default.pa to include
load-module module-alsa-sink device=dmix
load-module module-alsa-source device=dsnoop
(more information: https://wiki.archlinux.org/index.php/PulseAudio#ALSA.2Fdmix_without_grabbing_hardware_device )
reboot

Even if wikipedia says that if you use ALSA/dmix without grabbing hardware device, pulseaudio-alsa package need to be removed but that was only way i made it work on my case.
After that I could use applications what uses pulseaudio + play steamgames with sounds and also control alsa sounds from pavucontrol (Mainly I use speakers/headphones but every now and then I need to put sounds from one application to TV and sounds from other application to headphones etc.)

Edit: You dont need ~/.asoundrc because PulseAudio plugin for ALSA brings systemwide /etc/asound.conf config file.
Also as Kranky said, be sure that you dont have snd_pcm_oss module loaded.
Senast ändrad av Jarno; 3 jan @ 4:12am
Brinehaart 2 jan @ 3:10am 
rmmod snd_pcm_oss returns rmmod: ERROR: Module snd_pcm_oss is not currently loaded
I've edited the configs as instructed and I have made sure that the 32bit librares are installed but I still can't make Steam produce sounds while a music player is on. It's either Steam or the entire system. Can't seem to have both
Jarno 2 jan @ 4:01am 
I tested with my old crappy laptop with pretty much stock manjaro 0.8.8.
I had same problem as you have, but i could test only with game called World of Goo.
First i made that modification to /etc/pulse/default.pa and checked that i had all packages what needed (pulseaudio pavucontrol lib32-alsa-plugins lib32-libpulse pulseaudio-alsa).
Reboot
Same problem, gamesounds didn't work if started VLC before steam.
Then I reinstalled packages in this order:
sudo pacman -S pulseaudio pavucontrol
sudo pacman -S lib32-alsa-plugins lib32-libpulse pulseaudio-alsa
didnt need to make changes to default.pa because it left it like i changed before.
Reboot.
Then gamesounds did work at the same time when i played music from VLC.
Only difference between my desktop arch and that laptop is that pavucontrol dont show ALSA sounds on that manjaro laptop like my arch shows, but at least i managed to get it work.

Try to reinstall those packages in that order and tell the result?
Senast ändrad av Jarno; 2 jan @ 4:05am
Jarno 2 jan @ 4:32am 
Oh sorry, forgot to mention that after that last reboot I needed to start pavucontrol to select right audio output.

Start pavucontrol and from "Output Devices" tab find your audiodevice what you want to be your primary output and at right side is green circle with "Set as fallback" mouseover hint, click it.
Then if vlc or other application what uses pulseaudio does not playback audio, open "Playback" tab from pavucontrol and there is button on right side that opens dropdown menu where you can select what output device that application uses.

(Woke up ~24 hours ago so i guess it's normal to forget something lol)
Brinehaart 2 jan @ 4:46am 
You should really rest. It's not healthy to stay up for more than 16 hours.
Anyway, I can't get Steam to produce sounds at all now. Nothing related to Alsa works. Not even aplay.
Aplay returns this: ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
aplay: main:722: audio open error: Device or resource busy
While Steam returns this: SDLAUDIO: SDL_OpenAudioDevice() failed: ALSA: Couldn't open audio device: Device or resource busy
Kranky K. Krackpot Sr. 2 jan @ 5:40am 
Hmm...
Let's start from the beginning, with the help of blessed ArchWiki.
Theoretically, there're 3 possible setups:

1) All use Pulse. You now have lib32-alsa-plugins lib32-libpulse pulseaudio-alsa installed, and restarted pulse, right? In this case you don't need changes in /etc/pulse/default.pa and don't need .asoundrc. Pulse shall completely grab hardware and catch all sounds streams and manage them itself. Steam will use 32-bit pulse lib, and no ALSA app will work with alsa directly (it'll work like alsa-app -> pulseaudio-alsa plugin -> pulse -> alsa -> hardware).
With all 32-bit libs installed cancel all changes in default.pa (or even better try with and then without them), remove .asoundrc, restart pulse (or just reboot), start Steam and in pulse gui select a working output/sink for it (default or analog stereo or card 0,0 not sure how they call it), start a player and in pulse gui select the same output for it too. Also try Steam with SDL_AUDIODRIVER=pulse to make sure.

2) Some apps use Pulse and others use Alsa, in ArchWiki it's called "ALSA/dmix without grabbing hardware device". Eventually, pulse and alsa have to share the same hardware. As Archwiki says, you have to purge pulseaudio-alsa and make changes in default.pa and bring .asoundrc back and restart pulse (or reboot). In this case your 64-bit players will still use 64-bit Pulse. Steam can work well with alsa directly, it doesn't need 32-bit pulse libs, only a correct setup for alsa (asoundrc with dmix -- software mixing) and non-blocked hardware (changes in default.py). Then start a player, select a working output for it in Pulse gui, then try Steam with SDL_AUIDODRIVER=alsa.

3) No Pulse, all apps use their native backend (alsa, oss, esd, arts, don't know what else) direclty. For that purge all Pulse completely and configure all app to use their backends (most of apps can use alsa, anyway). Or as I suggested above, just kill (shutdown) all Pulse, bring back asoundrc, start a player that can choose alsa as its backend, then start Steam. And if everything works as you want -- purge all pulse and forget about it for now.
Senast ändrad av Kranky K. Krackpot Sr.; 2 jan @ 5:44am
Visar 1-15 av 53 kommentarer
< >
Per sida: 15 30 50
Datum skrivet: 1 jan @ 8:52am
Inlägg: 53