Let me reformulate the mystery: one pd executable is able to get real time priority while another is not, on the same system and started by the same user belonging to group audio.
Raspbian is now indeed distributed with real time priority set by default for audio group (thanks Chris for pointing that out), with user pi as member of audio group. These are the settings which should give real time priority for pd.
But the point is, these settings do not work for a 'local install' like when you put a build from Miller's site in your home dir, even while you do get real time priority for puredata when installed from Raspbian repository, or Pd-extended from apt.puredata.info.
There's good reason to use Miller's latest build on Raspberry Pi. Puredata is debian-packaged vanilla, and wheezy has an outdated version (0.43). For one thing, that version doesn't handle subnormals properly on armv6, which may under certain conditions eat all CPU time. Miller has fixed that almost two years ago. With puredata 0.46.2 from jessie, you have best of both worlds: real time priority and no subnormals bug. However Raspbian jessie is not yet released.
Following IOhannes' guidelines in an earlier thread I built the .deb packages from jessie source. That works great, but still it's quite a detour and in particular for new users there should be an easier way to get pd working properly on Raspberry Pi. If there's a trick to get real time priority for a build in home directory (apart from running as root), that would be great. I've always wondered, how does the system know that puredata is an audio process? Maybe that's where it goes wrong with the local build?
Katja
On Tue, Dec 2, 2014 at 7:36 AM, Chris McCormick chris@mccormick.cx wrote:
On 02/12/14 14:20, Chris McCormick wrote:
Also I'm not sure if group audio gets realtime permission by default on Raspian - that's another thing I'd need to dig up my pi to check...
Is this something that is set in /etc/security/limits.conf? That file is empty except for comments.
pi@razor ~ $ cat /etc/security/limits.d/audio.conf
@audio - rtprio 95 @audio - memlock unlimited #@audio - nice -19
So it looks to me like it has the right realtime settings by default.
Cheers,
Chris.