Você deve escrever um perfil personalizado que expõe todas as saídas HDMI necessárias como coletores separados.
Dê uma olhada nos perfis nos documentos do Pulseaudio, nos arquivos em /usr/share/pulseaudio/alsa-mixer/paths/
, esp. os comentários em analog-output.conf.common
.
Tudo isso é insuficientemente documentado.
Uma tentativa de fazer isso funcionar:
Modifique /usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf
e anexe algo como o seguinte:
[Profile output:analog-stereo+output:hdmi-stereo+output:hdmi-stereo+output:hdmi-stereo]
description = Foobar
output-mappings = analog-stereo hdmi-stereo hdmi-stereo-extra1 hdmi-stereo-extra2
input-mappings =
Em seguida, reinicie o pulso como o usuário comum da área de trabalho:
pulseaudio --kill; sleep 1; pulseaudio --start
Defina o cartão para usar o novo perfil:
pacmd set-card-profile 0 output:analog-stereo+output:hdmi-stereo+output:hdmi-stereo+output:hdmi-stereo
Agora, pacmd list-sinks
mostra um coletor distinto para cada porta identificada no novo perfil.
A última coisa que precisa ser feita é descobrir como não mexer com o arquivo do sistema. Seria bom fazer isso através de um arquivo em ~/.config/pulse
, se possível.
Editar
Aqui é uma descrição como configurar um novo perfil para um dispositivo USB M-Audio .. Eu também desenterrei o que eu fiz, isso é uma pequena variação disso (eu não gosto de modificar arquivos existentes, eles tendem a ser sobrescritos por atualizações de pacotes):
Eu adiciono um novo arquivo /etc/udev/rules.d/91-pulseaudio.rules
com o seguinte conteúdo:
# Custom Profile for onboard Intel 8086:12c0
SUBSYSTEM!="sound", GOTO="xpulseaudio_end"
ACTION!="change", GOTO="xpulseaudio_end"
KERNEL!="card*", GOTO="xpulseaudio_end"
SUBSYSTEMS=="pci", ATTRS{vendor}=="0x8086", ATTRS{device}=="0x1c20", ENV{PULSE_PROFILE_SET}="my-personal.conf"
LABEL="xpulseaudio_end"
Isso é principalmente uma cópia de /lib/udev/rules.d/90-pulseaudio.rules
.
Como essa é uma placa de som onboard, essas regras devem ser executadas na inicialização, portanto, elas devem estar no initrd
que seu kernel usa. Eu compilo meu próprio kernel, e make-kpkg
copia essas regras, então isso não foi um problema para mim.
Em seguida, adicione um novo arquivo /usr/share/pulseaudio/alsa-mixer/profile-sets/my-personal.conf
, onde você poderá listar a configuração desejada (copiar e modificar a partir dos outros arquivos de configuração).