1

I'm trying to output multi-pcm channels on my Onkyo Receiver TX-RZ900 on Fedora 25 with Intel Skylake HDMI output.

I had some useful informations on this post How do I configure PulseAudio for 7.1 Surround Sound over HDMI? but unfortunately the speaker-test outputs only on the Front Left and Front Right channels

The AVR reports the right channels :

[liveuser@localhost-live ~]$ cat /proc/asound/card0/eld#2.1
monitor_present     1
eld_valid       1
monitor_name        TX-RZ900
connection_type     HDMI
eld_version     [0x2] CEA-861D or below
edid_version        [0x3] CEA-861-B, C or D
manufacture_id      0xcb3d
product_id      0xf91
port_id         0x0
support_hdcp        0
support_ai      1
audio_sync_delay    0
speakers        [0x4f] FL/FR LFE FC RL/RR RLC/RRC
sad_count       9
sad0_coding_type    [0x1] LPCM
sad0_channels       2
sad0_rates      [0x1ee0] 32000 44100 48000 88200 96000 176400 192000
sad0_bits       [0xe0000] 16 20 24
sad1_coding_type    [0x1] LPCM
sad1_channels       8
sad1_rates      [0x1ee0] 32000 44100 48000 88200 96000 176400 192000
sad1_bits       [0xe0000] 16 20 24
sad2_coding_type    [0x2] AC-3
sad2_channels       8
sad2_rates      [0xe0] 32000 44100 48000
sad2_max_bitrate    640000
sad3_coding_type    [0x7] DTS
sad3_channels       8
sad3_rates      [0xc0] 44100 48000
sad3_max_bitrate    1536000
sad4_coding_type    [0x9] DSD (One Bit Audio)
sad4_channels       6
sad4_rates      [0x40] 44100
sad5_coding_type    [0xa] E-AC-3/DD+ (Dolby Digital Plus)
sad5_channels       8
sad5_rates      [0xc0] 44100 48000
sad6_coding_type    [0xb] DTS-HD
sad6_channels       8
sad6_rates      [0x1ec0] 44100 48000 88200 96000 176400 192000
sad7_coding_type    [0xb] DTS-HD
sad7_channels       8
sad7_rates      [0x1ec0] 44100 48000 88200 96000 176400 192000
sad8_coding_type    [0xc] MLP (Dolby TrueHD)
sad8_channels       8
sad8_rates      [0x1ee0] 32000 44100 48000 88200 96000 176400 192000

aplay -l reports : (Only Card 0 Device 7 outputs some sound)

[root@localhost-live pulse]# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: CA0132 Analog [CA0132 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: CA0132 Digital [CA0132 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

speaker-test command which only outputs to 2 Front Channels :

[liveuser@localhost-live ~]$ pasuspender -- speaker-test -c 8 -twav -Dplughw:0,7

speaker-test 1.1.1

Playback device is plughw:0,7
Stream parameters are 48000Hz, S16_LE, 8 channels
WAV file(s)
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 16 to 262144
Period size range from 8 to 131072
Using max buffer size 262144
Periods = 4
was set period_size = 65536
was set buffer_size = 262144
 0 - Front Left
 4 - Front Center
 1 - Front Right
 7 - Rear Right
 3 - Rear Right Center
 2 - Rear Left Center
 6 - Rear Left
 5 - LFE

/sys/class/drm/card0-DP-1/edid :

