On Tue, Sep 11, 2018 at 03:50:13PM +0200, Bruno Prémont wrote:
Hi,
I have a system with multiple monitors and would like to send notification sounds to the monitor on which corresponding window is visible.
For a workstation and a tiny computer things look different:
- workstation (Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz):
00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller [8086:0412] (rev 06) 00:03.0 Audio device [0403]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller [8086:0c0c] (rev 06) 00:1b.0 Audio device [0403]: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller [8086:8c20] (rev 04)
Here alsa show me two cards:
- HDA Intel PCH (Realtek ALC671)
- HDA Intel HDMI (Intel Generic)
**** List of PLAYBACK Hardware Devices **** card 0: HDMI [HDA Intel HDMI], device 3: Generic Digital [Generic Digital] Subdevices: 1/1 Subdevice #0: subdevice #0
There should normally be multiple HDMI devices (one for each HDMI/DP connector more or less). Eg. my hsw shows:
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
Looking at the hda_codec.c we see: static int audio_idx[HDA_PCM_NTYPES][5] = { ... [HDA_PCM_TYPE_HDMI] = { 3, 7, 8, 9, -1 },
So you always get those device numbers, but I don't see an immediate relationship between those and the pin numbers (which do have some kind of relationship with the HDMI/DP port). I guess if they always get registered in order of the pin numbers then those would translate to 3 == port B, 7 == port C, etc. And after that the problem is figuring out which port is related to which connector, for which we have nothing at the moment.
I suppose the ideal solution might be to have a sysfs symlink (or something) to connect the two together.
But then there's MST where I think the pcm device correlates with the crtc rather than the connector. Maybe. I can't remember anymore, and I'm not sure it even works (I've recently heard people saying it doesn't).
card 1: PCH [HDA Intel PCH], device 0: ALC671 Analog [ALC671 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0
- tiny computer (Intel(R) Core(TM) i5-6500T CPU @ 2.50GHz):
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 530 [8086:1912] (rev 06) 00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31)
Here alsa shows a single card:
- HDA Intel PCH (Realtek ALC671)
**** List of PLAYBACK Hardware Devices **** card 0: PCH [HDA Intel PCH], device 0: ALC671 Analog [ALC671 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: PCH [HDA Intel PCH], device 3: Generic Digital [Generic Digital] Subdevices: 1/1 Subdevice #0: subdevice #0
How can I determine/set to which monitor the sound should go, and preferably send different sounds to both monitors at same time?
Cheers, Bruno _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel