https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/patch/sound/pci
/hda/patch_realtek.c?id=c3e837bbcc03e39991da5dd1f791c06cde9f7a45
When the static model were used, the jack was configured as line out instead of headphone jack and there is no headphone playback volume
That's rather "relevant change". Good job in finding it. I would like such configuration (or better) back.
I don't see any side effect neither with your changes to hda_generic nor
with vanilla kernel, but I don't know what problems should I expect.
Do headphone get same volume level when the jack is configured as Line Out (without enable Headphone Amplifier) ?
The driver use different automute method when the jack is configured as HP and Line Out
https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pc...
https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pc... http://cgit.freedesktop.org/pulseaudio/pulseaudio/tree/src/modules/alsa/mixe...
if you look at speaker.conf , lineout.conf and headphone.conf, it seem pulseaudio is unlikely mute all internal speakers when one pair of the playback volume control need to be shared by internal speaker and external speakers
you need dirver 's automute instead of pulseaudio 's automute
==> Best config: lo_type=2, wired=1, mio=1 multi_outs = 15/0/0/0 : 2/3/4/0 (type HP) out path: depth=3 '02:0c:15' multi_ios(2) = 1a/18 : 3/4 mio path: depth=3 '03:0d:1a' mio path: depth=3 '04:0e:18' spk_outs = 14/17/16/0 : 5/25/4/0 spk path: depth=3 '05:0f:14' spk path: depth=3 '25:26:17' spk path: depth=3 '04:0e:16'
https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pc...
when line out type == AUTO_PIN_HP_OUT
should first do_mute() use speaker_path instead of out_path https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pci/hda/hda_generic.c?id=7385df6134888553b5ede71cd573ffe0429e2a80
I started MS Windows and without externals speakers plugged in I
could test
5.1 configuration and it seemed that sound was coming from
different directions.
What I managed to determine: I've got 3 stacks: 1 ST: Headphone, Line-out (FL and FR), SPDIF 2 ST: Microphone, Line-out (CLFE) 3 ST: Line-in, Line-out (RL and RR)
I've got 5 responsive output pins PIN 0x14: Internal FL FR PIN 0x15: External FL FR PIN 0x17: Internal LFE PIN 0x18: External CLFE PIN 0x1a: External RL RR
How can we make it work with these information?
speaker-test -Dhw:0,0 -c6 -t wav
https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/plain/Documenta...
[1]
seem chnmap type _FIXED , _VAR and _PAIRED does not fit when LFE and FC can be swapped for internal speaker and external speaker
Right, you can't do it with a single map of one of those types.
http://git.alsa-project.org/?p=alsa-utils.git&a=search&h=HEAD&st...
do chmap of internal speakers need {FL FR RL RR LFE NA} ?
http://git.alsa-project.org/?p=alsa-lib.git&a=search&h=HEAD&st=c...
as set_chmap() still not yet implemented in pcm_route.c
do speaker-test need to specify channel map when using those odd number channels ?
speaker-test -D surround21 -c3 -t wav speaker-test -D surround41 -c5 -t wav -mFL,FR,RL,RR,LFE speaker-test -D surround50 -c5 -t wav
http://git.alsa-project.org/?p=alsa-utils.git;a=commitdiff;h=7b14c00b56784f6...
this example seem not working
speaker-test -c2 -t wav -Dplug:front -mFR,FL
https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/pc...
[2]
How do the driver implement channel map when codec has swap center/lfe switch ?
Do chmap contain both {FL FR RL RR FC LFE} and {FL FR RL RR LFE FC} ?
If you want to provide support for userspace doing it both ways, then
yes, you need those two _FIXED maps.
Can chmap contain two _FIXED maps of same number of channels ?