Package Details: rtapp 0.9-1

Git Clone URL: https://aur.archlinux.org/rtapp.git (read-only, click to copy)
Package Base: rtapp
Description: Realtime application thread priority tuning
Upstream URL: https://www.audio-linux.com
Keywords: audio realtime
Licenses: custom
Submitter: blackhole
Maintainer: blackhole
Last Packager: blackhole
Votes: 4
Popularity: 0.000000
First Submitted: 2015-01-24 15:45
Last Updated: 2019-11-16 15:59

Dependencies (5)

Required by (0)

Sources (1)

Pinned Comments

blackhole commented on 2018-09-02 10:57

Before running rtapp for the first time or after an upgrade, take a look at the config file located at /etc/rtapp/rtapp.conf and make sure the defaults are OK.

The old configuration file is saved automatically after an upgrade to /etc/rtapp/rtapp.conf.pacsave

To start rtapp or rtjail, you must first start the systemctl timer: systemctl start rtapp.timer systemctl start rtjail.timer

Then you can enable the service at boot: systemctl enable rtapp.timer systemctl enable rtail.timer

rtapp.timer will call rtapp.service in /usr/lib/systemd/system rtjail.timer will call rtjail.service in /usr/lib/systemd/system

rtapp will check the priority of audio applications every 60 seconds. rtjail will check the cpu assignemnt of audio applications every 60 seconds. If you wanto to change this please edit OnUnitActiveSec in /usr/lib/systemd/system/rtapp.timer or /usr/lib/systemd/system/rtjail.timer

RTAPP Rtapp will monitor every minute applications defined in APPLICATIONS and will give FIFO priority defined in MAX_PRIORITY It can be configured in 3 modes: manual: the applications priority will have the value set in MAX_PRIORITY manualdec: same as manual but the priority will decrease by one step from the first to the last application auto: the value will be a step (RTIRQ_PRIO_DECR) under the minimum value of priority set by rtirq (this value depends on the number of items in RTIRQ_NAME_LIST and the number of audio hardware connected to the same USB bus) autodec: same as auto but the priority will decrease by one step from the first to the last application

Example:


Here you can list the applications that you want to give realtime priority

APPLICATIONS="jackd mpd hqplayer hqplayerd RoonAppliance RoonBridge sox mediacenter24 networkaudiod deadbeef a2jmidid ardour-5.12.0 rosegarden audacity"

Maximum value MAX_PRIORITY for application priority

MAX_PRIORITY="90"

MODE="autodec"


For the variables RTIRQ_PRIO_DECR, RTIRQ_PRIO_HIGH, RTIRQ_PRIO_DECR, RTIRQ_NAME_LIST see rtirq documentatio and rtirq configuration file /etc/rtirq.conf

RTAPP is designed for working with rtirq enabled: systemctl enable rtirq

RTJAIL Rtjail will divide existing CPUs in 2 sets: one for system process, another for audio applications listed in the variable APPLICATIONS of /etc/rtapp/rtapp.conf

Your kernel line must have isolcpus parameter. Example for a 8 cores processor: isolcpus=2-7 (all cores isolated excluding 0 and 1) isolcpus=4 (only core number 4 isolated)

RTSTATUS rtstatus will show the status of irq and applications realtime priorities.

RTCARDS It is very useful for checking if your audio card is sharing IRQ with another device since it is showing the Vendor and Product names (cat /proc/interrupts instead would be useless because it will not show cards names)

RTTEST rttest will show the latency of your system using first only cyclictest (STANDARD TEST) and after both hackbench and cyclictest (STRESS TEST). The package rt-tests is a dependency. If the results of STANDARD TEST are much higher than the results of STRESS TEST and you have an Intel processor you could add a line like one of those reported below (load will incread from option 1 to 3):

1) intel_idle.max_cstate=0 2) intel_idle.max_cstate=0 processor.max_cstate=1 3) intel_idle.max_cstate=0 processor.max_cstate=1 idle=poll

to your kernel boot line Beware that in this case the CPU temperature will increase.

Latest Comments

« First ‹ Previous 1 2 3

blackhole commented on 2015-02-05 13:56

Before running rtapp, have a look at the config file located
at /etc/rtapp/rtapp.conf and make sure the defaults
are OK.

--------------------------------

For the variables RTIRQ_PRIO_DECR, RTIRQ_PRIO_HIGH, RTIRQ_PRIO_DECR, RTIRQ_NAME_LIST see rtirq documentation.

# Here you can list the applications that you want give realtime priority
# jack and jackdbus shoud not be included in this list.
APPLICATIONS="mpd hqplayer hqplayerd mediacenter20 networkaudiod deadbeef"

# Maximum value MAX_PRIORITY for application priority. This must be (RTIRQ_PRIO_DECR + 1) < MAX_PRIORITY <= (RTIRQ_PRIO_HIGH - (RTIRQ_PRIO_DECR * <number of items in RTIRQ_NAME_LIST>))
MAX_PRIORITY="80"

# manual: the applications priority will have the value set in MAX_PRIORITY
# auto: the value will be a step (RTIRQ_PRIO_DECR) under the minimum value of priority set by rtirq (this value depends on the number of items in RTIRQ_NAME_LIST and the number of audio hardware connected to the same USB bus)
# autodec: same as auto but the priority will decrease by one step from the first to the last application
MODE="auto"

-------------------------------

To start rtapp, you must first start the systemctl timer:
# systemctl start rtapp.timer

Then you can enable the service at boot:
# systemctl enable rtapp.timer

rtapp.timer will call rtapp.service in /usr/lib/systemd/system

rtapp will check the priority of audio applications every 60 seconds.
If you wanto to change this please edit OnUnitActiveSec in /usr/lib/systemd/system/rtapp.timer

RTRESET

rtreset will reset all real time priority (irq and applications) to SCHED_OTHER

RTSTATUS

rtstatus will show the status of irq and applications realtime priorities.
It is also very useful for checking if your audio card is sharing IRQ with another device since it is showing the Vendor and Product names!
(cat /proc/interrupts instead will be useless because it will not show cards names)

blackhole commented on 2015-01-28 12:53

Before running rtapp, have a look at the config file located
at /etc/rtapp/rtapp.conf and make sure the defaults
are OK.

--------------------------------
Fot the variables RTIRQ_PRIO_DECR, RTIRQ_PRIO_HIGH, RTIRQ_PRIO_DECR, RTIRQ_NAME_LIST see rtirq documentation.

# Here you can list the applications that you want give realtime priority
# jack and jackdbus shoud not be included in this list.
APPLICATIONS="mpd hqplayer hqplayerd mediacenter20 networkaudiod deadbeef"

# Maximum value MAX_PRIORITY for application priority. This must be (RTIRQ_PRIO_DECR + 1) < MAX_PRIORITY <= (RTIRQ_PRIO_HIGH - (RTIRQ_PRIO_DECR * <number of items in RTIRQ_NAME_LIST>))
MAX_PRIORITY="80"

# manual: the applications priority will have the value set in MAX_PRIORITY
# auto: the value will be a step (RTIRQ_PRIO_DECR) under the minimum value of priority set by rtirq (this value depends on the number of items in RTIRQ_NAME_LIST and the number of audio hardware connected to the same USB bus)
# autodec: same as auto but the priority will decrease by one step from the first to the last application
MODE="auto"
-------------------------------

To start rtapp, you must first start the systemctl timer:
# systemctl start rtapp.timer

Then you can enable the service at boot:
# systemctl enable rtapp.timer

rtapp.timer will call rtapp.service in /usr/lib/systemd/system

rtapp will check the priority of audio applications every 60 seconds.
If you wanto to change this please edit OnUnitActiveSec in /usr/lib/systemd/system/rtapp.timer


--> If you want to look at the resulting priorities launch rtstatus

blackhole commented on 2015-01-28 10:29

Before running rtapp, have a look at the config file located
at /etc/rtapp/rtapp.conf and make sure the defaults
are OK.

--------------------------------
Fot the variables RTIRQ_PRIO_DECR, RTIRQ_PRIO_HIGH, RTIRQ_PRIO_DECR, RTIRQ_NAME_LIST see rtirq documentation.

# Here you can list the applications that you want give realtime priority
# jack and jackdbus shoud not be included in this list.
APPLICATIONS="mpd hqplayer hqplayerd mediacenter20 networkaudiod deadbeef"

# Maximum value MAX_PRIORITY for application priority. This must be (RTIRQ_PRIO_DECR + 1) < MAX_PRIORITY <= (RTIRQ_PRIO_HIGH - (RTIRQ_PRIO_DECR * <number of items in RTIRQ_NAME_LIST>))
MAX_PRIORITY="80"

# manual: the applications priority will have the value set in MAX_PRIORITY
# auto: the value will be a step (RTIRQ_PRIO_DECR) under the minimum value of priority set by rtirq (this value depends on the number of items in RTIRQ_NAME_LIST and the number of audio hardware connected to the same USB bus)
# autodec: same as auto but the priority will decrease by one step from the first to the last application
MODE="auto"
-------------------------------

To start rtapp, you must first start the systemctl timer:
# systemctl start rtapp.timer

Then you can enable the service at boot:
# systemctl enable rtapp.timer

rtapp.timer will call rtapp.service in /usr/lib/systemd/system

rtapp will check the priority of audio applications every 60 seconds.

--> If you want to look at the resulting priorities launch rtstatus

blackhole commented on 2015-01-27 17:49

Before running rtapp, have a look at the config file located
at /etc/rtapp/rtapp.conf and make sure the defaults
are OK.

--------------------------------
Fot the variables RTIRQ_PRIO_DECR, RTIRQ_PRIO_HIGH, RTIRQ_PRIO_DECR, RTIRQ_NAME_LIST see rtirq documentation.

# Here you can list the applications that you want give realtime priority
# jack and jackdbus shoud not be included in this list.
APPLICATIONS="mpd hqplayer hqplayerd mediacenter20 networkaudiod deadbeef"

# Maximum value MAX_PRIORITY for application priority. This must be (RTIRQ_PRIO_DECR + 1) < MAX_PRIORITY <= (RTIRQ_PRIO_HIGH - (RTIRQ_PRIO_DECR * <number of items in RTIRQ_NAME_LIST>))
MAX_PRIORITY="80"

# manual: the applications priority will have the value set in MAX_PRIORITY
# auto: the value will be a step (RTIRQ_PRIO_DECR) under the minimum value of priority set by rtirq (this value depends on the number of items in RTIRQ_NAME_LIST and the number of audio hardware connected to the same USB bus)
# autodec: same as auto but the priority will decrease by one step from the first to the last application
MODE="auto"
-------------------------------

To start rtapp, you must first start the systemctl timer:
# systemctl start rtapp.timer

Then you can enable the service at boot:
# systemctl enable rtapp.timer

rtapp.timer will call rtapp.service in /usr/lib/systemd/system

rtapp will check the priority of audio applications every 60 seconds.

If you want to look at the resulting priorities:
1) rtirq status
2) ps -eLo rtprio,cmd | grep -i -e "/usr/bin/jack" -e "/usr/bin/mpd" -e "/usr/bin/deadbeef" -e "/usr/bin/mediacenter20" -e "hqplayer" -e "networkaudiod" -e ...etc.

In a future version it will be possible to check 2) with the command "rtapp status"

blackhole commented on 2015-01-27 12:26


Before running rtapp, have a look at the config file located
at /etc/rtapp/rtapp.conf and make sure the defaults
are OK.

--------------------------------
# Here you can list the applications that you want give realtime priority
APPLICATIONS="mpd hqplayer hqplayerd mediacenter20 networkaudiod deadbeef"