[liveuser@localhost-live card0-DP-1]$ hexdump -C edid 
00000000  00 ff ff ff ff ff ff 00  3d cb 91 0f 00 00 00 00  |........=.......|
00000010  00 19 01 03 80 34 1d 78  2a 60 41 a6 56 4a 9c 25  |.....4.x*`A.VJ.%|
00000020  12 50 54 2f cf 00 01 01  81 40 81 80 95 00 95 0f  |.PT/.....@......|
00000030  b3 00 01 01 01 01 02 3a  80 18 71 38 2d 40 58 2c  |.......:..q8-@X,|
00000040  45 00 09 25 21 00 00 1e  8c 0a d0 8a 20 e0 2d 10  |E..%!....... .-.|
00000050  10 3e 96 00 09 25 21 00  00 18 00 00 00 fc 00 54  |.>...%!........T|
00000060  58 2d 52 5a 39 30 30 0a  20 20 20 20 00 00 00 fd  |X-RZ900.    ....|
00000070  00 38 4c 1e 53 11 00 0a  20 20 20 20 20 20 01 b4  |.8L.S...      ..|
00000080  02 03 38 f0 4c 01 02 03  04 05 10 11 12 13 14 1e  |..8.L...........|
00000090  1f 3b 09 7f 07 0f 7f 07  17 07 50 3f 06 c0 4d 02  |.;........P?..M.|
000000a0  00 57 06 01 5f 7e 03 5f  7e 01 67 7f 01 83 4f 00  |.W.._~._~.g...O.|
000000b0  00 66 03 0c 00 14 00 80  01 1d 00 72 51 d0 1e 20  |.f.........rQ.. |
000000c0  6e 28 55 00 09 25 21 00  00 1e 8c 0a d0 90 20 40  |n(U..%!....... @|
000000d0  31 20 0c 40 55 00 09 25  21 00 00 18 00 00 00 00  |1 .@U..%!.......|
000000e0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000000f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 ec  |................|
00000100

Any help on this problem would be greatly appreciated, I have spent many hours trying to resolve this without any luck so far...

pTTy
  • 21
  • 4
  • If indeed `sad1_rates` and `sad1_bits` are missing (and that's not a cut'n'paste error), the 8 channel ELD seems to be defect. If they are not missing, the question is how to activate the second SAD ... but that should be solveable with a bit of code reading. – dirkt Jul 02 '17 at 18:48
  • In case the ELD needs to be debugged, please find a non-empty `/sys/class/drm/card-*/edid`, and edit your question with a hexdump (`xxd` or `hexdump -C`) of it. – dirkt Jul 02 '17 at 18:52
  • Hi Dirkt, thanks for your help. I edited my message with the full content of the ELD, and adding the hexdump of the only non empty edid. The strange think is that I'm connected on HDMI and the EDID seems to be from DisplayPort (card0-DP-1 ; the card0-HDMI-A-* EDID are all empty.) – pTTy Jul 02 '17 at 20:31
  • Ok, you have 8 channel PCM. Have you tried to change the profile in `pavucontrol` to 7.1 (Configuration tab)? Or is the profile missing? If yes, have you tried to add a profile as described in the question you linked to? – dirkt Jul 02 '17 at 20:55
  • The 7.1 default profile in pavucontrol exists and it was one of the first thing I tried, only outputs 2 Channels when my AVR is on direct mode... I will try this evening to add the profile as mentioned in the link, but I don't think it will work since the speaker-test only outputs 2 channels too ! – pTTy Jul 03 '17 at 07:30
  • If a new Pulseaudio profile doesn't work, the next step is to disable Pulseaudio (`pulseaudio --kill`), make sure it's stopped and doesn't respawn (`ps axu`), and test if it works on the ALSA level (`aplay -L`, pick correct `surround71:...`, `speaker-test`). – dirkt Jul 03 '17 at 09:34
  • Still no luck... Here are the steps I made : Creating udev rule; creating my-hdmi.conf with the right output (hdmi-output-1, verified on pavucontrol that its state is pluggedin, and also pacmd list-sinks detect it's connected to my TX-RZ900 AVE). Speaker-test -c 8 -t w produces no sound at all. – pTTy Jul 03 '17 at 17:09
  • aplay -L show me only the old surround71 conf : surround71:CARD=PCH,DEV=0 HDA Intel PCH, CA0132 Analog 7.1 Surround output to Front, Center, Side, Rear and Woofer speakers Tried to play it with pasuspender -- speaker-test -c 8 -D(surround71 || surround71:PCH,0) -twav and I've got the error message : Channels count (8) not available for playbacks: Invalid argument Setting of hwparams failed: Invalid argument – pTTy Jul 03 '17 at 17:15
  • the command pasuspender -- speaker-test -c 8 -Dhdmi:PCH,1 -twav plays on Front Left and Front Right, as usual... – pTTy Jul 03 '17 at 17:17
  • Hmpf. Maybe your codec only supports 2 channels? Have a look at the HDMI codec (not the CA0132 codec). Probably `/proc/asound/card0/codec#3`, possibly a different number. The Audio Output nodes should say "8-Channels Digital". In doubt, put output in question or pastebin. – dirkt Jul 03 '17 at 18:33
  • It says 8 Channels Digital. Here is the pastebin : https://pastebin.com/JdHgadYq – pTTy Jul 03 '17 at 19:41
  • I'm out of ideas for the PC side. The Onkyo receiver is correctly set up? No accidental "stereo only", or funny DPS functions enabled somewhere? Can't think of anything else to do but systematically swap hardware (different receiver, external soundcard or other PC with same harddisk) to try to narrow down where the exact problem is, but this is quite a bit of effort... Or try bughunting in the driver. Also not easy. – dirkt Jul 03 '17 at 19:54
  • TX-RZ900 is configured in direct mode : input = output without any modification... The Display of the AVR shows that with test files it sees the multi channel PCM but with only 2 channels. I begin to believe that the problem is hardware oriented, I tried to output multi channel PCM on Windows 10 with Foobar and Wasapi plugin on the same machine and I've got the same result... (At least DTS and Dolby passthrough are working !) Maybe I should contact Intel or Onkyo support ? Gonna try to output multi channel pcm with my AMD HD 5850 this evening just to be sure. – pTTy Jul 04 '17 at 09:07
  • Ah, having a "debugging display" on the AVR is nice. Contacting Intel or Onkyo support is worth a try, but probably they can't do much. Also try the ALSA developer's mailing list, they may have come across similar situations. If you find out anything, please make an answer here. – dirkt Jul 04 '17 at 10:07
  • I'll sure do. Thanks for taking some time helping me, it's really appreciated :) – pTTy Jul 04 '17 at 12:02

1 Answers1

1

Well, Gigabyte support did correct the problem

My motherboard Gigabyte GA-Z170X-Gaming 7-EU uses a MegaChips MCDP2800 to bring HDMI 2.0 to the Intel iGPU (Skylake does not support it)

This chip needed to be firmware upgraded for the LPCM 8 Channels to work correctly. Btw if someone has the same problem and need to upgrade this firmware, you need to unplug all PCI-E graphics and uninstall in Windows with Display Driver Uninstaller in safe mode all AMD or NVIDIA drivers ever installed !

Now it's working under W10 or Linux like a charm :)

Thanks for the help dirkt ! Really appreciated the time you took to help me.

pTTy
  • 21
  • 4