Повторюсь :Одна программа или группа программ А (игра )должна выводить звук как на ОБС, так и на наушники, а другая отдельная программа или группа программ Б (голосовой чат )должен выводить звук только на наушники, все на уровне Pulseaudio. Правильный?
Не используйте snd-dummy
, это работает на уровне ALSA. Вместо этого создайте «нулевой приемник» на уровне Pulseaudio :
pacmd load-module module-null-sink sink_name=game_sink sink_properties=device.description=Game-Sink
Используйте pavucontrol
или, если это возможно, звуковую конфигурацию elementary OS, чтобы переключить все звуковые выходы группы A на этот приемник. Каждый приемник в Pulseaudio поставляется с соответствующим «мониторным» источником (, вы можете увидеть их в меню OBS, которое вы включили ), поэтому настройте OBS для записи с «Монитора игрового приемника».
Это обеспечивает запись только из группы A, но не выводит ее на наушники. Для этого вам понадобится петля от упомянутого источника монитора до приемника наушников :
.pacmd load-module module-loopback source="game_sink.monitor" sink="your-headphone-sink"
Вы можете узнать названия всех приемников, включая приемник для наушников, с помощью
pacmd list-sinks | grep name:
Опускайте угловые скобки при использовании имен в качестве аргументов.
SCHED_FIFO
и SCHED_RR
поддерживаются стандартным ядром Linux, патчи PREEMPT _RT не требуются. См. справочную страницу sched(7)
для получения подробной информации о политиках планирования ядра.
Патчи PREEMPT _RT уменьшают задержку ядра, позволяя выполнять вытеснение даже в большем количестве мест, чем основное ядро в настоящее время поддерживает :критические секции, обработчики прерываний, секции, которые работают с отключенными прерываниями... -рабочие нагрузки по времени, так как меньше вероятность того, что непрерываемая секция задержит событие -времени в реальном времени.