Jack modules showing real-time schedule warnings on load
Submitted by Sam P
Assigned to pul..@..op.org
Link to original bug (#107144)
Description
Overview:
During startup the module-jack-sink and module-jack-source are showing warnings regarding gaining real-time priority.
Steps to reproduce:
Start the jackdbus instance while the pulseaudio sound server is running.
Actual results:
Errors show up in the logs:
Jun 21 08:43:46 localhost pulseaudio[1988]: W: [pulseaudio] module-jack-sink.c: JACK error >Cannot use real-time scheduling (RR/15)(1: Operation not permitted)< Jun 21 08:43:46 localhost pulseaudio[1988]: W: [pulseaudio] module-jack-source.c: JACK error >Cannot use real-time scheduling (RR/15)(1: Operation not permitted)< Jun 21 08:44:40 localhost pulseaudio[2596]: W: [pulseaudio] module-jack-sink.c: JACK error >Cannot use real-time scheduling (RR/15)(1: Operation not permitted)< Jun 21 08:44:40 localhost pulseaudio[2596]: W: [pulseaudio] module-jack-source.c: JACK error >Cannot use real-time scheduling (RR/15)(1: Operation not permitted)<
Expected Results:
No warnings to be shown
Build Date & Hardware:
$ cat /etc/fedora-release Fedora release 28 (Twenty Eight) $ sudo dnf info pulseaudio-module-jack Last metadata expiration check: 0:33:22 ago on Fri 06 Jul 2018 02:43:20 PM CDT. Installed Packages Name : pulseaudio-module-jack Version : 11.1 Release : 18.fc28.1 Arch : x86_64 Size : 63 k Source : pulseaudio-11.1-18.fc28.1.src.rpm Repo : @System From repo : updates Summary : JACK support for the PulseAudio sound server URL : http://www.freedesktop.org/wiki/Software/PulseAudio License : LGPLv2+ Description : JACK sink and source modules for the PulseAudio sound server.
Additional Builds and Platforms:
I am not aware of a version where this issue has not existed
Additional Information:
I have my user added to the fedora "jackuser" group which has the following /etc/security/limits.d.conf settings:
@jackuser - rtprio 70 @jackuser - memlock 4194304
@pulse-rt - rtprio 20 @pulse-rt - nice -20
When I increase the verbosity these are the results:
I: [pulseaudio] module-jack-sink.c: Successfully connected as 'PulseAudio JACK Sink' I: [pulseaudio] module-device-restore.c: Restoring volume for sink jack_out: front-left: 45922 / 70%, front-right: 45922 / 70% I: [pulseaudio] module-device-restore.c: Restoring mute state for sink jack_out: unmuted W: [pulseaudio] sink.c: Default and alternate sample rates are the same. I: [pulseaudio] sink.c: Created sink 3 "jack_out" with sample spec float32le 2ch 48000Hz and channel map front-left,front-right I: [pulseaudio] sink.c: device.api = "jack" I: [pulseaudio] sink.c: device.description = "Jack sink (PulseAudio JACK Sink)" I: [pulseaudio] sink.c: jack.client_name = "PulseAudio JACK Sink" I: [pulseaudio] sink.c: device.icon_name = "audio-card" I: [pulseaudio] module-device-restore.c: Restoring volume for source jack_out.monitor: front-left: 65536 / 100%, front-right: 65536 / 100% I: [pulseaudio] source.c: Created source 5 "jack_out.monitor" with sample spec float32le 2ch 48000Hz and channel map front-left,front-right I: [pulseaudio] source.c: device.description = "Monitor of Jack sink (PulseAudio JACK Sink)" I: [pulseaudio] source.c: device.class = "monitor" I: [pulseaudio] source.c: device.icon_name = "audio-input-microphone" I: [pulseaudio] module-jack-sink.c: JACK thread starting up. I: [pulseaudio] core-util.c: Successfully enabled SCHED_RR scheduling for thread, with priority 9. I: [jack-sink] core-util.c: Successfully enabled SCHED_RR scheduling for thread, with priority 5. I: [pulseaudio] module-jack-sink.c: JACK buffer size changed. I: [pulseaudio] module-jack-sink.c: JACK thread starting up. I: [pulseaudio] core-util.c: Successfully enabled SCHED_RR scheduling for thread, with priority 9. W: [pulseaudio] module-jack-sink.c: JACK error >Cannot use real-time scheduling (RR/15)(1: Operation not permitted)< W: [pulseaudio] module-jack-sink.c: JACK error
JackClient::AcquireSelfRealTime error< I: [pulseaudio] module-jack-sink.c: JACK thread starting up. I: [pulseaudio] core-util.c: Successfully enabled SCHED_RR scheduling for thread, with priority 9. I: [pulseaudio] module.c: Loaded "module-jack-sink" (index: #24 (closed); argument: "connect=no channels=2"). I: [pulseaudio] module-jackdbus-detect.c: Successfully started module-jack-sink. I: [pulseaudio] module-jack-source.c: Successfully connected as 'PulseAudio JACK Source' I: [pulseaudio] module-device-restore.c: Restoring volume for source jack_in: front-left: 65536 / 100%, front-right: 65536 / 100% I: [pulseaudio] module-device-restore.c: Restoring mute state for source jack_in: unmuted W: [pulseaudio] source.c: Default and alternate sample rates are the same. I: [pulseaudio] source.c: Created source 6 "jack_in" with sample spec float32le 2ch 48000Hz and channel map front-left,front-right I: [pulseaudio] source.c: device.api = "jack" I: [pulseaudio] source.c: device.description = "Jack source (PulseAudio JACK Source)" I: [pulseaudio] source.c: jack.client_name = "PulseAudio JACK Source" I: [pulseaudio] source.c: device.icon_name = "audio-input-microphone" I: [pulseaudio] module-jack-source.c: JACK thread starting up. I: [pulseaudio] core-util.c: Successfully enabled SCHED_RR scheduling for thread, with priority 9. I: [jack-source] core-util.c: Successfully enabled SCHED_RR scheduling for thread, with priority 5. I: [pulseaudio] module-jack-source.c: JACK thread starting up. I: [pulseaudio] core-util.c: Successfully enabled SCHED_RR scheduling for thread, with priority 9. W: [pulseaudio] module-jack-source.c: JACK error >Cannot use real-time scheduling (RR/15)(1: Operation not permitted)< W: [pulseaudio] module-jack-source.c: JACK error JackClient::AcquireSelfRealTime error< I: [pulseaudio] module-jack-source.c: JACK thread starting up. I: [pulseaudio] core-util.c: Successfully enabled SCHED_RR scheduling for thread, with priority 9. I: [pulseaudio] module.c: Loaded "module-jack-source" (index: #25 (closed); argument: "connect=no channels=2"). I: [pulseaudio] module-jackdbus-detect.c: Successfully started module-jack-source.
Jack and pulse are able to startup just fine and everything appears to be "functional" but due to the nature of the beast I have concerns with the module not running at real-time priority.
I replicated the issue on a live image of Fedora 28 using the "liveuser" ensuring that it was a member of the jackuser group with minimal configuration changes.