[linux-audio-user] couple of muse questions

Robert Jonsson robert.jonsson at dataductus.se
Wed Mar 24 15:44:51 EST 2004


> >
> > 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.


More information about the Linux-audio-user mailing list