[alsa-devel] Missing surround channels with Nvidia HDMI & snd-hda-intel driver

VDR User user.vdr at gmail.com
Tue Nov 14 16:22:13 CET 2017


Ok so after compiling a bunch of older kernels, I found that the
problem started with 4.6.0. Kernel 4.5.7 worked fine. With 4.6.0 I
get:

~$ speaker-test -c 6 -t wav

speaker-test 1.1.3

Playback device is default
Stream parameters are 48000Hz, S16_LE, 6 channels
WAV file(s)
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 64 to 5440
Period size range from 32 to 2720
Using max buffer size 5440
Periods = 4
was set period_size = 1088
was set buffer_size = 5440
 0 - Front Left
 1 - Front Right
 3 - Rear Right
 2 - Rear Left
 4 - Unknown
 5 - Unknown
Time per period = 8.524856


However, with 4.5.7 it was:

~$ speaker-test -c 6 -t wav

speaker-test 1.1.3

Playback device is default
Stream parameters are 48000Hz, S16_LE, 6 channels
WAV file(s)
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 64 to 5440
Period size range from 32 to 2720
Using max buffer size 5440
Periods = 4
was set period_size = 1088
was set buffer_size = 5440
 0 - Front Left
 4 - Front Center
 1 - Front Right
 3 - Rear Right
 2 - Rear Left
 5 - LFE
Time per period = 8.524740

