SCHED_RR и SCHED_FIFO работают только с "вытесняющим ядром"?

Повторюсь :Одна программа или группа программ А (игра )должна выводить звук как на ОБС, так и на наушники, а другая отдельная программа или группа программ Б (голосовой чат )должен выводить звук только на наушники, все на уровне 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:

Опускайте угловые скобки при использовании имен в качестве аргументов.

0
01.10.2019, 02:20
1 ответ

SCHED_FIFO и SCHED_RRподдерживаются стандартным ядром Linux, патчи PREEMPT _RT не требуются. См. справочную страницу sched(7)для получения подробной информации о политиках планирования ядра.

Патчи PREEMPT _RT уменьшают задержку ядра, позволяя выполнять вытеснение даже в большем количестве мест, чем основное ядро ​​в настоящее время поддерживает :критические секции, обработчики прерываний, секции, которые работают с отключенными прерываниями... -рабочие нагрузки по времени, так как меньше вероятность того, что непрерываемая секция задержит событие -времени в реальном времени.

0
28.01.2020, 03:14

Теги

Похожие вопросы