Skip to content

Loading…

No Audio #12

Open
carlzulauf opened this Issue · 79 comments
@carlzulauf

I have everything working except audio. Doesn't work in Steam, doesn't work in GNOME, doesn't work in games (which otherwise work).

Hardware description:

  • AMD FX-4170
  • ASRock 970 Extreme3
  • NVIDIA GTS 450

Navigating to System Settings > Sound in gnome shows zero devices.

Empty device list

lspci -k output shows both the Azalia audio on the motherboard and the HDMI audio on the GTS 450 are recognized as audio device. All audio devices are using kernel driver snd_hda_intel.

I have tried getting audio output through HDMI, SPDIF, and 3.5mm stereo. Nothing on any.

@irbigturtle

Hmmm, I saw you noticed I was having the same problem. I looked up your board specs and noticed you have the same audio chipset as me: Realtek ALC892.

Could be they just haven't added support for it yet.

@vhawley

I am having the same issue.

My specs:
MSI Z87-G45 (Realtek ALC1150 Audio)
Intel Core i5-4670k @ 3.4GHz
EVGA GeForce GTX 760
8 GB DDR3-1600 RAM

I tried manually installing the drivers provided by Realtek but when using ./configure there was an error related to compiling a .h file. If more info is needed let me know what i can provide.

@ligature

Same issues:

MSI GTX 760
AMD FX-8350
MSI 970A-G46 (Realtek ALC892)

@irbigturtle

Closed my issue and reposting here:

There is no audio when using SteamOS or Desktop. Using standard 1/8" audio jack on ASUS P8Z77-V Motherboard.

Motherboard Specs: Realtek ALC892 8-Channel Audio CODEC

@ChristianHersevoort

I haven't installed SteamOS yet, but ALC892 definitely works on Linux. (I've used it on my deskop using Arch Linux).

Can anyone supply the log for:

lspci -k | grep -i -A 2 audio

Does anyone know if it's possible to install vanilla debian packages without changing the sources.list file?

The pavucontrol is a utility to configure pulseaudio, you can (possibly) install it using the following command:

sudo apt-get install pavucontrol

Does the 'pavucontrol' program show any audio devices?

If this pavucontrol doesn't show anything, you can try to run the alsamixer command. This program can be installed with:

sudo apt-get install alsa-utils

I think the problem is related to pulseaudio configuration

@jazz1138

I managed to solve this issue, for me the problem's were that

1.) All of my Nvidia HDMI devices were muted.
2.) Pulse audio defaults to using the first HDMI device. Mine was the second.

To solve it I first installed alsa-utils via a deb package from http://packages.debian.org/wheezy/alsa-utils

sudo dpkg -i alsa-utils_1.0.25-4_amd64.deb

Then un-muted my HDMI devices.

alsamixer

Press F6 to select the Nvidia card.

Press "m" to unmute.

Exit.

To see what devices you have run:

aplay -l

