* Missing surround channels with Nvidia HDMI & snd-hda-intel driver @ 2017-11-12 18:01 VDR User 2017-11-13 16:40 ` Takashi Iwai 0 siblings, 1 reply; 15+ messages in thread From: VDR User @ 2017-11-12 18:01 UTC (permalink / raw) To: mailing list: alsa-dev 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. 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 ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Missing surround channels with Nvidia HDMI & snd-hda-intel driver 2017-11-12 18:01 Missing surround channels with Nvidia HDMI & snd-hda-intel driver VDR User @ 2017-11-13 16:40 ` Takashi Iwai 2017-11-13 17:18 ` VDR User 0 siblings, 1 reply; 15+ messages in thread From: Takashi Iwai @ 2017-11-13 16:40 UTC (permalink / raw) To: VDR User; +Cc: mailing list: alsa-dev 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@alsa-project.org > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Missing surround channels with Nvidia HDMI & snd-hda-intel driver 2017-11-13 16:40 ` Takashi Iwai @ 2017-11-13 17:18 ` VDR User 2017-11-13 19:03 ` Takashi Iwai 0 siblings, 1 reply; 15+ messages in thread From: VDR User @ 2017-11-13 17:18 UTC (permalink / raw) To: Takashi Iwai; +Cc: mailing list: alsa-dev 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? -Derek On Mon, Nov 13, 2017 at 8:40 AM, Takashi Iwai <tiwai@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@alsa-project.org >> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel >> ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Missing surround channels with Nvidia HDMI & snd-hda-intel driver 2017-11-13 17:18 ` VDR User @ 2017-11-13 19:03 ` Takashi Iwai 2017-11-14 15:22 ` VDR User 0 siblings, 1 reply; 15+ messages in thread From: Takashi Iwai @ 2017-11-13 19:03 UTC (permalink / raw) To: VDR User; +Cc: mailing list: alsa-dev 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@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@alsa-project.org > >> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel > >> > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Missing surround channels with Nvidia HDMI & snd-hda-intel driver 2017-11-13 19:03 ` Takashi Iwai @ 2017-11-14 15:22 ` VDR User 2017-11-14 22:21 ` VDR User 0 siblings, 1 reply; 15+ messages in thread From: VDR User @ 2017-11-14 15:22 UTC (permalink / raw) To: Takashi Iwai; +Cc: mailing list: alsa-dev 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@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@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@alsa-project.org >> >> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel >> >> >> ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Missing surround channels with Nvidia HDMI & snd-hda-intel driver 2017-11-14 15:22 ` VDR User @ 2017-11-14 22:21 ` VDR User 2017-11-15 9:53 ` Takashi Iwai 0 siblings, 1 reply; 15+ messages in thread From: VDR User @ 2017-11-14 22:21 UTC (permalink / raw) To: Takashi Iwai; +Cc: mailing list: alsa-dev It just tried kernel 4.6-rc1 and the problem is present there as well. Is there a list of patches between stable kernel 4.5.7 and 4.6-rc1 somewhere? I can try to revert each of them one at a time if so. Unless someone has any better idea to narrow this down to the offending commit? Thanks Derek On Tue, Nov 14, 2017 at 7:22 AM, VDR User <user.vdr@gmail.com> wrote: > 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@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@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@alsa-project.org >>> >> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel >>> >> >>> ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Missing surround channels with Nvidia HDMI & snd-hda-intel driver 2017-11-14 22:21 ` VDR User @ 2017-11-15 9:53 ` Takashi Iwai 2017-11-15 16:34 ` VDR User 0 siblings, 1 reply; 15+ messages in thread From: Takashi Iwai @ 2017-11-15 9:53 UTC (permalink / raw) To: VDR User; +Cc: mailing list: alsa-dev On Tue, 14 Nov 2017 23:21:13 +0100, VDR User wrote: > > It just tried kernel 4.6-rc1 and the problem is present there as well. > Is there a list of patches between stable kernel 4.5.7 and 4.6-rc1 > somewhere? I can try to revert each of them one at a time if so. > Unless someone has any better idea to narrow this down to the > offending commit? There were a significant amount of changes between 4.5 and 4.6 regarding HD-audio HDMI/DP due to DP-MST support and the movement of chmap stuff into sound/hda. Both can be a culprit... For checking the former, could you try the following? - Checkout 4.5.7 git branch - merge (not cherry-pick) the commit 022f344b41a5 % git merge 022f344b41a5 This will bring DP-MST changes on top of 4.5.7. Then build this and check whether it shows the problem. If yes, you can easily bisect between 4.5.7 and here. If it doesn't show a problem, the problem is in the rest changes in 4.6-rc1. thanks, Takashi > > Thanks > Derek > > On Tue, Nov 14, 2017 at 7:22 AM, VDR User <user.vdr@gmail.com> wrote: > > 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@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@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@alsa-project.org > >>> >> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel > >>> >> > >>> > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Missing surround channels with Nvidia HDMI & snd-hda-intel driver 2017-11-15 9:53 ` Takashi Iwai @ 2017-11-15 16:34 ` VDR User 2017-11-16 5:53 ` VDR User 0 siblings, 1 reply; 15+ messages in thread From: VDR User @ 2017-11-15 16:34 UTC (permalink / raw) To: Takashi Iwai; +Cc: mailing list: alsa-dev >> It just tried kernel 4.6-rc1 and the problem is present there as well. >> Is there a list of patches between stable kernel 4.5.7 and 4.6-rc1 >> somewhere? I can try to revert each of them one at a time if so. >> Unless someone has any better idea to narrow this down to the >> offending commit? > > There were a significant amount of changes between 4.5 and 4.6 > regarding HD-audio HDMI/DP due to DP-MST support and the movement of > chmap stuff into sound/hda. > > Both can be a culprit... > > For checking the former, could you try the following? > - Checkout 4.5.7 git branch > - merge (not cherry-pick) the commit 022f344b41a5 > % git merge 022f344b41a5 > > This will bring DP-MST changes on top of 4.5.7. > > Then build this and check whether it shows the problem. If yes, you > can easily bisect between 4.5.7 and here. If it doesn't show a > problem, the problem is in the rest changes in 4.6-rc1. Hi Takashi, I did: git clone https://github.com/torvalds/linux.git cd linux git checkout 022f344b41a5 After compiling, audio is working correctly with that commit: ~$ 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.526391 Do you happen to known which commit I can try next that *should* have the problem so I can git bisect from there? Thanks! > thanks, > > Takashi > >> >> Thanks >> Derek >> >> On Tue, Nov 14, 2017 at 7:22 AM, VDR User <user.vdr@gmail.com> wrote: >> > 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@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@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@alsa-project.org >> >>> >> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel >> >>> >> >> >>> >> ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Missing surround channels with Nvidia HDMI & snd-hda-intel driver 2017-11-15 16:34 ` VDR User @ 2017-11-16 5:53 ` VDR User 2017-11-16 6:29 ` Takashi Iwai 0 siblings, 1 reply; 15+ messages in thread From: VDR User @ 2017-11-16 5:53 UTC (permalink / raw) To: Takashi Iwai; +Cc: mailing list: alsa-dev Ok, after doing a git bisect on the kernel tree, I wound up with: 41eb94fd26f6c150b0460e01ecc84d643355f9b6 is the first bad commit commit 41eb94fd26f6c150b0460e01ecc84d643355f9b6 Author: Vinod Koul <vinod.koul@intel.com> Date: Fri Mar 4 20:25:30 2016 +0530 ALSA: compress: fix some typos So, something must have went wrong because that commit is just spelling and grammar fixes in comments. How can I do a git bisect for just sound/ instead of the whole kernel? I assume I'd have to clone the kernel, delete sound/, then clone the alsa dev git sound/ in its place? It should be easier to git bisect in alsa, then simply recompile modules, install, load, test, and repeat until I find the offending commit right? On Wed, Nov 15, 2017 at 8:34 AM, VDR User <user.vdr@gmail.com> wrote: >>> It just tried kernel 4.6-rc1 and the problem is present there as well. >>> Is there a list of patches between stable kernel 4.5.7 and 4.6-rc1 >>> somewhere? I can try to revert each of them one at a time if so. >>> Unless someone has any better idea to narrow this down to the >>> offending commit? >> >> There were a significant amount of changes between 4.5 and 4.6 >> regarding HD-audio HDMI/DP due to DP-MST support and the movement of >> chmap stuff into sound/hda. >> >> Both can be a culprit... >> >> For checking the former, could you try the following? >> - Checkout 4.5.7 git branch >> - merge (not cherry-pick) the commit 022f344b41a5 >> % git merge 022f344b41a5 >> >> This will bring DP-MST changes on top of 4.5.7. >> >> Then build this and check whether it shows the problem. If yes, you >> can easily bisect between 4.5.7 and here. If it doesn't show a >> problem, the problem is in the rest changes in 4.6-rc1. > > Hi Takashi, > > I did: > git clone https://github.com/torvalds/linux.git > cd linux > git checkout 022f344b41a5 > > After compiling, audio is working correctly with that commit: > ~$ 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.526391 > > Do you happen to known which commit I can try next that *should* have > the problem so I can git bisect from there? > > Thanks! ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Missing surround channels with Nvidia HDMI & snd-hda-intel driver 2017-11-16 5:53 ` VDR User @ 2017-11-16 6:29 ` Takashi Iwai 2017-11-16 21:28 ` VDR User 0 siblings, 1 reply; 15+ messages in thread From: Takashi Iwai @ 2017-11-16 6:29 UTC (permalink / raw) To: VDR User; +Cc: mailing list: alsa-dev On Thu, 16 Nov 2017 06:53:37 +0100, VDR User wrote: > > Ok, after doing a git bisect on the kernel tree, I wound up with: > > 41eb94fd26f6c150b0460e01ecc84d643355f9b6 is the first bad commit > commit 41eb94fd26f6c150b0460e01ecc84d643355f9b6 > Author: Vinod Koul <vinod.koul@intel.com> > Date: Fri Mar 4 20:25:30 2016 +0530 > > ALSA: compress: fix some typos > > So, something must have went wrong because that commit is just > spelling and grammar fixes in comments. Yeah, that's very unlikely. > How can I do a git bisect for just sound/ instead of the whole kernel? > I assume I'd have to clone the kernel, delete sound/, then clone the > alsa dev git sound/ in its place? It should be easier to git bisect in > alsa, then simply recompile modules, install, load, test, and repeat > until I find the offending commit right? What you can try is to bisect like git bisect start -- sound/hda sound/pci/hda git bisect good v4.5 git bisect bad v4.6-rc1 This will concentrate only on commits in sound/hda/* and sound/pci/hda/*. You have to be careful about the kernel version to be built eventually jumping back and forth, and remember which one is installed and rebooted/retested. I usually put a different suffix string to CONFIG_LOCALVERSION at each build or set CONFIG_LOCALVERSION_AUTO to put the git commit id. Takashi > On Wed, Nov 15, 2017 at 8:34 AM, VDR User <user.vdr@gmail.com> wrote: > >>> It just tried kernel 4.6-rc1 and the problem is present there as well. > >>> Is there a list of patches between stable kernel 4.5.7 and 4.6-rc1 > >>> somewhere? I can try to revert each of them one at a time if so. > >>> Unless someone has any better idea to narrow this down to the > >>> offending commit? > >> > >> There were a significant amount of changes between 4.5 and 4.6 > >> regarding HD-audio HDMI/DP due to DP-MST support and the movement of > >> chmap stuff into sound/hda. > >> > >> Both can be a culprit... > >> > >> For checking the former, could you try the following? > >> - Checkout 4.5.7 git branch > >> - merge (not cherry-pick) the commit 022f344b41a5 > >> % git merge 022f344b41a5 > >> > >> This will bring DP-MST changes on top of 4.5.7. > >> > >> Then build this and check whether it shows the problem. If yes, you > >> can easily bisect between 4.5.7 and here. If it doesn't show a > >> problem, the problem is in the rest changes in 4.6-rc1. > > > > Hi Takashi, > > > > I did: > > git clone https://github.com/torvalds/linux.git > > cd linux > > git checkout 022f344b41a5 > > > > After compiling, audio is working correctly with that commit: > > ~$ 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.526391 > > > > Do you happen to known which commit I can try next that *should* have > > the problem so I can git bisect from there? > > > > Thanks! > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Missing surround channels with Nvidia HDMI & snd-hda-intel driver 2017-11-16 6:29 ` Takashi Iwai @ 2017-11-16 21:28 ` VDR User 2017-11-17 7:33 ` Takashi Iwai 0 siblings, 1 reply; 15+ messages in thread From: VDR User @ 2017-11-16 21:28 UTC (permalink / raw) To: Takashi Iwai; +Cc: mailing list: alsa-dev > What you can try is to bisect like > git bisect start -- sound/hda sound/pci/hda > git bisect good v4.5 > git bisect bad v4.6-rc1 Ok, did more bisect'ing. I had to skip a commit because the compile failed but other than that, this is what I wound up with: git bisect start '--' 'sound/hda' 'sound/pci/hda' # good: [fe0d128c57bf927a713159f60a18d9f315d4d91d] ALSA: jack: Allow building the jack layer without input device git bisect good fe0d128c57bf927a713159f60a18d9f315d4d91d # bad: [9b3dc8aa3fb1a5f38ca9501f20f6ea4dced10fa0] ALSA: hda - Register chmap obj as priv data instead of codec git bisect bad 9b3dc8aa3fb1a5f38ca9501f20f6ea4dced10fa0 # skip: [d61b04f801e6005182d432ebe4a0211c1d6feadd] Merge branch 'for-linus' into for-next git bisect skip d61b04f801e6005182d432ebe4a0211c1d6feadd # good: [ec75a940b1037e877efd9a5a9e94eab1e464f73b] ALSA: hda - hdmi add wmb barrier for audio component git bisect good ec75a940b1037e877efd9a5a9e94eab1e464f73b # good: [d10a80de04a3a8c0d7c1567cbc0a8d2e1181c10a] ALSA: hda - hdmi_find_pcm_slot return value bug fix git bisect good d10a80de04a3a8c0d7c1567cbc0a8d2e1181c10a # good: [6defb60ae4ffe92c29291ed49695daa255b8f559] Merge branch 'for-linus' into for-next git bisect good 6defb60ae4ffe92c29291ed49695daa255b8f559 # good: [67b90cb84be8fde0e51f71834e15c32fbec08562] ALSA: hda - Create common chmap object git bisect good 67b90cb84be8fde0e51f71834e15c32fbec08562 # first bad commit: [9b3dc8aa3fb1a5f38ca9501f20f6ea4dced10fa0] ALSA: hda - Register chmap obj as priv data instead of codec 9b3dc8aa3fb1a5f38ca9501f20f6ea4dced10fa0 is the first bad commit commit 9b3dc8aa3fb1a5f38ca9501f20f6ea4dced10fa0 Author: Subhransu S. Prusty <subhransu.s.prusty@intel.com> Date: Fri Mar 4 19:59:47 2016 +0530 ALSA: hda - Register chmap obj as priv data instead of codec With this chmap object is added as private data and new ops are added to access driver specific chmap. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> :040000 040000 11dc1a68fd79182d4e38c2a7fd73fd699dbd0685 69c05f445bc255fc02441742b091247af99fb177 M include :040000 040000 8946088a30757dfcbc1ea6badbe6ea8366b2b39f 6fcf7ce7986ffd29d3b5686ebe63168713b866ed M sound Does this sound like it could be where the bug resides?. I created a patch with `git format-patch -1 9b3dc8aa3fb1a5f38ca9501f20f6ea4dced10fa0` and tried to apply it to kernel 4.6-rc1 but I failed. I didn't bother trying to hand-reverse it because it looks like it would just cause breakage. Not sure what to do next here so I'll wait and see what you think.. -Derek > This will concentrate only on commits in sound/hda/* and > sound/pci/hda/*. You have to be careful about the kernel version to > be built eventually jumping back and forth, and remember which one is > installed and rebooted/retested. I usually put a different suffix > string to CONFIG_LOCALVERSION at each build or set > CONFIG_LOCALVERSION_AUTO to put the git commit id. > > > Takashi > >> On Wed, Nov 15, 2017 at 8:34 AM, VDR User <user.vdr@gmail.com> wrote: >> >>> It just tried kernel 4.6-rc1 and the problem is present there as well. >> >>> Is there a list of patches between stable kernel 4.5.7 and 4.6-rc1 >> >>> somewhere? I can try to revert each of them one at a time if so. >> >>> Unless someone has any better idea to narrow this down to the >> >>> offending commit? >> >> >> >> There were a significant amount of changes between 4.5 and 4.6 >> >> regarding HD-audio HDMI/DP due to DP-MST support and the movement of >> >> chmap stuff into sound/hda. >> >> >> >> Both can be a culprit... >> >> >> >> For checking the former, could you try the following? >> >> - Checkout 4.5.7 git branch >> >> - merge (not cherry-pick) the commit 022f344b41a5 >> >> % git merge 022f344b41a5 >> >> >> >> This will bring DP-MST changes on top of 4.5.7. >> >> >> >> Then build this and check whether it shows the problem. If yes, you >> >> can easily bisect between 4.5.7 and here. If it doesn't show a >> >> problem, the problem is in the rest changes in 4.6-rc1. >> > >> > Hi Takashi, >> > >> > I did: >> > git clone https://github.com/torvalds/linux.git >> > cd linux >> > git checkout 022f344b41a5 >> > >> > After compiling, audio is working correctly with that commit: >> > ~$ 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.526391 >> > >> > Do you happen to known which commit I can try next that *should* have >> > the problem so I can git bisect from there? >> > >> > Thanks! >> ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Missing surround channels with Nvidia HDMI & snd-hda-intel driver 2017-11-16 21:28 ` VDR User @ 2017-11-17 7:33 ` Takashi Iwai 2017-11-17 8:28 ` VDR User 0 siblings, 1 reply; 15+ messages in thread From: Takashi Iwai @ 2017-11-17 7:33 UTC (permalink / raw) To: VDR User; +Cc: mailing list: alsa-dev On Thu, 16 Nov 2017 22:28:17 +0100, VDR User wrote: > > > What you can try is to bisect like > > git bisect start -- sound/hda sound/pci/hda > > git bisect good v4.5 > > git bisect bad v4.6-rc1 > > Ok, did more bisect'ing. I had to skip a commit because the compile > failed but other than that, this is what I wound up with: > > git bisect start '--' 'sound/hda' 'sound/pci/hda' > # good: [fe0d128c57bf927a713159f60a18d9f315d4d91d] ALSA: jack: Allow > building the jack layer without input device > git bisect good fe0d128c57bf927a713159f60a18d9f315d4d91d > # bad: [9b3dc8aa3fb1a5f38ca9501f20f6ea4dced10fa0] ALSA: hda - Register > chmap obj as priv data instead of codec > git bisect bad 9b3dc8aa3fb1a5f38ca9501f20f6ea4dced10fa0 > # skip: [d61b04f801e6005182d432ebe4a0211c1d6feadd] Merge branch > 'for-linus' into for-next > git bisect skip d61b04f801e6005182d432ebe4a0211c1d6feadd > # good: [ec75a940b1037e877efd9a5a9e94eab1e464f73b] ALSA: hda - hdmi > add wmb barrier for audio component > git bisect good ec75a940b1037e877efd9a5a9e94eab1e464f73b > # good: [d10a80de04a3a8c0d7c1567cbc0a8d2e1181c10a] ALSA: hda - > hdmi_find_pcm_slot return value bug fix > git bisect good d10a80de04a3a8c0d7c1567cbc0a8d2e1181c10a > # good: [6defb60ae4ffe92c29291ed49695daa255b8f559] Merge branch > 'for-linus' into for-next > git bisect good 6defb60ae4ffe92c29291ed49695daa255b8f559 > # good: [67b90cb84be8fde0e51f71834e15c32fbec08562] ALSA: hda - Create > common chmap object > git bisect good 67b90cb84be8fde0e51f71834e15c32fbec08562 > # first bad commit: [9b3dc8aa3fb1a5f38ca9501f20f6ea4dced10fa0] ALSA: > hda - Register chmap obj as priv data instead of codec > > 9b3dc8aa3fb1a5f38ca9501f20f6ea4dced10fa0 is the first bad commit > commit 9b3dc8aa3fb1a5f38ca9501f20f6ea4dced10fa0 > Author: Subhransu S. Prusty <subhransu.s.prusty@intel.com> > Date: Fri Mar 4 19:59:47 2016 +0530 > > ALSA: hda - Register chmap obj as priv data instead of codec > > With this chmap object is added as private data and new ops are > added to access driver specific chmap. > > Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com> > Signed-off-by: Vinod Koul <vinod.koul@intel.com> > Signed-off-by: Takashi Iwai <tiwai@suse.de> > > :040000 040000 11dc1a68fd79182d4e38c2a7fd73fd699dbd0685 > 69c05f445bc255fc02441742b091247af99fb177 M include > :040000 040000 8946088a30757dfcbc1ea6badbe6ea8366b2b39f > 6fcf7ce7986ffd29d3b5686ebe63168713b866ed M sound > > Does this sound like it could be where the bug resides?. Thanks for the effort! Yes, it looks more likely than before. > I created a > patch with `git format-patch -1 > 9b3dc8aa3fb1a5f38ca9501f20f6ea4dced10fa0` and tried to apply it to > kernel 4.6-rc1 but I failed. I didn't bother trying to hand-reverse it > because it looks like it would just cause breakage. Not sure what to > do next here so I'll wait and see what you think.. I guess the bug is at copying the chmap data where calculating the size wrongly. A typical error of sizeof() usage. The fix would be to correct sizeof(chmap) to ARRAY_SIZE(pcm_chmap). At the commit 9b3dc8aa3fb1a5f3, it's in hdmi_chmap_ctl_get() in patch_hdmi.c, correct like: - for (i = 0; i < sizeof(chmap); i++) + for (i = 0; i < ARRAY_SIZE(pcm_chmap); i++) For the latest upstream, the relevant code was moved to sound/hda/hdmi_chmap.c, and the fix would be a patch like below. Could you check it? thanks, Takashi --- diff --git a/sound/hda/hdmi_chmap.c b/sound/hda/hdmi_chmap.c index 81acc20c2535..f21633cd9b38 100644 --- a/sound/hda/hdmi_chmap.c +++ b/sound/hda/hdmi_chmap.c @@ -746,7 +746,7 @@ static int hdmi_chmap_ctl_get(struct snd_kcontrol *kcontrol, memset(pcm_chmap, 0, sizeof(pcm_chmap)); chmap->ops.get_chmap(chmap->hdac, pcm_idx, pcm_chmap); - for (i = 0; i < sizeof(chmap); i++) + for (i = 0; i < ARRAY_SIZE(pcm_chmap); i++) ucontrol->value.integer.value[i] = pcm_chmap[i]; return 0; ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: Missing surround channels with Nvidia HDMI & snd-hda-intel driver 2017-11-17 7:33 ` Takashi Iwai @ 2017-11-17 8:28 ` VDR User 2017-11-17 11:21 ` Takashi Iwai 0 siblings, 1 reply; 15+ messages in thread From: VDR User @ 2017-11-17 8:28 UTC (permalink / raw) To: Takashi Iwai; +Cc: mailing list: alsa-dev Hi Takashi, I can confirm that your patch does fix the bug: [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 RL RR [ao/alsa] which we understand as: 5.1 /usr/src/linux$ uname -r 4.14.0-amd /usr/src/linux$ 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.525875 Thank you for all your help to resolve this bug! -Derek On Thu, Nov 16, 2017 at 11:33 PM, Takashi Iwai <tiwai@suse.de> wrote: > On Thu, 16 Nov 2017 22:28:17 +0100, > VDR User wrote: >> >> > What you can try is to bisect like >> > git bisect start -- sound/hda sound/pci/hda >> > git bisect good v4.5 >> > git bisect bad v4.6-rc1 >> >> Ok, did more bisect'ing. I had to skip a commit because the compile >> failed but other than that, this is what I wound up with: >> >> git bisect start '--' 'sound/hda' 'sound/pci/hda' >> # good: [fe0d128c57bf927a713159f60a18d9f315d4d91d] ALSA: jack: Allow >> building the jack layer without input device >> git bisect good fe0d128c57bf927a713159f60a18d9f315d4d91d >> # bad: [9b3dc8aa3fb1a5f38ca9501f20f6ea4dced10fa0] ALSA: hda - Register >> chmap obj as priv data instead of codec >> git bisect bad 9b3dc8aa3fb1a5f38ca9501f20f6ea4dced10fa0 >> # skip: [d61b04f801e6005182d432ebe4a0211c1d6feadd] Merge branch >> 'for-linus' into for-next >> git bisect skip d61b04f801e6005182d432ebe4a0211c1d6feadd >> # good: [ec75a940b1037e877efd9a5a9e94eab1e464f73b] ALSA: hda - hdmi >> add wmb barrier for audio component >> git bisect good ec75a940b1037e877efd9a5a9e94eab1e464f73b >> # good: [d10a80de04a3a8c0d7c1567cbc0a8d2e1181c10a] ALSA: hda - >> hdmi_find_pcm_slot return value bug fix >> git bisect good d10a80de04a3a8c0d7c1567cbc0a8d2e1181c10a >> # good: [6defb60ae4ffe92c29291ed49695daa255b8f559] Merge branch >> 'for-linus' into for-next >> git bisect good 6defb60ae4ffe92c29291ed49695daa255b8f559 >> # good: [67b90cb84be8fde0e51f71834e15c32fbec08562] ALSA: hda - Create >> common chmap object >> git bisect good 67b90cb84be8fde0e51f71834e15c32fbec08562 >> # first bad commit: [9b3dc8aa3fb1a5f38ca9501f20f6ea4dced10fa0] ALSA: >> hda - Register chmap obj as priv data instead of codec >> >> 9b3dc8aa3fb1a5f38ca9501f20f6ea4dced10fa0 is the first bad commit >> commit 9b3dc8aa3fb1a5f38ca9501f20f6ea4dced10fa0 >> Author: Subhransu S. Prusty <subhransu.s.prusty@intel.com> >> Date: Fri Mar 4 19:59:47 2016 +0530 >> >> ALSA: hda - Register chmap obj as priv data instead of codec >> >> With this chmap object is added as private data and new ops are >> added to access driver specific chmap. >> >> Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com> >> Signed-off-by: Vinod Koul <vinod.koul@intel.com> >> Signed-off-by: Takashi Iwai <tiwai@suse.de> >> >> :040000 040000 11dc1a68fd79182d4e38c2a7fd73fd699dbd0685 >> 69c05f445bc255fc02441742b091247af99fb177 M include >> :040000 040000 8946088a30757dfcbc1ea6badbe6ea8366b2b39f >> 6fcf7ce7986ffd29d3b5686ebe63168713b866ed M sound >> >> Does this sound like it could be where the bug resides?. > > Thanks for the effort! > Yes, it looks more likely than before. > >> I created a >> patch with `git format-patch -1 >> 9b3dc8aa3fb1a5f38ca9501f20f6ea4dced10fa0` and tried to apply it to >> kernel 4.6-rc1 but I failed. I didn't bother trying to hand-reverse it >> because it looks like it would just cause breakage. Not sure what to >> do next here so I'll wait and see what you think.. > > I guess the bug is at copying the chmap data where calculating the > size wrongly. A typical error of sizeof() usage. > > The fix would be to correct sizeof(chmap) to ARRAY_SIZE(pcm_chmap). > At the commit 9b3dc8aa3fb1a5f3, it's in hdmi_chmap_ctl_get() in > patch_hdmi.c, correct like: > > - for (i = 0; i < sizeof(chmap); i++) > + for (i = 0; i < ARRAY_SIZE(pcm_chmap); i++) > > > For the latest upstream, the relevant code was moved to > sound/hda/hdmi_chmap.c, and the fix would be a patch like below. > > > Could you check it? > > thanks, > > Takashi > > --- > diff --git a/sound/hda/hdmi_chmap.c b/sound/hda/hdmi_chmap.c > index 81acc20c2535..f21633cd9b38 100644 > --- a/sound/hda/hdmi_chmap.c > +++ b/sound/hda/hdmi_chmap.c > @@ -746,7 +746,7 @@ static int hdmi_chmap_ctl_get(struct snd_kcontrol *kcontrol, > memset(pcm_chmap, 0, sizeof(pcm_chmap)); > chmap->ops.get_chmap(chmap->hdac, pcm_idx, pcm_chmap); > > - for (i = 0; i < sizeof(chmap); i++) > + for (i = 0; i < ARRAY_SIZE(pcm_chmap); i++) > ucontrol->value.integer.value[i] = pcm_chmap[i]; > > return 0; ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Missing surround channels with Nvidia HDMI & snd-hda-intel driver 2017-11-17 8:28 ` VDR User @ 2017-11-17 11:21 ` Takashi Iwai 2017-11-17 15:24 ` VDR User 0 siblings, 1 reply; 15+ messages in thread From: Takashi Iwai @ 2017-11-17 11:21 UTC (permalink / raw) To: VDR User; +Cc: mailing list: alsa-dev On Fri, 17 Nov 2017 09:28:55 +0100, VDR User wrote: > > Hi Takashi, > > I can confirm that your patch does fix the bug: > > [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 RL RR > [ao/alsa] which we understand as: 5.1 > > /usr/src/linux$ uname -r > 4.14.0-amd > /usr/src/linux$ 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.525875 > > Thank you for all your help to resolve this bug! Great, thanks for your patient testing! FWIW, below is the patch I'm going to queue. Takashi -- 8< -- From: Takashi Iwai <tiwai@suse.de> Subject: [PATCH] ALSA: hda: Fix too short HDMI/DP chmap reporting We got a regression report about the HD-audio HDMI chmap, where some surround channels are reported as UNKNOWN. The git bisection pointed the culprit at the commit 9b3dc8aa3fb1 ("ALSA: hda - Register chmap obj as priv data instead of codec"). The story behind scene is like this: - While moving the code out of the legacy HDA to the HDA common place, the patch modifies the code to obtain the chmap array indirectly in a byte array, and it expands it to kctl value array. - At the latter operation, the size of the array is wrongly passed by sizeof() to the pointer. - It can be 4 on 32bit arch, thus too short for 6+ channels. (And that's the reason why it didn't hit other persons; it's 8 on 64bit arch, thus it's usually enough.) The code was further changed meanwhile, but the problem persisted. Let's fix it by correctly evaluating the array size. Fixes: 9b3dc8aa3fb1 ("ALSA: hda - Register chmap obj as priv data instead of codec") Reported-by: VDR User <user.vdr@gmail.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> --- sound/hda/hdmi_chmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/hda/hdmi_chmap.c b/sound/hda/hdmi_chmap.c index 81acc20c2535..f21633cd9b38 100644 --- a/sound/hda/hdmi_chmap.c +++ b/sound/hda/hdmi_chmap.c @@ -746,7 +746,7 @@ static int hdmi_chmap_ctl_get(struct snd_kcontrol *kcontrol, memset(pcm_chmap, 0, sizeof(pcm_chmap)); chmap->ops.get_chmap(chmap->hdac, pcm_idx, pcm_chmap); - for (i = 0; i < sizeof(chmap); i++) + for (i = 0; i < ARRAY_SIZE(pcm_chmap); i++) ucontrol->value.integer.value[i] = pcm_chmap[i]; return 0; -- 2.15.0 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: Missing surround channels with Nvidia HDMI & snd-hda-intel driver 2017-11-17 11:21 ` Takashi Iwai @ 2017-11-17 15:24 ` VDR User 0 siblings, 0 replies; 15+ messages in thread From: VDR User @ 2017-11-17 15:24 UTC (permalink / raw) To: Takashi Iwai; +Cc: mailing list: alsa-dev Takashi, Looks good! It's interesting to hear the final detailing of the exact cause of the problem. Many thanks, Derek On Fri, Nov 17, 2017 at 3:21 AM, Takashi Iwai <tiwai@suse.de> wrote: > On Fri, 17 Nov 2017 09:28:55 +0100, > VDR User wrote: >> >> Hi Takashi, >> >> I can confirm that your patch does fix the bug: >> >> [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 RL RR >> [ao/alsa] which we understand as: 5.1 >> >> /usr/src/linux$ uname -r >> 4.14.0-amd >> /usr/src/linux$ 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.525875 >> >> Thank you for all your help to resolve this bug! > > Great, thanks for your patient testing! > FWIW, below is the patch I'm going to queue. > > > Takashi > > -- 8< -- > From: Takashi Iwai <tiwai@suse.de> > Subject: [PATCH] ALSA: hda: Fix too short HDMI/DP chmap reporting > > We got a regression report about the HD-audio HDMI chmap, where some > surround channels are reported as UNKNOWN. The git bisection pointed > the culprit at the commit 9b3dc8aa3fb1 ("ALSA: hda - Register chmap > obj as priv data instead of codec"). The story behind scene is like > this: > > - While moving the code out of the legacy HDA to the HDA common place, > the patch modifies the code to obtain the chmap array indirectly in > a byte array, and it expands it to kctl value array. > - At the latter operation, the size of the array is wrongly passed by > sizeof() to the pointer. > - It can be 4 on 32bit arch, thus too short for 6+ channels. > (And that's the reason why it didn't hit other persons; it's 8 on > 64bit arch, thus it's usually enough.) > > The code was further changed meanwhile, but the problem persisted. > Let's fix it by correctly evaluating the array size. > > Fixes: 9b3dc8aa3fb1 ("ALSA: hda - Register chmap obj as priv data instead of codec") > Reported-by: VDR User <user.vdr@gmail.com> > Cc: <stable@vger.kernel.org> > Signed-off-by: Takashi Iwai <tiwai@suse.de> > --- > sound/hda/hdmi_chmap.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/sound/hda/hdmi_chmap.c b/sound/hda/hdmi_chmap.c > index 81acc20c2535..f21633cd9b38 100644 > --- a/sound/hda/hdmi_chmap.c > +++ b/sound/hda/hdmi_chmap.c > @@ -746,7 +746,7 @@ static int hdmi_chmap_ctl_get(struct snd_kcontrol *kcontrol, > memset(pcm_chmap, 0, sizeof(pcm_chmap)); > chmap->ops.get_chmap(chmap->hdac, pcm_idx, pcm_chmap); > > - for (i = 0; i < sizeof(chmap); i++) > + for (i = 0; i < ARRAY_SIZE(pcm_chmap); i++) > ucontrol->value.integer.value[i] = pcm_chmap[i]; > > return 0; > -- > 2.15.0 > ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2017-11-17 15:24 UTC | newest] Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-11-12 18:01 Missing surround channels with Nvidia HDMI & snd-hda-intel driver VDR User 2017-11-13 16:40 ` Takashi Iwai 2017-11-13 17:18 ` VDR User 2017-11-13 19:03 ` Takashi Iwai 2017-11-14 15:22 ` VDR User 2017-11-14 22:21 ` VDR User 2017-11-15 9:53 ` Takashi Iwai 2017-11-15 16:34 ` VDR User 2017-11-16 5:53 ` VDR User 2017-11-16 6:29 ` Takashi Iwai 2017-11-16 21:28 ` VDR User 2017-11-17 7:33 ` Takashi Iwai 2017-11-17 8:28 ` VDR User 2017-11-17 11:21 ` Takashi Iwai 2017-11-17 15:24 ` VDR User
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.