You are not logged in.

#1 2020-06-23 09:29:02

marwiksw
Member
Registered: 2020-06-23
Posts: 8

[SOLVED]Problem when changing default sound card ALSA

Hello Forum,

I have a problem getting my audio working on my new arch install.
In short there is a problem with the file ~/.asoundrc.asoundconf generated by asoundconf when I tried to set the default sound card. So I need to either fix that file or find some other way to set the default card.

More detailed description below.

This is my card from lspci -k

00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 04)
	Subsystem: Dell Device 05cc
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel

I have installed alsa-utils and unmuted the channels using alsamixer.
I ran "asoundconf set-default-card PCH"

But now I can't use "speaker-test -c 2" to test the sound. I am presented with this error

speaker-test 1.2.3

Playback device is default
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
ALSA lib pcm_direct.c:1977:(snd1_pcm_direct_parse_open_conf) The field tstamp_type is invalid : PCH
Playback open error: -22,Invalid argument

I can run "speaker-test -D default:PCH -c 2" as root, which works.
If i uncomment the reference to the file generated by asoundconf in ~/.asoundrc that also works for my user.

I tried some other ways of changing the default sound card.
1. I tried setting the environment variable ALSA_CARD to PCH. It did not have any effect. Just manually from the command line like this

ALSA_CARD=PCH

2. I tried adding this to /etc/asound.conf

pcm.!default {
	type hw
	card 1
}

In which case the speaker-test produces this error

speaker-test 1.2.3

Playback device is default
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 64 to 8544000
Period size range from 32 to 4272000
Using max buffer size 8544000
Periods = 4
Unable to set hw params for playback: Cannot allocate memory
Setting of hwparams failed: Cannot allocate memory

Here is the content of ~/.asoundrc.asoundconf that was generated by asoundconf

# ALSA library configuration file managed by asoundconf(1).
#
# MANUAL CHANGES TO THIS FILE WILL BE OVERWRITTEN!
#
# Manual changes to the ALSA library configuration should be implemented
# by editing the ~/.asoundrc file, not by editing this file.
default PCH
!defaults.pcm.card PCH
defaults.ctl.card PCH
defaults.pcm.device 0
defaults.pcm.subdevice -1
defaults.pcm.nonblock 1
defaults.pcm.compat 0
defaults.pcm.minperiodtime 5000
defaults.pcm.ipc_key 5678293
defaults.pcm.ipc_gid audio
defaults.pcm.ipc_perm 0660
defaults.pcm.tstamp_type default
defaults.pcm.dmix.max_periods 0
defaults.pcm.dmix.channels 2
defaults.pcm.dmix.rate 48000
defaults.pcm.dmix.format unchanged
defaults.pcm.dmix.card defaults.pcm.card
defaults.pcm.dmix.device defaults.pcm.device
defaults.pcm.dsnoop.card defaults.pcm.card
defaults.pcm.dsnoop.device defaults.pcm.device
defaults.pcm.front.card defaults.pcm.card
defaults.pcm.front.device defaults.pcm.device
defaults.pcm.rear.card defaults.pcm.card
defaults.pcm.rear.device defaults.pcm.device
defaults.pcm.center_lfe.card defaults.pcm.card
defaults.pcm.center_lfe.device defaults.pcm.device
defaults.pcm.side.card defaults.pcm.card
defaults.pcm.side.device defaults.pcm.device
defaults.pcm.surround21.card defaults.pcm.card
defaults.pcm.surround21.device defaults.pcm.device
defaults.pcm.surround40.card defaults.pcm.card
defaults.pcm.surround40.device defaults.pcm.device
defaults.pcm.surround41.card defaults.pcm.card
defaults.pcm.surround41.device defaults.pcm.device
defaults.pcm.surround50.card defaults.pcm.card
defaults.pcm.surround50.device defaults.pcm.device
defaults.pcm.surround51.card defaults.pcm.card
defaults.pcm.surround51.device defaults.pcm.device
defaults.pcm.surround71.card defaults.pcm.card
defaults.pcm.surround71.device defaults.pcm.device
defaults.pcm.iec958.card defaults.pcm.card
defaults.pcm.iec958.device defaults.pcm.device
defaults.pcm.modem.card defaults.pcm.card
defaults.pcm.modem.device defaults.pcm.device
defaults.pcm.file_format raw
defaults.pcm.file_truncate true
defaults.rawmidi.card 0
defaults.rawmidi.device 0
defaults.rawmidi.subdevice -1
defaults.hwdep.card 0
defaults.hwdep.device 0
defaults.timer.class 2
defaults.timer.sclass 0
defaults.timer.card 0
defaults.timer.device 0
defaults.timer.subdevice 0
defaults.namehint.showall off
defaults.namehint.basic on
defaults.namehint.extended off

