Deixe-me repetir: Um único programa ou grupo de programas A (jogo) deve produzir som tanto para o OBS quanto para o fone de ouvido, enquanto outro único programa ou grupo de programas B (bate-papo) só deve emitir som para o fone de ouvido, no nível Pulseaudio. Correto?
Não use snd-dummy
, ele funciona no nível da ALSA. Em vez disso, crie um "nulo sink" no nível Pulseaudio:
pacmd load-module module-null-sink sink_name=game_sink sink_properties=device.description=Game-Sink
Use pavucontrol
ou, se for possível, a configuração de som do sistema operacional elementar para alternar todas as saídas de som do grupo A para esse coletor. Cada coletor em Pulseaudio vem com uma fonte "monitor" correspondente (você pode ver aqueles no menu OBS que você incluiu), então configure o OBS para gravar em "Monitor of Game Sink".
Ela cuida da gravação apenas do grupo A, mas não a envia para os fones de ouvido. Para isso, você precisa de um loopback da origem do monitor mencionada para o coletor de fone de ouvido:
pacmd load-module module-loopback source="game_sink.monitor" sink="your-headphone-sink"
Você pode descobrir os nomes de todos os sumidouros, incluindo o coletor de fone de ouvido, com
pacmd list-sinks | grep name:
Deixe de fora os colchetes angulares ao usar os nomes como argumentos.