Respostas:
Não chegando a uma resposta completa, mas alguns pensamentos sobre esse assunto.
Vamos dar uma olhada no lado do hardware: infelizmente, os esquemas não são úteis para o Pi B + e nem estão disponíveis para o Pi2, por isso estamos presos ao B Rev 2.1 aqui por enquanto.
A saída de áudio do fone de ouvido é gerada pelo PWM. Desde os pinos 40 e 45 do GPIO do BCM2835 através de um filtro passa-baixo RC. (Veja esquemas , página 2.)
O áudio no HDMI, por outro lado, é supostamente transmitido digitalmente. A Wikipedia afirma: "Para áudio digital, se um dispositivo HDMI tiver áudio, é necessário implementar o formato da linha de base: PCM estéreo (não compactado)." E, de fato, o áudio analógico baseado em PWM mencionado anteriormente não é alimentado pelo conector HDMI.
Então agora verificamos algumas notícias antigas: conector de fones de ouvido analógico e HDMI digital. Do meu ponto de vista, esses dois devem ser abordados separadamente e independentemente, assim também (quase) simultaneamente. Agora PulseAudio
deve poder transmitir de uma fonte para várias peças de hardware de som. Ainda me pergunto por que não há nada para encontrar na web sobre isso.
Eu adoraria poder fazer a mesma coisa também. Pelo menos tento contribuir com essa tendência com algumas idéias que esperam um eventual desenvolvimento cooperativo.
O que me vem à cabeça é que talvez possa (e deva) haver duas instâncias do módulo do driver carregadas em paralelo, cada uma para uma rota de sinal. No entanto, isso exigiria alguns parâmetros no nível do módulo do kernel, como na amostra ideal abaixo, cada um criando um dispositivo ALSA (número 0 para HDMI e 3 para fones de ouvido na amostra). Você pode enviar algum som para um e outro para o outro (ou copiar para ambos).
Tentei no google a página inicial do código-fonte do módulo snd_bcm2835 (para avaliar a viabilidade do patch simples), mas sem sorte (e tempo), então desisti por enquanto. Se alguém encontrar a fonte e contribuir com o link, analisarei isso novamente.
NOTA !!! A seguir, é apenas uma amostra ideal dos comandos de carregamento do módulo do kernel. No software Raspberry Pi atual, esses parâmetros (AFAIK) não existem!
modprobe snd_bcm2835 out=hdmi alsa=0
modprobe snd_bcm2835 out=ear alsa=3