Does anyone have any ideas how to fix this? When browsing the wiki about setting the default sound card, the method of using environment variables to set it seems best to me. However I might not have completely understood how to do it.

Thanks

Last edited by marwiksw (2020-06-23 12:01:35)

Offline

#2 2020-06-23 10:05:34

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,425

Re: [SOLVED]Problem when changing default sound card ALSA

You - or asoundconf - are unnecessarily overengineering this.

Remove all of these configurations, then post

sudo fuser -v /dev/snd/*
aplay -lL

Offline

#3 2020-06-23 10:15:33

marwiksw
Member
Registered: 2020-06-23
Posts: 8

Re: [SOLVED]Problem when changing default sound card ALSA

Ok, I removed ~/.asoundrc, ~/.asoundrc.asoundconf and /etc/asound.conf.

sudo fuser -v /dev/snd/*

                     USER        PID ACCESS COMMAND
/dev/snd/controlC1:  martin      653 F.... volumeicon

aplay -lL

null
    Discard all samples (playback) or generate zero samples (capture)
hdmi:CARD=HDMI,DEV=0
    HDA Intel HDMI, HDMI 0
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=1
    HDA Intel HDMI, HDMI 1
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=2
    HDA Intel HDMI, HDMI 2
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=3
    HDA Intel HDMI, HDMI 3
    HDMI Audio Output
hdmi:CARD=HDMI,DEV=4
    HDA Intel HDMI, HDMI 4
    HDMI Audio Output
default:CARD=PCH
    HDA Intel PCH, ALC3226 Analog
    Default Audio Device
sysdefault:CARD=PCH
    HDA Intel PCH, ALC3226 Analog
    Default Audio Device
front:CARD=PCH,DEV=0
    HDA Intel PCH, ALC3226 Analog
    Front output / input
surround21:CARD=PCH,DEV=0
    HDA Intel PCH, ALC3226 Analog
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH,DEV=0
    HDA Intel PCH, ALC3226 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
    HDA Intel PCH, ALC3226 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
    HDA Intel PCH, ALC3226 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
    HDA Intel PCH, ALC3226 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
    HDA Intel PCH, ALC3226 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
hdmi:CARD=NVidia,DEV=0
    HDA NVidia, HDMI 0
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=1
    HDA NVidia, HDMI 1
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=2
    HDA NVidia, HDMI 2
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 3
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=4
    HDA NVidia, HDMI 4
    HDMI Audio Output
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: ALC3226 Analog [ALC3226 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: NVidia [HDA NVidia], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Last edited by marwiksw (2020-06-23 10:19:41)

Offline

#4 2020-06-23 11:35:51

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,425

Re: [SOLVED]Problem when changing default sound card ALSA

The minimum to make this work from an .asoundrc resp. /etc/asound.conf stand point would be

defaults.pcm.!card "PCH"
defaults.ctl.!card "PCH"

that should be all that's necessary for simply redirecting the default card via ALSA configuration.

Last edited by V1del (2020-06-23 11:37:58)

Offline

#5 2020-06-23 12:00:16

marwiksw
Member
Registered: 2020-06-23
Posts: 8

Re: [SOLVED]Problem when changing default sound card ALSA

That does work, thank you.

Also I think that I need to export the ALSA_CARD variable

export ALSA_CARD=PCH

I was just setting it locally before, I suppose. And the value of $ALSA_CARD seems to take priority over the ~/.asoundrc configuration.

Thank you for you help!

Offline

Board footer

Powered by FluxBB