1

I have a GIGABYTE GA-H170N-WIFI motherboard which I'd like to use as a basis for home audio system. It has got two HDMI outputs and 5.1 analog audio output.

The question is, how do I find out how many independent audio channels does the sound card/subsystem support? Can I really have 8 independent audio channels per HDMI output, plus 6 analog channels (not to mention up to 8 channels on the S/PDIF output) running at the same time, sending different signals? Furthermore, is it possible to convince PulseAudio to "split" the HDMI audio channels and provide them as 8 independent sinks?

Thanks!


Update: my /proc/asound/card0/codec#2

Codec: Intel Skylake HDMI
Address: 2
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x80862809
Subsystem Id: 0x80860101
Revision Id: 0x100000
No Modem Function Group found
Default PCM:
    rates [0x0]:
    bits [0x0]:
    formats [0x0]:
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
  Power states:  D0 D3 CLKSTOP EPSS
  Power: setting=D0, actual=D0, Clock-stop-OK
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x02 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1a]: 16 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x03 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1a]: 16 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x04 [Audio Output] wcaps 0x6611: 8-Channels Digital
  Converter: stream=0, channel=0
  Digital: Enabled KAE
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1a]: 16 24 32
    formats [0x5]: PCM AC3
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
Node 0x05 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 3
     0x02* 0x03 0x04
Node 0x06 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
  In-driver Connection: 3
     0x02 0x03 0x04
Node 0x07 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
  Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
  Amp-Out vals:  [0x00 0x00]
  Pincap 0x0b000094: OUT Detect HBR HDMI DP
  Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0x1, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Power states:  D0 D3 EPSS
  Power: setting=D0, actual=D0
  Devices: 0
  Connection: 0
  In-driver Connection: 3
     0x02 0x03 0x04
Node 0x08 [Vendor Defined Widget] wcaps 0xf00000: Mono
  • Why the downvote? – David Jan 13 '18 at 20:13
  • 1
    This question may be better suited to superuser or serverfault, as there’s nothing specific to Unix/Linux in it. – Jeff Schaller Jan 13 '18 at 20:18
  • Look at cat /proc/asound/card*/codec\#* to see if you can use audio in both HDMI outputs at once, or just in a single one. This may also give an indication how many channels you can transfer over HDMI. Look at cat /proc/asound/card*/eld\#* to see what formats/how many channels whatever you connected to HDMI will accept. Yes, you can split channels in both Pulseaudio and ALSA. – dirkt Jan 13 '18 at 20:21
  • @dirkt, would you please help me to decipher the output? I'm not quite sure how to interpret it. – David Jan 13 '18 at 21:13
4

According to the codec information, you have 3 converter nodes (which accept a digital data stream) of 8 channels each, and 3 pin nodes (which are connected to the graphic card to embed the sound stream into HDMI).

So your hardware is indeed capable of 8 channels per HDMI plus 6 channels analog (unless the HDA soundcard has bandwidth restrictions, but I'll guess one just has to try that), and it could even do an additional 8 channels for another HDMI output if you had the physical output.

Setting up simultanous output on both HDMI channels in Pulseaudio may be a bit of a headache, though. You may have to fiddle with the profile sets in /usr/share/pulseaudio/alsa-mixer/ if you actually plan to do this.

You can split off channels as additional sinks easily in Pulseaudio with the module-remap-sink module.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.