The Nvidia section should look something like this:

Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: NVIDIA HDMI [NVIDIA HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: NVIDIA HDMI [NVIDIA HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: NVIDIA HDMI [NVIDIA HDMI]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: NVIDIA HDMI [NVIDIA HDMI]
Subdevices: 0/1
Subdevice #0: subdevice #0

Determine which device outputs audio

aplay -D plughw:1,3 /usr/share/sounds/alsa/Front_Right.wav
aplay -D plughw:1,7 /usr/share/sounds/alsa/Front_Right.wav
aplay -D plughw:1,8 /usr/share/sounds/alsa/Front_Right.wav
aplay -D plughw:1,9 /usr/share/sounds/alsa/Front_Right.wav

Create a probe mapping for the device that plays audio. Below are the Nvidia mappings for each device.

Device 3=0x101
Device 7=0x102
Device 8=0x104
Device 9=0x108

In my case it was device 7 (second device) so i used 0x102

Create this file.

vi /etc/modprobe.d/sound.conf

To this add the following, replacing 0x102 with your device map.

options snd-hda-intel probe_mask=0x102

Save the file and update the initramfs:

sudo update-initramfs -u

reboot.

Note: This worked for me with a Gigabyte GTX 550 and Realtek 892 anboard audio.

@thimslugga

I resolved this issue similar to @jazz1138

I did a little research and it appears the issue is a known/documented bug in pulseaudio

ftp://download.nvidia.com/XFree86/gpu-hdmi-audio-document/gpu-hdmi-audio.html#_issues_in_pulseaudio

Enable Desktop via Big Picture Settings and then Exit > Return to Desktop. Then bring up a terminal and set your password if you haven't already,

passwd
 sudo su

Verify your the kernel drive sees your cards

 cat /proc/asound/cards
 lspci
 cat /proc/asound/cardX

If so then you can proceed

 cd /etc/modprobe.d/
 ls -al

Create snd-hda-intel.conf if it isn't already there

 nano snd-hda-intel.conf

Place the following in the file,

options snd-hda-intel probe_mask=0xa,-1
 rm -rf /home/steam/.pulse
 rm -rf /home/desktop/.pulse
 reboot

Sound should be working.

@tr37ion tr37ion referenced this issue in ValveSoftware/steam-for-linux
Closed

No sound in certain games when started from Steam. #2968

@mingsterUK

Broknbottle instructions work perfectly. Fixed my sound problem. Thank you.

@hikto

Ok so for some reason i have sound in the system(desktop mode/after following a combination of the tutorials a few posts up) but not in the client (steam client)and no i restarted and that didn't fix

EDIT: ok so i Now i got audio in my steam client after doing a full reinstall /testing things and redoing the steps above

@carlzulauf

@broknbottle your solution fixed my audio issues, at least mostly. Thank you.

Now audio works through HDMI. Still can't seem to get any audio from the Realtek ALC892 on the motherboard. This works for now.

@irbigturtle

@broknbottle Similar result to @carlzulauf

Audio Works through HDMI only on the desktop but it does not work in steamOS.

It also does not work through motherboard with ALC892 chipset.

@thimslugga

@irbigturtle at the shell prompt escalate to root with,

sudo su -

See if the steam user is part of the audio group

groups steam

Also make sure this was done after making the changes

update-initramfs -u
rm -rf /home/steam/.pulse
@ckedwards

I followed all of the steps @broknbottle listed and I still do not see see the motherboard audio (ALC892). However when I do the following:

sudo killall pulseaudio
pulseaudio

I can see the motherboard audio. However, when I restart the machine the motherbord audio disappears again.

Any suggestions?

@thimslugga

@chrise524 Are you trying to use the onboard ALC892 audio and NVidia for video?

My guide was for fixing audio when using NVidia HDMI out for Audo/Video.

lsmod # make sure kernel module is loaded for that chipset
pulseaudio -vvv # check pulseaudio
sudo apt-get install firmware-linux-free firmware-linux-non-free # try installing these also
@irbigturtle

@broknbottle It looks like audio is part of the steam group. I then did...

update-initramfs -u
rm -rf /home/steam/.pulse
reboot

...and still don't have audio in SteamOS, but I do have audio in Desktop.

To clarify:

cat /proc/asound/cards
RETURNS
HDA-Intel - HDA Intel PCH (is this the onboard audio?)
HDA-Intel - HDA NVidia (HDMI audio on GPU)

lspci
RETURNS
Audio device: Intel Corp.... C210 Chipset Family High Definition Audio Controller (onboard audio?)
Audio device: NVIDIA.... GK104 HDMI Audio Controller (GPU Audio)

cat /proc/asound/cardx
RETURNS
No such file or directory

I feel like it could be something as simple as a bad setting in the steam user, but i can't access it because SteamOS forces it's overlay (or whatever it's doing to prevent me from logging in as "steam".

@thimslugga

@irbigturtle The 'X' is not literal, if you look in that directory there should be files such as card1, card2, etc. The 'X' just signifies the number. Sorry about that

cat /proc/asound/cardX

Just to clarify you are trying to get audio working over nvidia HDMI out, correct?

@irbigturtle

@broknbottle Ahh yes, that makes sense! Yes, whether it is through HDMI or the motherboard, I'm just trying to get audio out of SteamOS.

@blhunter

My final hurdle was that the default sound process (gnome?) was overwriting the pulse default sink config in /home/steam/.pulse on reboot. I have an Asus Xonar DG that I am using the digital output on to my speakers, but the HDMI of my Nvidia GPU was the default device, and the analog out of the Xonar was the default.

I set the Xonar to be the first device indexed, then configured the Sound Control panel to the way I wanted it, eg that the Nvidia output was turned off, and the Xonar was set to digital stereo. I confirmed this the in pulse config file, and then did a chmod -w on only that file for both the steam and desktop users.

There must be a bug that the pulse config is overwritten on reboot, because making it read only preserved the settings across reboots, and even into the SteamOS environment after I did the post install script.

I hope this helps someone else.

@irbigturtle

@broknbottle I was just retracing my footsteps and realized i had misspelt "options snd-hda-intel probe_mask=0xa,-1" in the config file! Sorry for giving you the run around. I just tried to re-do your original instructions and now I've lost my HDMI audio output on the desktop! it has been replaced by "dummy audio" and when i do....

cat /proc/asound/cards

It says there are no cards. Should I not have tried the instructions a second time or is there something else going on here?

@jazz1138

I believe this is a how it is meant to be at the moment, I saw a rep from valve saying that there is no audio in desktop mode. More importantly do you now have audio in Steam?

@irbigturtle

@jazz1138 I do not have audio in steam. if that's true, then i'm curious as to how i achieved audio in desktop mode by not steam.

@thimslugga

@irbigturtle no worries, mine says dummy audio so that should be good. Does your steam client audio work now? The steam client/games runs under the user steam and audio will not work if another process is using it. If needed you can just remove that line and it should revert back.

@irbigturtle

@broknbottle Ok I removed the line and tested. My audio device came back in desktop. So i added the line back and rebooted. Still no audio in SteamOS, and Dummy audio back in desktop. Seems like i'm on the right track, but i'm still missing audio.

@thimslugga

@irbigturtle if you have audio under desktop user, I would if it would work if you just killed the steam process that is running under steam user and started steam from desktop user.

I would just do escalate to root and do a ps faux | grep steam and kill the pid with kill command. Then drop back down to desktop user and try running steam from command line.

@jazz1138

@irbigturtle are you sure you are using the correct mask for your system or are you just copying @broknbottle settings. In my setup I hear audio on card 1 device 7 using aplay so the mask is used to ignore all other devices except that one so that device is always selected by pulseaudio at boot.

@irbigturtle

@jazz1138 I am just copying what he has into the config file, I am not sure I am using the correct mask. I just tried follow your instructions and found that ALL of my audio outputs produced sound....

0,1
1,3
1,7
1,8
1,9

So I tried both...

options snd-hda-intel probe_mask=0x101

and

options snd-hda-intel probe_mask=0x102

Neither worked in steamOS.

@irbigturtle

@jazz1138 If I try running steam from the desktop user, doesn't that mean I would have to do this every time I wanted to use it?

@thimslugga

@irbigturtle I suggested it more so for testing. Trying to find some steady ground and figure out why one application is unable to output audio.

You've made sure audio is enable in Steam client settings and volume is turned up?

@irbigturtle

@broknbottle Ok, i'll be going through the processed of attempting that next. In the meantime, I noticed that by using @jazz1138 method I get audio back in the desktop (rather than dummy audio). Current config is...

options snd-hda-intel probe_mask=0x101

When I was perviously using...

options snd-hda-intel probe_mask=0xa,-1

I did get dummyaudio in desktop mode.

@irbigturtle

@broknbottle I did a grep, but I wasn't sure which steam process I was supposed to kill, So I started with the first steam process. It immediately went black and restarted steam (still no sound), and when I tried to return to the desktop it stuck at a black screen. Any insight?

@Cybjit

I got my motherboard audio working by configuring pulseaudio.

Download and install pulseaudio-utils, it is available from the repo, but for some reason not in apt-get
http://repo.steampowered.com/steamos/pool/main/p/pulseaudio/

Go to the console (ctrl-alt-F1) and login as user steam (no password). Check which sinks are available, and note the numbers of the ones you want active or inactive.

pactl list sinks | less

Logout and login as user desktop (no password), and edit default.pa

sudo nano /etc/pulse/default.pa

Append at the bottom

suspend-sink <number you want inactive> 1

suspend-sink <number you want active> 0
set-default-sink <number you want active> 0
sink-set-mute <number you want active> 0
sink-set-volume <number you want active> 65535

And reboot

@jazz1138

@irbigturtle It seems your mask is not masking. The idea of the mask is it disables all devices except your prefered one so if you run "aplay -l" you should only see 1 nvidia device at position 3. e.g. You are probably getting sound on all devices beacause pulse is doing the routing for you.


desktop@steamos:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 0/1
Subdevice #0: subdevice #0

What is the output of aplay -l ?

I guess you could try all options until you hit the magic one.
options snd-hda-intel probe_mask=0x101
options snd-hda-intel probe_mask=0x102
options snd-hda-intel probe_mask=0x104
options snd-hda-intel probe_mask=0x108

Don't forget to
sudo update-initramfs -u
sudo reboot

after each change.

@tinix0

@Cybjit After Unmuting card in alsamixer and doing this audio works, but not on desktop.
EDIT: Ok, so I found out that those lines actually crashed Pulseaudio, so I removed them. HOWEVER after reboot steam still outputs sound which really surprises me as pulse is back up. Onboard Card only shows in sinks as user steam, which is very very weird...
EDIT2: I stand corrected... Audio does work on dekstop even though Pulse is effectively not running... so only volume controls do not work except for those in steam

@Cybjit

@tinix0 One can get around the crash in desktops pulseaudio by first copying /etc/pulse/default.pa to /home/steam/.pulse/default.pa and editing it there.
But this will still not get audio in desktop. It seems the steam user gets exclusive access to whichever sink it is using, and the desktop user can only see the other sinks.

@tinix0

@Cybjit I have actually found out that the sound on desktop works from VLC and Chromium flash with the config that crashes pulse, so I guess it works a bit.

@Cybjit

@tinix0 perhaps the crash of pulseaudio makes VLC and Chromium use alsa directly? Could you check which output driver you are using?

@tinix0

@Cybjit VLC uses ALSA

@Cybjit

I found a way to get pulseaudio working for both users.
Edit /etc/pulse/default.pa like in my post above, and then remove steam and desktop from the audio group.

sudo deluser steam audio
sudo deluser desktop audio
@tinix0

@Cybjit actually I needed to remove the edit from default.pa and remove users from groups, now it works.

@Cybjit

@tinix0 I probably should not have phrased it like that. Getting steam to select the correct sink and getting pulseaudio working for both users are separate issues.
To get my motherboard audio working and playing for both users I have to apply both fixes.

@shmifaats

@jazz1138 I'm suffering from something similar to irbigturtule. Specifically, I've gone through the sound.conf solution above. After unmuting devices using alsamixer and using aplay I was able to get sound from all of the listed devices. I went through and edited a /etc/modprobe.d/sound.conf (with followup update-initramfs calls, reboots, and .pulse removals) with each of the following options:

options snd-hda-intel probe_mask=0x101
options snd-hda-intel probe_mask=0x102
options snd-hda-intel probe_mask=0x104
options snd-hda-intel probe_mask=0x108

I get no audio in BigPictureMode AND the desktop when using probe_mask = 0x102 or 0x108.

I get audio in BigPictureMode but not desktop when using 0x101. // "Dummy" name displayed in desktop's system sound config

I get audio in desktop but not BigPictureMode when using 0x104. // Card name displayed in desktop's system sound config

Any ideas on why this would be the case or how to fix it?

@jazz1138

Hi @shmifaats, If I'm not mistaken, according to Valve getting audio in BigPicture and Dummy audio in the desktop is the expected behaviour. I saw a quote from a valve rep saying that audio support in desktop is not supported at this time. Conceivably because Big Picture needs to lock out the device for it's own use.

@shmifaats

@jazz1138 Thanks for the info. I was able to get the audio through HDMI to work for BigPicture and my headphone jack for the desktop. The only issue now is switching between the two, but this is certainly livable.

@tr37ion

I have similar effects. Sound in Desktop works perfectly if I switch to HDMI Nvidia Device. Then I start Steam desktop mode and all Flash sounds are gone. Also no ALSA wrapper for Steam is listed in audio applications in 'pavucontrol'.

Just a short introduction what actually happens:

  1. I boot Gnome 3.10
  2. The Sound works and I open Firefox, go to Youtube and Test teh sound - fine, it works.
  3. I open the Sound settings and HDMI Nvidia output is selected
  4. I start Steam and go to a store page and play a movie - NO sound!
  5. I start BPM and open the store and play a game movie - FINE, I have sound!
  6. I go back to Steam (exit BPM) and try game video again - Still no sound.
  7. Additionally I open Firefox with Youtube again - Sound works!

It seems to me that Steam is somehow switching default devices.

My system setup: https://gist.github.com/tr37ion/a0b5399159b67ce654a0

@kflott

This just worked for me:
sudo su
rmmod snd-hda-intel
modprobe snd-hda-intel
reboot

I now get sound on desktop and in steam, however no sound in-game when I launch a game.

@growlley

doing better than me Ive had it make a sound when its booting and after that nothing no sound card found and its only connected to a hdmi tv.

@HiRezL

I tried all solutions listed here, kflott's got me to where I have sound in desktop, still no sound in Steam. I have sound in the Steam games, though, so good enough!

@tr37ion

Btw. I just had a look at my modprobe.conf. Do you think that's ok?

blacklist snd_intel8x0m
options snd-cmipci mpu_port=0x330 fm_port=0x388
options snd-hda-intel index=0 model=toshiba position_fix=1

@growlley Did you blacklist any soundcard?

@HiRezL Do you have also sound for the Flash movies inside Steam?

@Ilrita

Hello,

I can't seem to get sound working either. I tried the solutions in this thread but I cannot get passed any of the output commands because it reports back "no soundcards" or "no devices". Following "broknbottle"'s solution, this is what I get;

cat /proc/asound/cards

--- no soundcards ---

lspci

00:00.0 RAM memory: NVIDIA Corporation MCP61 Memory Controller (rev a1)
00:01.0 ISA bridge: NVIDIA Corporation MCP61 LPC Bridge (rev a2)
00:01.1 SMBus: NVIDIA Corporation MCP61 SMBus (rev a2)
00:01.2 RAM memory: NVIDIA Corporation MCP61 Memory Controller (rev a2)
00:02.0 USB controller: NVIDIA Corporation MCP61 USB 1.1 Controller (rev a3)
00:02.1 USB controller: NVIDIA Corporation MCP61 USB 2.0 Controller (rev a3)
00:04.0 PCI bridge: NVIDIA Corporation MCP61 PCI bridge (rev a1)
00:05.0 Audio device: NVIDIA Corporation MCP61 High Definition Audio (rev a2)
00:07.0 Bridge: NVIDIA Corporation MCP61 Ethernet (rev a2)
00:08.0 IDE interface: NVIDIA Corporation MCP61 SATA Controller (rev a2)
00:08.1 IDE interface: NVIDIA Corporation MCP61 SATA Controller (rev a2)
00:09.0 PCI bridge: NVIDIA Corporation MCP61 PCI Express bridge (rev a2)
00:0b.0 PCI bridge: NVIDIA Corporation MCP61 PCI Express bridge (rev a2)
00:0c.0 PCI bridge: NVIDIA Corporation MCP61 PCI Express bridge (rev a2)
00:18.0 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor HyperTransport Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Miscellaneous Control
00:18.4 Host bridge: Advanced Micro Devices [AMD] Family 10h Processor Link Control
02:00.0 VGA compatible controller: NVIDIA Corporation G84 GeForce 8600 GT

cat /proc/asound/cardx

cat: /proc/asound/cardx: No such file or directory

Sound works in Windows 7, Linux Mint and Ubuntu 12.04 LTS.

Thanks for any help!

@jazz1138

@Tumbar cat /proc/asound/cardx is not literal, replace x with the card order e.g. 0,1 or 2.

@Ilrita

Thank you for the swift responce!

How do I find the card order? I tried 0, 1 and 2 and I have a feeling that was just an example, but I am pretty new to this so my knowledge is pretty basic.

Oh, and I also tried adding users to audio but it reported that all of them were already in audio. And if this helps, here is my ALSA information as I read it was important to know;

http://www.alsa-project.org/db/?f=91f207c34b6d8c9edbb0183a05ab09c59fded698

And;

$ lspci | grep -i audio
00:05.0 Audio device: NVIDIA Corporation MCP61 High Definition Audio (rev a2)

@jazz1138

@Tumbar Just noticed that you have an 8600GT. I did not think those cards did audio over HDMI? The current audio config for SteamOS looks like it searches for the first HDMI audio device it finds and uses that. The various hacks are for those people with cards where the first HDMI/DP device is not the one connected to the TV. Some others have managed to get Analogue audio on the desktop but I think that's it.

@Ilrita

You are correct, the 8600GT does not offer audio over HDMI.

Audio reports it is a dummy output and I tried everything I did for other distros, so I'm out of things to try. If I could get audio working on Desktop I would be fine for now. Is there a guide/tutorial I can read to get analogue audio working/onboard audio?

Thank you. :)

@HiRezL

@tr37ion No sound in STeam at all, just the games and the desktop.

@tecnogaming

They updated pulseaudio and all they did was to completely brake it, now pulseaudio won't even initialize, that's why you don't have sound at all.

@tr37ion

I tried XBMC. First I had audio, then suddenly the the audio was gone for actors voice. The music channel was still there. Then I rebootet and voice channel was back again.

@tecnogaming Sounds like you know more?! Any way to initialize PA sound? Or just switch back to the settings of the last version?

I currently have three different devices, all with ArchLinux, some have wired audio issues. Even with very old hardware were they never had any problems. Even switching users has different sound issues on the same system. :(

@Toetje583

See #74,

Updated on 19-12-2013/

The default audio device is still hardcoded to discrete graphics HDMI audio for now

See in issues #74:
comment from alfred-valve, you need to use HDMI for now,

@growllet

Ok did a fresh custom install of the updated custom zip today on Vmware 10 - still no audio, However lspci is reporting an Ensonique card as the only device present. Is this correct ?

The change logs for theupdate say sound should be working on both the desktop and bigscreen mode, Though it still should default to HDMI audio? which is how my pc is set up connected only via hdmi cable to hdmi tv.

This is annoying as the upgrade gives the missing vmware x drivers, the previous version I could have sound and flash from the desktop but not flash from the big screen in ice weasel as it claims it needs flash installing.

open to ideas.

@QuakeSinatra

For those with the sound in desktop but not in steam probelm : a kind of hacky fix is
log into the desktop (where sound is working) open a terminal
$sudo bash
(put in your password)
#rm /home/steam/.pulse* -Rf
#cp -r .pulse* /home/steam/

this removes all your steam pulse sinks settings and copies your working pulse setup from the desktop to the steam account.

i did this after getting frustrated with all the fixes giving me sound / taking away sound on the desktop and none working on the steam side. There are most likely more "right" ways to do this, but this fixed my sound.
I now have sound from my intel chip (on board) in both steam and on the desktop. I also loaded my intel module with no option whatsoever. insmod snd_hda_intel and update-initramfs -u

@directhex

OK, I got sound working in VMware with one config file edit - edit /etc/pulse/system.pa and add "auth-anonymous=1" to the end of the line "load-module module-native-protocol-unix" then reboot.

Wish I knew why auth was failing through, and why apparently it's fine on HDMI

@Ilrita

Okay, I reinstalled using an ISO that allowed me to select expert install and allowed me to pick other components to install. After the install, it reorted once during boot up "warning: pulseaudio per user sessons. warning" for half a second before contining on like normal.

Now the command "cat /proc/asound/cards" works and output is the following;

0 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0xf7ff8000 irq 22

and I also do not have "dummy output" any longer, it is all empty. I'm guessing this is progress? The rest of the outputs of this thread is:

lspci -k | grep -i -A 2 audio

00:05.0 Audio device: NVIDIA Corporation MCP61 High Definition Audio (rev a2)
Subsystem: Hewlett-Packard Company Device 2a99
Kernel driver in use: snd_hda_intel

aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 0: ALC662 rev1 Analog [ALC662 rev1 Analog]
Subdevices: 0/1
Subdevice #0: subdevice #0

Trying to test play with device 0 (assuming that is the correct one) I get this;

ALSA lib pcm_hw.c:1401:(_snd_pcm_hw_open) Invalid value for card
aplay: main:682: audio open error: No such file or directory

cat /proc/asound/cardX gives me this now;

cat: /proc/asound/card0: Is a directory

I followed the rest of broknbottle's instructions, but nothing has changed. I'll try jazz1138's post next.

EDIT

Alright changing my config file to any of the following;

options snd-hda-intel probe_mask=0x101
options snd-hda-intel probe_mask=0x102
options snd-hda-intel probe_mask=0x104
options snd-hda-intel probe_mask=0x108

Gives me DUmmy Output and makes all the outputs above that worked, give back the previous errors. I'm going to try and revert back so that the outputs work again.

@Blackhive

I think I've solved the riddle, finally. Here's what I did. Sound working in both desktop and in steam, settings do not reset when reboot, working perfectly:

First, install pulse audio utils so we can find out what sound card you want to use:

http://repo.steampowered.com/steamos/pool/main/p/pulseaudio/pulseaudio-utils_2.0-6.1+steamos3+bsos1_amd64.deb

We also need to install alsa-utils for afterwards
http://ftp.de.debian.org/debian/pool/main/a/alsa-utils/alsa-utils_1.0.25-4_amd64.deb

log into desktop

activities>applications>terminal

cd ~/Downloads
sudo dpkg -i pulseaudio-utils_2.0-6.1+steamos3+bsos1_amd64.deb
sudo dpkg -i alsa-utils_1.0.25-4_amd64.deb

pactl list sinks | less

look for a line in your sinks list that says something like

"Name: alsa_output.pci-0000_00_05.0.analog-stereo" - this is what card you want for on-board audio, if you're looking for an HDMI device look for whichever hdmi device you want, it will end in hdmi-stereo and should not be the one already listed as default

back in terminal:
sudo nano /etc/pulse/system.pa

change the last two lines (your device may be different. it's default set to the hdmi device on your video card) to correspond with your sound card sink (the line with "Name: blah blah blah" that we just looked up in our sinks list).

The original lines will look something like this and correspond with hdmi:
set-card-profile alsa_card.pci-0000_01_00.1 output:hdmi-stereo
set-default-sink alsa_output.pci-0000_01_00.1.hdmi-stereo

so you would change those original lines in system.pa listed above to the following (THIS IS AN EXAMPLE, YOU MUST REPLACE pci-0000_00_05.0 WITH YOUR OWN):

set-card-profile alsa_card.pci-0000_00_05.0 output:analog-stereo
set-default-sink alsa_output.pci-0000_00_05.0.analog-stereo

now lets do some cleanup in case of some lingering attempts at previous fixes:

sudo deluser steam audio
sudo deluser desktop audio
sudo rm -rf /home/steam/.pulse
sudo rm -rf /home/desktop/.pulse
sudo adduser steam audio
sudo adduser desktop audio

this will make sure both the steam and desktop user have access to the audio device (we remove both of them first in case one is already there), additionally it removes any settings pulse audio has previously generated for each user individually, and spawns new configs based off the system.pa config

additionally, check /etc/lightdm/lightdm.conf and make sure steamos autologin is set to steam as the user. this will make it properly log in as only steam user in steamOS

sudo reboot

the system should bring you to the Steam OS login, go ahead and log in.

Now go to exit to desktop. it will show your sound as muted,but the correct sound card should be working. Now we need to unmute it with alsa mixer.

back in terminal:
alsamixer
hit M to unmute the device, then put the volume to 100 (or hold arrow up key)
hit Esc to exit
reboot

your sound should now work both in steam and in desktop. hurray!

@Ilrita

@Blackhive

Hello and thanks for posting your solution here for us. :)

However, I cannot get through the command "pactl list sinks | less". It gives me an failure error.

Connection failure: Connection refused
pa_context_connect() failed: Connection refused

And I also do not have the following in my file;

set-card-profile alsa_card.pci-0000_01_00.1 output:hdmi-stereo
set-default-sink alsa_output.pci-0000_01_00.1.hdmi-stereo

@Blackhive

make sure you are logged in as desktop when you use pactl, also try sudo pactl list sinks | less. for those lines be sure you are editing /etc/pulse/system.pa and not default.pa. if those lines don't exist add them and change the device accordingly. i did this off a fresh clean SteamOS install using the SteamOS installer (not the sysrestore file)

@Blackhive

both bring you to the same desktop. either will work. basically the steamOS is setup as two users, steam and desktop. the steam user -only- uses steam, and when you "Exit to Desktop" it switches users to the desktop user

@Ilrita

@Blackhive

Ah thank you, but for some reason it only worked when logging into to GNOME with "desktop" and "desktop*"
*whatever you might have changed the password to.

However, I get a weird output with the "pactl list sinks | less" command now, no errors or anything. I can only find an output, no card device like your example. I saw your thread on Steam and posted there before I knew you posted here, but here it is;

Sink #0
State: SUSPENDED
Name: alsa_output.pci-0000_00_05.0.analog-stereo
Description: Built-in Audio Analog Stereo
Driver: module-alsa-card.c
Sample Specification: s16le 2ch 44100Hz
Channel Map: front-left,front-right
Owner Module: 4
Mute: no
Volume: 0: 100% 1: 100%
0: 0.00 dB 1: 0.00 dB
balance 0.00

Base Volume: 100%
0.00 dB
Monitor Source: alsa_output.pci-0000_00_05.0.analog-stereo.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
Properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "ALC662 rev1 Analog"
alsa.id = "ALC662 rev1 Analog"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.card = "0"
alsa.card_name = "HDA NVidia"
alsa.long_card_name = "HDA NVidia at 0xf7ff8000 irq 22"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:00:05.0"
sysfs.path = "/devices/pci0000:00/0000:00:05.0/sound/card0"
device.bus_path = "pci-0000:00:05.0"
sysfs.path = "/devices/pci0000:00/0000:00:05.0/sound/card0"
device.bus = "pci"
device.vendor.id = "10de"
device.vendor.name = "NVIDIA Corporation"
device.product.name = "MCP61 High Definition Audio"
device.form_factor = "internal"
device.string = "front:0"
device.buffering.buffer_size = "65536"
device.buffering.fragment_size = "32768"
device.access_mode = "mmap+timer"
device.profile.name = "analog-stereo"
device.profile.description = "Analog Stereo"
device.description = "Built-in Audio Analog Stereo"
alsa.mixer_name = "Realtek ALC662 rev1"
alsa.components = "HDA:10ec0662,103c2a99,00100101"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
Ports:
analog-output: Analog Output (priority: 9900)
Active Port: analog-output
Formats:
pcm

However, assuming "alsa_output.pci-0000_00_05.0.analog-stereo" is my output, I can't find my card device. Is it something different or am I missing something?

@Blackhive

@illrita
you just change them accordingly. in your sinks your on-board card is
Name: alsa_output.pci-0000_00_05.0.analog-stereo

so you would use
set-card-profile alsa_card.pci-0000_00_05.0 output:analog-stereo
set-default-sink alsa_output.pci-0000_00_05.0.analog-stereo

@Ilrita

Thank you Blackhive! I now have audio!

Only the desktop user (and only through intial log in after turning off autologin via lightdm) has sound in both steam and desktop thanks to the edits. However, logging into "SteamOS", the default, only sound emits from steam.

@Blackhive

@Ilrita
sounds like some cleanup might be necessary. just leave those two lines at the end as is. do the following:
in terminal while logged in as desktop:
sudo deluser steam audio
sudo deluser desktop audio
sudo rm -rf /home/steam/.pulse
sudo rm -rf /home/desktop/.pulse
sudo adduser steam audio
sudo adduser desktop audio
sudo reboot

this will make sure both the steam and desktop user have access to the audio device (we remove both of them first in case one is already there), additionally it removes any settings pulse audio has previously generated for each user individually, and spawns new configs based off the system.pa config

additionally, check /etc/lightdm/lightdm.conf and make sure steamos autologin is set to steam as the user. this will make it properly log in as only steam user in steamOS

@directhex

RIGHT.

First, ensure that the "steam" and "desktop" users are in the group "pulse-access". Use "adduser steam pulse-access" and "adduser desktop pulse-access"

Second, remove or comment the set-card-profile and set-default-sink lines at the bottom of /etc/pulse/system.pa which force a specific sound card.

The first one is the major one, for some people who upgraded from an older release - membership in pulse-access is needed for system-mode PulseAudio.

@Balderick

After fresh install and trying to avoid installing alsa-utils by depending on pulseaudio-utils (not from .deb but from desktop add/remove software app - set su passwd to make this work) and system tools already installed never had any gnome volume applet or sound hardware detected in sound settings and all of the above information appears to be unapplicable or ineffective until the application of @directhex's advice. Simply adding desktop and steam users to pulse-access group and commenting (not editing; as i had been trying to do in order to force the device THAT IS BEING USED) the system.pa got gnome volume applet and sound working in desktop after unmuting the NOW available audio devices which is the start to getting sound working in steam.
Had observed in previous attempts at getting audio working the users were automatically added to the pulse-access group though this may have been incidental either after getting the 19/12/13 update installed (intentional system wide pulse audio by Valve) or due to the disabling autospawn to make this so (unintentional unforeseen circumstance of stopping pulseaudio to get the update installed).

Can not help noticing only half of the lucky three hundred are bothering to give feedback in the 300 group and all the help they get from valve employees is being hidden from public. There appears to be a huge decrease in people posting their feedback here also. More transparency Valve please and less QOTM #74 (comment) especially taking into account what is discussed in that thread and here as well and what is posted in 300 beta group proving many people do not have the FORCED HDMI output in use when using HDMI that is if HDMI is even being used at all. This issue will be greatly affecting feedback due to people installing steam client in desktop or just install windows. Surely more people using Steam@SteamOS is the aim of the game of having beta!? - which they won't if they have no audio /rant

Setting a passwd for steam user may have helped in getting things going.... edit: probably not because steam is not in sudo or root groups; consider #74 (comment)

@wroot

I was so excited that these helpful hints got my sound working that I decided to post here! Which normally I'd never do! My solution was actually a combination of @Blackhive 's and @jazz1138 's

My problem was HDMI audio from an NVIDIA geforce 560 not getting output. Turns out I had to have both pulseaudio-utils and alsa-utils installed from Blackhive's instructions and do his configuration steps but I also had to set the probe_mask=0x102 for my audio device from jazz1138's (and do the update-initiramfs -u)

Thanks guys!

@darthcloud

I've try everything in this thread without success at best I got sound in desktop, I have an Alienware X51 R2 with GTX645

So far I only got a workaround:
Install pavucontrol

From desktop with pavucontrol I can now select my playback device for "HDA NVidia Digital Stereo (HDMI)"
Now in Output Device tab I move the sound control a bit for that device.(important if you skip this no sound wil come out!!!)

I finally ear a sound, return to steam and sound work now.

This only last for the current session however, so only a workaround like I said.

I've try setting making it permanent in /etc/pulse/default.pa

with those line:
load-module module-alsa-sink device=hw:2,0
set-default-sink 0

but it didn't work.

It's just me or it look like that config file is totally ignored somehow...

@darthcloud

Ok finaly got it working.

I just figured that pulse audio was running in system mode (weird since it's not recommended anyway)
So no wonder why my setting into default.pa where doing nothing at all. Also explain why audio setting was keep between desktop and steam user

I was using pavucontrol to change my output device to the right one and sound was working but after reboot it was always changing back.

In system.pa the settings "load-module module-default-device-restore" was there so it shall remember my selection.

At the end I had those line (don't know if it's there by default or I put it myself in my various attempts to fix audio):
set-card-profile alsa_card.pci-0000_01_00.1 output:hdmi-stereo
set-default-sink alsa_output.pci-0000_01_00.1.hdmi-stereo
set-card-profile alsa_card.pci-0000_00_03.0 output:hdmi-stereo
set-default-sink alsa_output.pci-0000_00_03.0.hdmi-stereo

I removed then and audio was still working after restart, they where overiding the restore option.

Hope this help some.

EDIT: Worth mentioning that from start I had always my audio cards listed in /proc/asound/cards
EDIT2: I think my GTX645 is one of the newer GPU who has only one audio stream. The audio always go through my HDMI #2 event if I select the other 2 ports.

@zoof

@jazz1138, I do not have NVIDIA audio but following your instructions, I found that the correct card is 1 and the correct device is 0. What is the correct probe_mask in this instance?

@jazz1138

@zoof I no longer configure the sound like in my previous post. Currently I set these two settings in

/usr/share/alsa/alsa.conf

defaults.pcm.card 0
defaults.pcm.device 7

Then set "set-card-profile 0 output:hdmi-stereo" to the end of /etc/pulseaudio/system.pa as the BPM GUI don't hold after a reboot.

So I'm guessing you would set card to 1.

@zoof

@jazz1138 So I set

defaults.pcm.card 1
defaults.pcm.device 0

in /usr/share/alsa/alsa.conf and

set-card-profile 1 output:analog-stereo

in /etc/pulse/system.pa but still no joy -- sink #1 still shows as "SUSPENDED". Any other suggestions?

@not83

Isn't this fixed now? Please close if so

@zoof

Still broken, at least with Steam 1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.