Hi,
Right. MusE does not run /well/ if it does not have access to rtc and
realtime capabilities. Timing will be off.
Yes.. I had found this before, but I _think_ when you build muse with
rtcap, it automatically uses realtime. The -R option is a bit unclear.
For example, in my system when running muse (without jack), it does not
start, I get:
no locale <muse_en_GB>/</usr/local/share/muse/locale>
no JACK audio server found
ALSA: samplerate 44100 not available, using 48000
WARNING: Cannot lock memory:: Operation not permitted
WARNING: Cannot lock memory:: Operation not permitted
cannot set tick on /dev/rtc: Permission denied
precise timer not available
(muse was compiled for jack though, and with rtcap support).
Yep, it's a definitive bug. '-R' does not handle very well the special case
when realtime capabilities are not allowed.
when I run it with jack running, it starts fine:
no locale <muse_en_GB>/</usr/local/share/muse/locale>
JACK: sample rate changed: 44100
Also timing seems fine (as long as I have given the kernel option
sysctl -w dev.rtc.max-user-freq=1024)...
When I try to run it connected to jack with the -R startup option, it
does not start and gives me the error:
no locale <muse_en_GB>/</usr/local/share/muse/locale>
JACK: sample rate changed: 44100
creating watchdog thread failed:: Invalid argument
creating thread failed:: Illegal seek
I'm not certain, of the top of my head, what this is, which version of MusE is
it? I run MusE 0.6.3 always with -R. Is jack perhaps not started with -R ?
(it's pretty much a requirement there too)
My question is: do I need to start muse with the -R option, and what
does it do?
-R instructs MusE to set certain threads to realtime-scheduling (SCHED_FIFO)
to improve performance. This applies to the audio-thread and the midi-thread.
When you are running through Jack the audio-thread is implicitly set to
SCHED_FIFO thus removing the need. I'm not sure, however, if the same applies
to the midi-thread. In MusE-cvs '-R' is removed (since MusE now requires
Jack) so, there the question is moot.
In any case, if you are running with jack at a fairly small buffersize (<512)
the jitter will probably not be very noticable even if it's there. To make
sure there are no problems lurking about, run jack with 2048 buffers and play
something monotone, e.g. a hihat line.
/Robert