Vu que pulseaudio a un accès exclusif à la carte son, je pense que tu ne peux pas partager les deux voies d’une même carte son entre deux instances de pulseaudio. Par contre, affecter des sorties, ça c’est assez simple. Je pense que dans le cas d’un démon système le fichier à modifier est le /etc/pulse/default.pa. Sinon c’est dans ~/.config/pulse/default.pa.
La première chose à faire est de récupérer la liste des périphériques alsa :
$ cat /proc/asound/cards
0 [Intel ]: HDA-Intel - HDA Intel
HDA Intel at 0xfe9fc000 irq 27
1 [HDMI ]: HDA-Intel - HDA ATI HDMI
HDA ATI HDMI at 0xfeafc000 irq 28
Et récupérer le nom entre crochet (ici, Intel ou HDMI).
Ensuite, dans le fichier default.pa, commenter la ligne :
#load-module module-udev-detect
Pour désactiver la détection automatique des périphériques.
Pour déclarer la carte son à pulseaudio. Je renomme les canaux vers les canaux auxilaires pour éviter tout problème / confusion par la suite. Théoriquement, ça ne devrait pas être nécessaire, mais j’ai eu des soucis sans, et ça simplifie grandement l’analyse en cas de problème.
Ça devrait fonctionner, par contre, il n’y a pas de droits et d’isolation : l’utilisateur du Seat1 peut très bien envoyer du son à celui du Seat0, simplement en changeant sa sortie pulseaudio. Et je ne suis pas sûr que le default-sink soit propre à l’utilisateur (à vérifier, j’ai peur que ça change la configuration pour tout le monde).
Globalement on peut faire plein de choses amusantes avec le module remap de pulseaudio, en combo avec le module combine, qui permet de fusionner plusieurs cartes sons pour en faire une multicanale. À titre personnel, je pilote mon multiroom avec (enceintes reliées en filaire à un ampli multicanal), ça fonctionne bien. La doc officielle de pulseaudio n’est pas forcément très intuitive, mais à peu près tout y est. Je crois que le reste des infos, je l’avais trouvé sur un tuto arch.
Cela dit, le plus simple, puisque tu fais déjà de l’isolation sur l’usb, est peut-être de passer par des cartes sons usb. Là ça devrait marcher out-of-the-box, chacun ne voyant que la sienne.
Mes commentaires sont en wtfpl. Une licence sur les commentaires, sérieux ? o_0
[^] # Re: Déjà fait !
Posté par whity . En réponse à la dépêche Multiseat avec des pilotes libres, non libres et systemd. Évalué à 3.
Vu que pulseaudio a un accès exclusif à la carte son, je pense que tu ne peux pas partager les deux voies d’une même carte son entre deux instances de pulseaudio. Par contre, affecter des sorties, ça c’est assez simple. Je pense que dans le cas d’un démon système le fichier à modifier est le
/etc/pulse/default.pa. Sinon c’est dans~/.config/pulse/default.pa.La première chose à faire est de récupérer la liste des périphériques alsa :
Et récupérer le nom entre crochet (ici,
IntelouHDMI).Ensuite, dans le fichier default.pa, commenter la ligne :
Pour désactiver la détection automatique des périphériques.
Rajouter ensuite la ligne suivante :
Pour déclarer la carte son à pulseaudio. Je renomme les canaux vers les canaux auxilaires pour éviter tout problème / confusion par la suite. Théoriquement, ça ne devrait pas être nécessaire, mais j’ai eu des soucis sans, et ça simplifie grandement l’analyse en cas de problème.
Ensuite, tu déclares deux sink « virtuels » :
Et tu définis celui par défaut :
(cette partie-là pouvant se faire dans le script d’initialisation de session)
Ça devrait fonctionner, par contre, il n’y a pas de droits et d’isolation : l’utilisateur du Seat1 peut très bien envoyer du son à celui du Seat0, simplement en changeant sa sortie pulseaudio. Et je ne suis pas sûr que le default-sink soit propre à l’utilisateur (à vérifier, j’ai peur que ça change la configuration pour tout le monde).
Globalement on peut faire plein de choses amusantes avec le module remap de pulseaudio, en combo avec le module combine, qui permet de fusionner plusieurs cartes sons pour en faire une multicanale. À titre personnel, je pilote mon multiroom avec (enceintes reliées en filaire à un ampli multicanal), ça fonctionne bien. La doc officielle de pulseaudio n’est pas forcément très intuitive, mais à peu près tout y est. Je crois que le reste des infos, je l’avais trouvé sur un tuto arch.
Cela dit, le plus simple, puisque tu fais déjà de l’isolation sur l’usb, est peut-être de passer par des cartes sons usb. Là ça devrait marcher out-of-the-box, chacun ne voyant que la sienne.
Mes commentaires sont en wtfpl. Une licence sur les commentaires, sérieux ? o_0