I know close to nothing about sound in linux, and until now everything has always just worked. I recently installed Arch and have fixed most of the initial wave of issues, but am unable to get full/practical sound support despite way too many hours of trying.
I have a USB headset and a set of speakers that connect to the motherboard by optical (IEC958). Success is defined as getting the speakers to work, though being able to conveniently switch between the two devices would be nice.
VLC is able to play audio over the headset without issue, but the device must be manually selected.
Firefox and Chrome never use either device for sound.
For a fleeting moment the speakers worked precisely one time after changing the "switches" in alsa mixer. The volume was far too loud so I quickly went to reduce it, the audio cut back out arround this time and never returned. Attempts to reverse my steps to the point where it worked were unsuccesful. This lasted maybe two or three seconds at most.
Windows and Ubuntu 14 (live USB) are able to use both devices without much fuss. (some messing with default devices etc.)
Notably, Ubuntu had two options in its list of sound devices, one for analog and one for digital, only digital worked.
Alsa Mixer shows three options for sound cards. HDA Intel PCH, HDA ATI HDMI, $NAME_OF_HEADSET. It seems pretty clear to me that the object of interest is HDA Intel PCH since I am not using any of my HDMI ports for any purpose and It is very clear that the headset is the third device. The second is almost certainly my graphics card.
lsmod under arch yields the following
Code:
Module Size Used by
fuse 90112 5
nls_iso8859_1 16384 1
nls_cp437 20480 1
vfat 20480 1
fat 65536 1 vfat
intel_rapl 20480 0
iosf_mbi 16384 1 intel_rapl
x86_pkg_temp_thermal 16384 0
intel_powerclamp 16384 0
coretemp 16384 0
kvm_intel 167936 0
arc4 16384 2
wl 6377472 0
kvm 462848 1 kvm_intel
irqbypass 16384 1 kvm
mxm_wmi 16384 0
rt2800usb 28672 0
crct10dif_pclmul 16384 0
rt2x00usb 20480 1 rt2800usb
rt2800lib 86016 1 rt2800usb
eeepc_wmi 16384 0
crc32_pclmul 16384 0
asus_wmi 24576 1 eeepc_wmi
input_leds 16384 0
crc32c_intel 24576 0
sparse_keymap 16384 1 asus_wmi
rt2x00lib 49152 3 rt2x00usb,rt2800lib,rt2800usb
aesni_intel 167936 0
amdkfd 106496 1
amd_iommu_v2 20480 1 amdkfd
iTCO_wdt 16384 0
iTCO_vendor_support 16384 1 iTCO_wdt
mac80211 647168 3 rt2x00lib,rt2x00usb,rt2800lib
led_class 16384 3 rt2x00lib,input_leds,asus_wmi
joydev 20480 0
radeon 1474560 6
evdev 24576 21
mousedev 20480 0
crc_ccitt 16384 1 rt2800lib
snd_hda_codec_realtek 69632 1
snd_hda_codec_generic 69632 1 snd_hda_codec_realtek
snd_hda_codec_hdmi 49152 1
mac_hid 16384 0
aes_x86_64 20480 1 aesni_intel
snd_hda_intel 32768 10
ttm 77824 1 radeon
drm_kms_helper 106496 1 radeon
drm 286720 9 ttm,drm_kms_helper,radeon
snd_hda_codec 106496 4 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_intel
syscopyarea 16384 1 drm_kms_helper
sysfillrect 16384 1 drm_kms_helper
sysimgblt 16384 1 drm_kms_helper
snd_hda_core 49152 5 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
fb_sys_fops 16384 1 drm_kms_helper
lrw 16384 1 aesni_intel
snd_hwdep 16384 1 snd_hda_codec
gf128mul 16384 1 lrw
snd_pcm 86016 4 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_core
glue_helper 16384 1 aesni_intel
ablk_helper 16384 1 aesni_intel
cfg80211 483328 3 wl,mac80211,rt2x00lib
mei_me 32768 0
snd_timer 28672 1 snd_pcm
i2c_algo_bit 16384 1 radeon
cryptd 20480 2 aesni_intel,ablk_helper
mei 81920 1 mei_me
snd 65536 28 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
rfkill 20480 5 cfg80211,asus_wmi
soundcore 16384 1 snd
psmouse 118784 0
serio_raw 16384 0
pcspkr 16384 0
i2c_i801 20480 0
thermal 20480 0
tpm_tis 20480 0
tpm 36864 1 tpm_tis
ie31200_edac 16384 0
battery 20480 0
edac_core 45056 1 ie31200_edac
e1000e 217088 0
ptp 20480 1 e1000e
pps_core 20480 1 ptp
fjes 28672 0
lpc_ich 24576 0
video 36864 1 asus_wmi
shpchp 32768 0
button 16384 0
fan 16384 0
processor 32768 0
wmi 20480 2 mxm_wmi,asus_wmi
sch_fq_codel 20480 8
ip_tables 28672 0
x_tables 28672 1 ip_tables
ext4 512000 4
crc16 16384 1 ext4
mbcache 20480 1 ext4
jbd2 90112 1 ext4
sr_mod 24576 0
cdrom 49152 1 sr_mod
sd_mod 36864 7
hid_generic 16384 0
usbhid 45056 0
hid 114688 2 hid_generic,usbhid
atkbd 24576 0
libps2 16384 2 atkbd,psmouse
ahci 36864 6
libahci 28672 1 ahci
libata 196608 2 ahci,libahci
ehci_pci 16384 0
xhci_pci 16384 0
scsi_mod 151552 3 libata,sd_mod,sr_mod
ehci_hcd 69632 1 ehci_pci
xhci_hcd 159744 1 xhci_pci
usbcore 196608 7 rt2x00usb,rt2800usb,ehci_hcd,ehci_pci,usbhid,xhci_hcd,xhci_pci
usb_common 16384 1 usbcore
i8042 24576 1 libps2
serio 20480 6 serio_raw,atkbd,i8042,psmouse
lsmod under ubuntu gives shorter list, but appears to have more audio related content.
Code:
Module Size Used by
intel_rapl 18773 0
x86_pkg_temp_thermal 14205 0
intel_powerclamp 14705 0
coretemp 13435 0
kvm_intel 143060 0
dm_crypt 23177 0
kvm 451511 1 kvm_intel
snd_hda_codec_hdmi 46207 1
snd_hda_codec_realtek 61438 1
crct10dif_pclmul 14289 0
joydev 17381 0
eeepc_wmi 13151 0
crc32_pclmul 13113 0
snd_hda_intel 52355 5
ghash_clmulni_intel 13259 0
asus_wmi 24191 1 eeepc_wmi
snd_hda_codec 192906 3 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_intel
snd_seq_midi 13324 0
aesni_intel 55624 0
sparse_keymap 13948 1 asus_wmi
aes_x86_64 17131 1 aesni_intel
snd_seq_midi_event 14899 1 snd_seq_midi
lrw 13286 1 aesni_intel
snd_hwdep 13602 1 snd_hda_codec
dm_multipath 22873 0
snd_rawmidi 30144 1 snd_seq_midi
snd_pcm 102099 3 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel
snd_seq 61560 2 snd_seq_midi_event,snd_seq_midi
gf128mul 14951 1 lrw
scsi_dh 14882 1 dm_multipath
snd_page_alloc 18710 2 snd_pcm,snd_hda_intel
snd_seq_device 14497 3 snd_seq,snd_rawmidi,snd_seq_midi
glue_helper 13990 1 aesni_intel
mei_me 18627 0
snd_timer 29482 2 snd_pcm,snd_seq
ablk_helper 13597 1 aesni_intel
mei 82274 1 mei_me
cryptd 20359 3 ghash_clmulni_intel,aesni_intel,ablk_helper
psmouse 102222 0
lpc_ich 21080 0
snd 69238 21 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec,snd_hda_intel,snd_seq_device,snd_seq_midi
soundcore 12680 1 snd
serio_raw 13462 0
mac_hid 13205 0
bnep 19624 2
rfcomm 69160 0
bluetooth 395423 10 bnep,rfcomm
parport_pc 32701 0
ppdev 17671 0
lp 17759 0
parport 42348 3 lp,ppdev,parport_pc
squashfs 48362 1
overlayfs 27916 1
nls_utf8 12557 1
isofs 39835 1
nls_iso8859_1 12713 0
dm_mirror 22135 0
dm_region_hash 20862 1 dm_mirror
dm_log 18411 2 dm_region_hash,dm_mirror
hid_generic 12548 0
usbhid 52616 0
hid 106148 2 hid_generic,usbhid
usb_storage 62209 1
mxm_wmi 13021 0
radeon 1514165 4
ahci 25819 3
libahci 32168 1 ahci
e1000e 254433 0
i2c_algo_bit 13413 1 radeon
ttm 85115 1 radeon
ptp 18933 1 e1000e
drm_kms_helper 52758 1 radeon
pps_core 19382 1 ptp
drm 302817 6 ttm,drm_kms_helper,radeon
video 19476 1 asus_wmi
wmi 19177 2 mxm_wmi,asus_wmi
I would be a little surprised if it was an issue of driver presence though, since both devices have produced sound (even if only briefly).
alsa-state.service does not run, but from what little I think I understand about alsa that might be totally fine.
Code:
● alsa-state.service - Manage Sound Card State (restore and store)
Loaded: loaded (/usr/lib/systemd/system/alsa-state.service; static; vendor pr
Active: inactive (dead)
Condition: start condition failed at Mon 2016-03-21 01:33:11 CDT; 1h 9min ago
ConditionPathExists=/etc/alsa/state-daemon.conf was not met
further research lead me to check alsa-restore.service
Code:
● alsa-restore.service - Save/Restore Sound Card State
Loaded: loaded (/usr/lib/systemd/system/alsa-restore.service; static; vendor
Active: active (exited) since Mon 2016-03-21 01:33:11 CDT; 1h 14min ago
Process: 460 ExecStart=/usr/bin/alsactl restore (code=exited, status=0/SUCCESS
Main PID: 460 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 512)
CGroup: /system.slice/alsa-restore.service
Mar 21 01:33:11 $HOSTNAME systemd[1]: Starting Save/Restore Sound Card State...
Mar 21 01:33:11 $HOSTNAME systemd[1]: Started Save/Restore Sound Card State.
Which originally ran, but threw some errors about permisions being inadequate. These have since gone away, that particular error seemed to stop after running alsactl init under sudo. The error does not appear even if alsactl init is not run after reboot.
At this point I feel every path I go down is just another red herring. I would use a better title if I understood what the actual root problem was.