# Maximum value for application priority. This must be (RTIRQ_PRIO_DECR + 1) < MAX_PRIORITY <= (RTIRQ_PRIO_HIGH - (RTIRQ_PRIO_DECR * <number of items in RTIRQ_NAME_LIST>))
MAX_PRIORITY="80"

# manual: the applications priority will have the value set in MAX_PRIORITY
# auto: the value will be a step (RTIRQ_PRIO_DECR) under the minimum value of priority set by rtirq (this value depends on the number of items in RTIRQ_NAME_LIST)
# autodec: same as auto but the priority will decrease by one step from the first to the last application
MODE="auto"
-------------------------------

To start rtapp, you must first start the service unit file:
# systemctl start rtapp.timer

Then you can enable the service at boot:
# systemctl enable rtapp.timer

rtapp will check the priority of audio applications every 60 seconds.

If you want to look at the resulting priorities:
1) rtirq status
2) ps -eLo rtprio,cmd | grep -i -e "/usr/bin/jack" -e "/usr/bin/mpd" -e "/usr/bin/deadbeef" -e "/usr/bin/mediacenter20" -e "hqplayer" -e "networkaudiod"

blackhole commented on 2015-01-27 12:08

Before running rtapp, have a look at the config file located
at /etc/rtapp/rtapp.conf and make sure the defaults
are OK.

To start rtapp, you must first start the service unit file:
# systemctl start rtapp.timer

Then you can enable the service at boot:
# systemctl enable rtapp.timer

rtapp will check the priority of audio applications every 60 seconds.

If you want to look at the resulting priorities:
1) rtirq status
2) ps -eLo rtprio,cmd | grep -i -e "/usr/bin/jack" -e "/usr/bin/mpd" -e "/usr/bin/deadbeef" -e "/usr/bin/mediacenter20" -e "hqplayer" -e "networkaudiod"

blackhole commented on 2015-01-26 13:34

RTAPP

Copyright AudioLinux <audiolinux AT fastmail DOT fm>
License: GPL

2015

---------------------------------------------------------------

Before running rtapp, have a look at the config files located
at /etc/rtapp and make sure the defaults
are OK.

The value in the file /etc/rtapp/priority is the max FIFO priority for audio applications. This value cannot be equal or greater than RTIRQ_PRIO_HIGH minus RTIRQ_PRIO_DECR as in /etc/conf.d/rtirq. Note: the value in priority must be at least RTIRQ_PRIO_DECR+1
This will be the priority of jackd or jackdbus if they are running.
The other audio applications will have a priority equal to this minus the value of RTIRQ_PRIO_DECR
In rtirq configuration file you should use a line like RTIRQ_NAME_LIST="rtc usb" or RTIRQ_NAME_LIST="rtc snd".

In /etc/rtapp.conf there is a list of audio applications whose priority will be changed by rtapp. Edit this list as you wish.

To start rtapp, you must first start the service unit file:
# systemctl start rtapp.timer

Then you can enable the service at boot:
# systemctl enable rtapp.timer

rtapp will check the priority of audio applications every 60 seconds.

If you want to look at the resulting priorities:
1) rtirq status
2) ps -eLo rtprio,cmd | grep -i -e "/usr/bin/jack" -e "/usr/bin/mpd" -e "/usr/bin/deadbeef" -e "/usr/bin/mediacenter20" -e "hqplayer" -e "networkaudiod"

blackhole commented on 2015-01-25 09:08

Before running rtapp, have a look at the config files located
at /etc/rtapp and make sure the defaults
are OK.

The value in the file /etc/rtapp/priority is the max FIFO priority for audio applications.
This will be the priority of jackd or jackdbus if they are running.
The other audio applications will have a priority equal to this minus the value of RTIRQ_PRIO_DECR as in /etc/conf.d/rtirq

In /etc/rtapp.conf there is a list of audio applications whose priority will be changed by rtapp. Edit this list as you wish.

To start rtapp, you must first start the service unit file:
# systemctl start rtapp.timer

Then you can enable the service at boot:
# systemctl enable rtapp.timer

rtapp will check the priority of audio applications every 60 seconds.