Audio over HDMI only in stereo with GeForce GTX 1050 Ti

I just installed the latest driver–NVIDIA-Linux-x86_64-440.36.run on my Dell with GeForce GTX 1050 Ti.

It appears to have successfully installed.

cat /etc/redhat-release 
Fedora release 29 (Twenty Nine)

lspci -k | grep -EA3 'VGA|3D|Display'
00:02.0 Display controller: Intel Corporation UHD Graphics 630 (Desktop)
	Subsystem: Dell Device 0859
	Kernel driver in use: i915
	Kernel modules: i915
--
01:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] (rev a1)
	Subsystem: Dell Device 3512
	Kernel driver in use: nvidia
	Kernel modules: nouveau, nvidia_drm, nvidia

cat /etc/modprobe.d/blacklist.conf 
blacklist nouveau

My graphics card has one HDMI cable connecting it to my scaler (iScan Duo). My scaler offers a wide range of audio processing which is a primary reason for the purchase.

When settings is set to stereo the scaler displays LPCM 2-Channel.

The other options displayed in Gnome settings are 5.1 and 7.1–both of which have full HW & SW support but the output doesn’t work correctly. At the moment the key thing missing is the center channel.

Can someone please give me some clues on how to troubleshoot? I am happy to provide any additional detail requested.

Thanks!

cat /proc/asound/card1/codec#0 
Codec: Nvidia GPU 80 HDMI/DP
Address: 0
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x10de0080
Subsystem Id: 0x10283512
Revision Id: 0x100100
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 D1 D2 D3 CLKSTOP EPSS
  Power: setting=D0, actual=D0
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x04 [Pin Complex] wcaps 0x407381: 8-Channels Digital CP
  Control: name="IEC958 Playback Con Mask", index=0, device=0
  Control: name="IEC958 Playback Pro Mask", index=0, device=0
  Control: name="IEC958 Playback Default", index=0, device=0
  Control: name="IEC958 Playback Switch", index=0, device=0
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x185600f0: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=01, enabled=1
  Connection: 4
     0x0a* 0x0b 0x0c 0x0d
Node 0x05 [Pin Complex] wcaps 0x407381: 8-Channels Digital CP
  Control: name="IEC958 Playback Con Mask", index=1, device=0
  Control: name="IEC958 Playback Pro Mask", index=1, device=0
  Control: name="IEC958 Playback Default", index=1, device=0
  Control: name="IEC958 Playback Switch", index=1, device=0
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x185600f0: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=02, enabled=1
  Connection: 4
     0x0a* 0x0b 0x0c 0x0d
Node 0x06 [Pin Complex] wcaps 0x407381: 8-Channels Digital CP
  Control: name="IEC958 Playback Con Mask", index=2, device=0
  Control: name="IEC958 Playback Pro Mask", index=2, device=0
  Control: name="IEC958 Playback Default", index=2, device=0
  Control: name="IEC958 Playback Switch", index=2, device=0
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x185600f0: [Jack] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=03, enabled=1
  Connection: 4
     0x0a* 0x0b 0x0c 0x0d
Node 0x07 [Pin Complex] wcaps 0x407381: 8-Channels Digital CP
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x585600f0: [N/A] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Connection: 4
     0x0a* 0x0b 0x0c 0x0d
Node 0x08 [Pin Complex] wcaps 0x407381: 8-Channels Digital CP
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x585600f0: [N/A] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Connection: 4
     0x0a* 0x0b 0x0c 0x0d
Node 0x09 [Pin Complex] wcaps 0x407381: 8-Channels Digital CP
  Pincap 0x09000094: OUT Detect HBR HDMI DP
  Pin Default 0x585600f0: [N/A] Digital Out at Int HDMI
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x00:
  Unsolicited: tag=00, enabled=0
  Connection: 4
     0x0a* 0x0b 0x0c 0x0d
Node 0x0a [Audio Output] wcaps 0x62b1: 8-Channels Digital Stripe
  Converter: stream=0, channel=0
  Digital: Enabled GenLevel
  Digital category: 0x2
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0xe]: 16 20 24
    formats [0x5]: PCM AC3
  Unsolicited: tag=00, enabled=0
Node 0x0b [Audio Output] wcaps 0x62b1: 8-Channels Digital Stripe
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0xe]: 16 20 24
    formats [0x5]: PCM AC3
  Unsolicited: tag=00, enabled=0
Node 0x0c [Audio Output] wcaps 0x62b1: 8-Channels Digital Stripe
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0xe]: 16 20 24
    formats [0x5]: PCM AC3
  Unsolicited: tag=00, enabled=0
Node 0x0d [Audio Output] wcaps 0x62b1: 8-Channels Digital Stripe
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  IEC Coding Type: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0xe]: 16 20 24
    formats [0x5]: PCM AC3
  Unsolicited: tag=00, enabled=0

nvidia-bug-report.log.gz (1.17 MB)

The important info is this, the capabilities of the iScan:

*** /proc/asound/card1/eld#0.1
*** ls: -rw-r--r--. 1 root root 0 2019-12-06 13:24:11.023351365 -0500 /proc/asound/card1/eld#0.1
monitor_present		1
eld_valid		1
monitor_name		iScan Duo
   
connection_type		HDMI
eld_version		[0x2] CEA-861D or below
edid_version		[0x3] CEA-861-B, C or D
manufacture_id		0x5404
product_id		0x3145
port_id			0x200
support_hdcp		0
support_ai		0
audio_sync_delay	0
speakers		[0x2f] FL/FR LFE FC RL/RR FLC/FRC
sad_count		4
sad0_coding_type	[0x2] AC-3
sad0_channels		6
sad0_rates		[0xe0] 32000 44100 48000
sad0_max_bitrate	640000
sad1_coding_type	[0x7] DTS
sad1_channels		8
sad1_rates		[0x6e0] 32000 44100 48000 88200 96000
sad1_max_bitrate	1536000
sad2_coding_type	[0x6] AAC-LC
sad2_channels		8
sad2_rates		[0xe0] 32000 44100 48000
sad2_max_bitrate	1536000
sad3_coding_type	[0x1] LPCM
sad3_channels		2
sad3_rates		[0x1ee0] 32000 44100 48000 88200 96000 176400 192000
sad3_bits		[0x0]

meaning, 5.1 is only supported when feeding an AC-3 stream, 7.1 when feeding a DTS or AAC-LC stream. When feeding PCM, e.g. from speaker test, only stereo is supported by the iScan. You need the proper material and player. Or some kind of 7.1 PCM->AAC-LC virtual soundcard. Don’t know if this exists.

If I understand you correctly, I could hear sound working properly if I find a sample with:

  1. AC-3 5.1
  2. DTS or AAC-LC 7.1

Is that correct?

And thank you very much!

Yes, e.g. playing a DVD with ac3 5.1 sound in xine with sound set to passthrough should work. Or a BD with 7.1 sound, very theoretical (no players available?)

…the important part is ‘passthough’, i.e. the player has to have the capability to feed the raw ac3/dts/aac stream to the hdmi instead of decoding it to pcm.

Thank you very much!