Bug 340502 - No channels in "select master channel" dialog with 2 same-named soundcards
Summary: No channels in "select master channel" dialog with 2 same-named soundcards
Status: REPORTED
Alias: None
Product: kmix
Classification: Unclassified
Component: general (show other bugs)
Version: 4.5
Platform: Archlinux Packages Linux
: NOR normal (vote)
Target Milestone: ---
Assignee: Christian Esken
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-10-30 14:19 UTC by azrdev
Modified: 2021-12-13 16:32 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description azrdev 2014-10-30 14:19:43 UTC
My system contains two soundcards (analog and digital parts of the chip) which have the same name to kmix. If I open the "Select Master Channel" dialog, the "current mixer" combobox lists both, but no channels are displayed at all, so I cannot select a master channel.

This was fixed in KDE 4.13.3 but since is broken the same way again.

broken, KDE 4.14.something: http://imgur.com/jqqIVGc,DC7Wu4O#0
works, KDE 4.13.3: http://imgur.com/jqqIVGc,DC7Wu4O#1

Reproducible: Always
Comment 1 stedlev 2014-11-09 06:20:58 UTC
I can confirm this as well. 

aplay -l output

**** List of PLAYBACK Hardware Devices ****
card 0: Generic_1 [HD-Audio Generic], device 0: ALC269VC Analog [ALC269VC Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 3: ID aa01 Digital [ID aa01 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Both devices use snd-hda-intel as well. So same, name, same module.

Problem is both devices share same name, and show in kmix as "HD-Audio Generic". However, choosing between both "HD-Audio Generic" when selecting master channel only selects the card with the lowest index. I hacked a partial solution by swapping my HDMI card index and analog sound index so that analog moved from 1 to 0 and HDMI vice versa via /etc/modprobe.d/alsa.conf

options snd-hda-intel id=Generic_1 index=0
options snd-hda-intel id=Generic index=1 

However I had to read the ids from /proc/asound/cardX/id so it may vary for you. 

It seems kmix is identifying cards by the name of the cards as opposed to the ids, which are unique. 

Output of /proc/asound/cards

 0 [Generic_1      ]: HDA-Intel - HD-Audio Generic
                      HD-Audio Generic at 0xf1544000 irq 16
 1 [Generic        ]: HDA-Intel - HD-Audio Generic
                      HD-Audio Generic at 0xf1540000 irq 39
29 [ThinkPadEC     ]: ThinkPad EC - ThinkPad Console Audio Control
                      ThinkPad Console Audio Control at EC reg 0x30, fw unknown

Note I swapped Generic with Generic_1 so I was able to use kmix to control volume of analog sound. However with this configuration i have no control over the HDMI in index 1 and only control via index 0.

The problem only persists if you're not using PulseAudio. Kmix was working fine (but PA wouldn't do things like adjust system notification sounds so I'd be somewhere quiet and suddenly release loud dings but that's another story that I've purged from this system).
Comment 2 Andrew Crouthamel 2018-11-12 02:48:23 UTC
Dear Bug Submitter,

This bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? I am setting the status to NEEDSINFO pending your response, please change the Status back to REPORTED when you respond.

Thank you for helping us make KDE software even better for everyone!
Comment 3 Andrew Crouthamel 2018-11-21 04:29:49 UTC
Dear Bug Submitter,

This is a reminder that this bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? This bug will be moved back to REPORTED Status for manual review later, which may take a while. If you are able to, please lend us a hand.

Thank you for helping us make KDE software even better for everyone!
Comment 4 Alex Hermann 2021-12-13 16:32:32 UTC
Hi,

Same issue. KMix should be using the ID instead of the name, as the ID is unique, the name certainly is not.

I implemented a fix by using the ID internally while still showing the friendly name. It's a bit messy, but hey, it's ALSA...


https://invent.kde.org/multimedia/kmix/-/merge_requests/12