In both cases the audio announced the correct speaker position, but
the Front Center & LFE channels are labeled/reported incorrectly as
"Unknown" starting in 4.6.0. I looked at the 4.6 changelog audio
section (https://kernelnewbies.org/Linux_4.6#head-59f6bad0670ddd6511d239b83c36575b139798bf)
but didn't see anything Nvidia-specific, or anything that sounded like
it would cause this problem. Any ideas on the best way to proceed
finding the offending commit?

Thanks!
Derek


On Mon, Nov 13, 2017 at 11:03 AM, Takashi Iwai <tiwai at suse.de> wrote:
> On Mon, 13 Nov 2017 18:18:39 +0100,
> VDR User wrote:
>>
>> Hi Takashi,
>>
>> Thanks for your reply. I have no clue unfortunately as I just noticed
>> it now. Is there a previous kernel you could recommend I try prior to
>> any or big changes to how snd-hda-intel works?
>
> Well, nothing I can think of for now, that's why I asked about testing
> the older kernel.  I'd do a bisection, e.g. try stable kernels like
> 4.4.x or 4.9.x, depending on the "previously working" version you
> remember, then go to the middle between them if it hits the
> regression.
>
>
> Takashi
>
>>
>> -Derek
>>
>> On Mon, Nov 13, 2017 at 8:40 AM, Takashi Iwai <tiwai at suse.de> wrote:
>> > On Sun, 12 Nov 2017 19:01:14 +0100,
>> > VDR User wrote:
>> >>
>> >> Hi. I just noticed that I'm missing some surround channels and I think
>> >> it may be a bug in the alsa drivers because my current setup used to
>> >> work just fine.
>> >
>> > If it's a regression, which kernel did work and which started a
>> > regression?  This alone would be a good help for tracking down the
>> > problem.
>> >
>> >
>> > Takashi
>> >
>> >> I'm running Debian Testing, stable kernel 4.13.12,
>> >> alsa-utils 1.1.3-1. My ~/.asoundrc is:
>> >>
>> >> ~$ cat .asoundrc
>> >> pcm.!default "hdmi:NVidia,1"
>> >> ~$
>> >>
>> >> I am not setting anything on my kernel load line:
>> >>
>> >>         echo    'Loading Linux 4.13.12-amd ...'
>> >>         linux   /vmlinuz-4.13.12-amd
>> >> root=UUID=6df5733d-b089-450c-9ec6-661dd013c7c0 ro
>> >>         echo    'Loading initial ramdisk ...'
>> >>         initrd  /initrd.img-4.13.12-amd
>> >>
>> >> The driver being used is snd-hda-intel with an Nvidia GT520 video
>> >> card. And lastly I do not have Pulse or a desktop environment. This is
>> >> a minimal HTPC setup that runs only an xserver to provide video
>> >> output, with audio/video being sent to my surround receiver via HDMI.
>> >>
>> >> The first thing I noticed was mpv-player was downmixing 5.1 to 3.1 and
>> >> giving the following log message:
>> >>
>> >> [ao/alsa] trying to set ALSA channel map: FL FR FC LFE RL RR
>> >> [ao/alsa] channel map reported by ALSA: FL FR FC LFE UNKNOWN UNKNOWN
>> >> [ao/alsa] which we understand as: fl-fr-fc-lfe-na-na
>> >> [ao/alsa] using the ALSA channel map.
>> >> [ao/alsa] hw pausing supported: yes
>> >> [ao/alsa] buffersize: 2720 samples
>> >> [ao/alsa] period size: 160 samples
>> >> [ao/alsa] device buffer: 2720 samples.
>> >> [ao/alsa] using soft-buffer of 8820 samples.
>> >> [cplayer] AO: [alsa] 44100Hz fl-fr-fc-lfe-na-na (3.1) 6ch s32
>> >> [cplayer] AO: Description: ALSA audio output
>> >> [af] Adding filter lavrresample
>> >> [lavrresample] Remix: 5.1 -> 3.1
>> >> [af] Audio filter chain:
>> >> [af]   [in] 44100Hz 5.1 6ch floatp
>> >> [af]   [lavrresample] 44100Hz fl-fr-fc-lfe-na-na (3.1) 6ch s32 [a]
>> >> [af]   [out] 44100Hz fl-fr-fc-lfe-na-na (3.1) 6ch s32
>> >> [af]   [ao] 44100Hz fl-fr-fc-lfe-na-na (3.1) 6ch s32
>> >>
>> >> That makes it look like Rear Left/Right channels are absent. I think
>> >> ran speaker-test. 4 and 5 show as "Unknown" but correctly audibly
>> >> announced as "front center" and "subwoofer" respectively:
>> >>
>> >> ~$ speaker-test -c 6 -t wav
>> >>
>> >> speaker-test 1.1.3
>> >>
>> >> Playback device is default
>> >> Stream parameters are 48000Hz, S16_LE, 6 channels
>> >> WAV file(s)
>> >> Rate set to 48000Hz (requested 48000Hz)
>> >> Buffer size range from 64 to 5440
>> >> Period size range from 32 to 2720
>> >> Using max buffer size 5440
>> >> Periods = 4
>> >> was set period_size = 1088
>> >> was set buffer_size = 5440
>> >>  0 - Front Left
>> >>  1 - Front Right
>> >>  3 - Rear Right
>> >>  2 - Rear Left
>> >>  4 - Unknown
>> >>  5 - Unknown
>> >>
>> >> Additional information that may be of use:
>> >>
>> >> ~$ aplay -l
>> >> **** List of PLAYBACK Hardware Devices ****
>> >> card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
>> >>   Subdevices: 1/1
>> >>   Subdevice #0: subdevice #0
>> >> card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
>> >>   Subdevices: 0/1
>> >>   Subdevice #0: subdevice #0
>> >>
>> >> ~$ cat /proc/asound/card1/eld#0.1
>> >> monitor_present         1
>> >> eld_valid               1
>> >> monitor_name            SONY AVAMP
>> >>
>> >> connection_type         HDMI
>> >> eld_version             [0x2] CEA-861D or below
>> >> edid_version            [0x3] CEA-861-B, C or D
>> >> manufacture_id          0xd94d
>> >> product_id              0xf02
>> >> port_id                 0x200
>> >> support_hdcp            0
>> >> support_ai              0
>> >> audio_sync_delay        0
>> >> speakers                [0x5f] FL/FR LFE FC RL/RR RC RLC/RRC
>> >> sad_count               12
>> >> sad0_coding_type        [0xc] MLP (Dolby TrueHD)
>> >> sad0_channels           2
>> >> sad0_rates              [0x1ec0] 44100 48000 88200 96000 176400 192000
>> >> sad1_coding_type        [0xc] MLP (Dolby TrueHD)
>> >> sad1_channels           6
>> >> sad1_rates              [0x1ec0] 44100 48000 88200 96000 176400 192000
>> >> sad2_coding_type        [0xc] MLP (Dolby TrueHD)
>> >> sad2_channels           8
>> >> sad2_rates              [0x6c0] 44100 48000 88200 96000
>> >> sad3_coding_type        [0xb] DTS-HD
>> >> sad3_channels           2
>> >> sad3_rates              [0x1ec0] 44100 48000 88200 96000 176400 192000
>> >> sad4_coding_type        [0xb] DTS-HD
>> >> sad4_channels           6
>> >> sad4_rates              [0x1ec0] 44100 48000 88200 96000 176400 192000
>> >> sad5_coding_type        [0xb] DTS-HD
>> >> sad5_channels           8
>> >> sad5_rates              [0x6c0] 44100 48000 88200 96000
>> >> sad6_coding_type        [0x1] LPCM
>> >> sad6_channels           2
>> >> sad6_rates              [0x1ee0] 32000 44100 48000 88200 96000 176400 192000
>> >> sad6_bits               [0xe0000] 16 20 24
>> >> sad7_coding_type        [0x1] LPCM
>> >> sad7_channels           6
>> >> sad7_rates              [0x1ee0] 32000 44100 48000 88200 96000 176400 192000
>> >> sad7_bits               [0xe0000] 16 20 24
>> >> sad8_coding_type        [0x1] LPCM
>> >> sad8_channels           8
>> >> sad8_rates              [0x1ee0] 32000 44100 48000 88200 96000 176400 192000
>> >> sad8_bits               [0xe0000] 16 20 24
>> >> sad9_coding_type        [0x2] AC-3
>> >> sad9_channels           6
>> >> sad9_rates              [0xe0] 32000 44100 48000
>> >> sad9_max_bitrate        680000
>> >> sad10_coding_type       [0x7] DTS
>> >> sad10_channels          6
>> >> sad10_rates             [0x6e0] 32000 44100 48000 88200 96000
>> >> sad10_max_bitrate       1536000
>> >> sad11_coding_type       [0xa] E-AC-3/DD+ (Dolby Digital Plus)
>> >> sad11_channels          8
>> >> sad11_rates             [0xc0] 44100 48000
>> >>
>> >> 02:00.0 VGA compatible controller: NVIDIA Corporation GF119 [GeForce
>> >> GT 520] (rev a1) (prog-if 00 [VGA controller])
>> >>         Subsystem: eVga.com. Corp. GF119 [GeForce GT 520]
>> >>         Flags: bus master, fast devsel, latency 0, IRQ 25
>> >>         Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
>> >>         Memory at f0000000 (64-bit, prefetchable) [size=128M]
>> >>         Memory at fa000000 (64-bit, prefetchable) [size=32M]
>> >>         I/O ports at ec00 [size=128]
>> >>         [virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
>> >>         Capabilities: <access denied>
>> >>         Kernel driver in use: nvidia
>> >>         Kernel modules: nvidia
>> >>
>> >> 02:00.1 Audio device: NVIDIA Corporation GF119 HDMI Audio Controller (rev a1)
>> >>         Subsystem: eVga.com. Corp. GF119 HDMI Audio Controller
>> >>         Flags: bus master, fast devsel, latency 0, IRQ 17
>> >>         Memory at fea7c000 (32-bit, non-prefetchable) [size=16K]
>> >>         Capabilities: <access denied>
>> >>         Kernel driver in use: snd_hda_intel
>> >>         Kernel modules: snd_hda_intel
>> >> _______________________________________________
>> >> Alsa-devel mailing list
>> >> Alsa-devel at alsa-project.org
>> >> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>> >>
>>


More information about the Alsa-devel mailing list