Where to place 99-realtime.conf in Suse Leap 16.0

This may affect users of other distros

I am using OpenSuse for quite some time up to version Leap 15.6 and then (with some difficulty) transferred to Leap 16.0

Leap 16.0 is using “pipewire”.
One, for Ardour users, significant change from 15.6 to 16.0 is

/etc/security/limits.d was moved to /usr/etc/security/limits.d

/etc/security still exists

That has implications to
“ How do I configure my linux system to allow JACK to use realtime scheduling? “

When adding 99-realtime.conf to /usr/etc/security/limits.d
An admin application “ Cockpit “ is not accessible.

I do not know If Cockpit is used in other distros. If yes , they may face the some problem.

So where to place 99-realtime.conf ? According to Suse forum moderator it should be placed to /etc/security/limits.d because this location is not subject to updates/upgrades

So I did !! But Cockpit was not accessible… again !! Same Problem.

I found a work-around by adding the contents of 99-realtime.conf to 25-pw-rlimits.
( /usr/etc/security/limits.d/25-pw-rlimits ). This was an educated guess on my part. :innocent:

The amended contents of 25-pw-rlimits.conf

# This file was installed by PipeWire project for its libpipewire-module-rt.so

# It is up to the distribution/user to create the @pipewire group and to add the
# relevant users to the group.
#
# PipeWire will fall back to the RTKit DBus service when the user is not able to
# acquire RT priorities with rlimits.
#
# If the group is not automatically created, the match rule will never be true
# and this file will have no effect.
#
@pipewire   - rtprio  95
@pipewire   - nice    -19
@pipewire   - memlock 4194304
#
#
# Following Mod applied 24th April 2026 Otto Hase
#
#Ardour mod 
#
@audio  -   rtprio 99
# for rosegarden 18/9/22 and Ardour 5th Jan 2026
@audio  -   nice -15
@audio  -   memlock unlimited
#
#  End of Mod
#
# End of File
#

Your thoughts/input/comments …

best regards

Put the file in /etc/security/limits.d/
You can cut the file, the @audio part is enough. Remeber to add your user to the audio group.

1 Like

Or if the user account is part of the pipewire group already the @pipewire settings can be modified to match. Various distributions have used audio, jack, or jackuser as the group name for RT audio permissions, and recent distributions often use pipewire as the group name.
The specific name is not important, only that the user account is a member of the group, and the relevant settings for that group are set in the permissions file.

yes, but the pipewire group does not exists on openSUSE. There is a script rt-config, that does all of this. It is in the proaudio repo.

@Daniele1971
@ccaudle

What I found

  • doing nothing => Ardour complaints
  • adding 99-realtime.conf to limits.d adding group “audio” to “username”
    I get the odd Xrun
  • creating pipewire group (I think it was already there) and adding group “pipewire” to “username”
    so far no Xrun

Question, what significant do have the file names 99-xxxxx.yyy or 25-xxxx.yyy etc.
I suspect the OS looking for those prefixes ?!?

thanks

The files are loaded in numeric order, and it is possible that a higher number file will change settings previously made by a lower number file.

Using the same settings shown above? Perhaps with audio group allowing up to RT priority 99 that was interfering with the priority of the pipewire server itself.

Speaking of, I just realized that since I switched from jackd to pipewire I had not checked RTprio, and /usr/bin/pipewire doesn’t show any RT priority. That seems strange to me, I will have to investigate why that is the case and if something needs to be manually configured.
I also do not see an RT priority for the ardour application, so perhaps it is an artifact of how I formatted the ps output. Perhaps it is showing only the main ardour gui thread priority and not the audio processing thread, for example.

1 Like