$ cat /etc/security/limits.d/audio.conf
# Provided by the jackd package.
#
# Changes to this file will be preserved.
#
# If you want to enable/disable realtime permissions, run
#
# dpkg-reconfigure -p high jackd
@audio - rtprio 95
@audio - memlock unlimited
#@audio - nice -19
There must be some other file for your login manager, not just "login", but similar, which makes limits conf invalid for you. Autostatic asked what login manager are you using? What files do you have under /etc/pam.d? Or maybe /etc/pam.conf is to blame?
I never had this problem so I am bit hesitant but something over there must be wrong.
You could also allow the audio group to renice processes with the help of the limits.conf file, but since nice uses SCHED_OTHER it basically does nothing to increase the performance of a low-latency real-time audio environment that relies on SCHED_FIFO/SCHED_RR. Consult the sched_setscheduler manpage for more info on this subject.
And since you're using IceWM that rules out the desktop environment as a possible troublemaker. I've used IceWM for quite a while too, very light-weight and easy to configure with flat-file, ini-style configuration files. Good choice for doing audio stuff. But what kind of display/login manager are you using?
Regarding Audacity:
Start JACK
Start Audacity
Tick View - Toolbars - Device Toolbar
In the Device Toolbar select 'JACK Audio Connection Kit' with the 'Audio Host' combo box (default is ALSA)
briandc wrote:How can I know what prios are already set?
Thanks for your reply, AutoStatic. You and Pablo are really great!
It's "nice" to know that renice isn't necessary.
I do notice, however, that the MemLock has always remained unchanged. I have a feeling that it's a different file that needs to be modified to make it "unlimited."
As per Audacity, it is already set to Jack rather than Alsa when it opens. I did a rescan of audio devices, but no luck.
I'll try changing some setting in the mixer tonight, and see if the signal comes in.
I don't know what login manager I'm using. How do I find that?
$ cat /etc/security/limits.d/audio.conf
# Provided by the jackd package.
#
# Changes to this file will be preserved.
#
# If you want to enable/disable realtime permissions, run
#
# dpkg-reconfigure -p high jackd
@audio - rtprio 95
@audio - memlock unlimited
#@audio - nice -19
There must be some other file for your login manager, not just "login", but similar, which makes limits conf invalid for you. Autostatic asked what login manager are you using? What files do you have under /etc/pam.d? Or maybe /etc/pam.conf is to blame?
I never had this problem so I am bit hesitant but something over there must be wrong.
Yes, it is strange. My pam file gives everything you mention above, but when I run ulimit -r -l, I get different results.
Also, I'm using AntiX 12 (debian based) rather than Ubuntu. I am already part of the audio group (when I ran adduser brian audio it told me that I was already there).
When I get home tonight (8 hours from now), I'll post the files that are listed in the pam.d.
Also, I don't know how to find my login manager..
#
# The PAM configuration file for the SLiM graphical login manager
#
# Disallows other than root logins when /etc/nologin exists
# (Replaces the `NOLOGINS_FILE' option from login.defs)
auth requisite pam_nologin.so
# This module parses environment configuration file(s)
# and also allows you to use an extended config
# file /etc/security/pam_env.conf.
#
# parsing /etc/environment needs "readenv=1"
session required pam_env.so readenv=1
# locale variables are also kept into /etc/default/locale in etch
# reading this file *in addition to /etc/environment* does not hurt
session required pam_env.so readenv=1 envfile=/etc/default/locale
# Standard Un*x authentication.
@include common-auth
# This allows certain extra groups to be granted to a user
# based on things like time of day, tty, service, and user.
# Please edit /etc/security/group.conf to fit your needs
# (Replaces the `CONSOLE_GROUPS' option in login.defs)
auth optional pam_group.so
# Uncomment and edit /etc/security/time.conf if you need to set
# time restrainst on logins.
# (Replaces the `PORTTIME_CHECKS_ENAB' option from login.defs
# as well as /etc/porttime)
# account requisite pam_time.so
# Uncomment and edit /etc/security/access.conf if you need to
# set access limits.
# (Replaces /etc/login.access file)
# account required pam_access.so
# Sets up user limits according to /etc/security/limits.conf
# (Replaces the use of /etc/limits in old login)
session required pam_limits.so
# SELinux needs to intervene at login time to ensure that the process
# starts in the proper default security context.
# Uncomment the following line to enable SELinux
# session required pam_selinux.so multiple
# Standard Un*x account and session
@include common-account
@include common-session
@include common-password
#
# The PAM configuration file for the SLiM graphical login manager
#
# Disallows other than root logins when /etc/nologin exists
# (Replaces the `NOLOGINS_FILE' option from login.defs)
auth requisite pam_nologin.so
# This module parses environment configuration file(s)
# and also allows you to use an extended config
# file /etc/security/pam_env.conf.
#
# parsing /etc/environment needs "readenv=1"
session required pam_env.so readenv=1
# locale variables are also kept into /etc/default/locale in etch
# reading this file *in addition to /etc/environment* does not hurt
session required pam_env.so readenv=1 envfile=/etc/default/locale
# Standard Un*x authentication.
@include common-auth
# This allows certain extra groups to be granted to a user
# based on things like time of day, tty, service, and user.
# Please edit /etc/security/group.conf to fit your needs
# (Replaces the `CONSOLE_GROUPS' option in login.defs)
auth optional pam_group.so
# Uncomment and edit /etc/security/time.conf if you need to set
# time restrainst on logins.
# (Replaces the `PORTTIME_CHECKS_ENAB' option from login.defs
# as well as /etc/porttime)
# account requisite pam_time.so
# Uncomment and edit /etc/security/access.conf if you need to
# set access limits.
# (Replaces /etc/login.access file)
# account required pam_access.so
# Sets up user limits according to /etc/security/limits.conf
# (Replaces the use of /etc/limits in old login)
session required pam_limits.so
# SELinux needs to intervene at login time to ensure that the process
# starts in the proper default security context.
# Uncomment the following line to enable SELinux
# session required pam_selinux.so multiple
# Standard Un*x account and session
@include common-account
@include common-session
@include common-password
rtprio and memlock privileges are very important and at last, you have that part right. Now, unless you see problems, just don't worry anymore. You know you can tweak your linux endlessly, but time is scarce, isn't it.
Of course, if you enjoy the learning process associated to linux audio tweaking see the linuxmusicians wiki and read Autostatic!
Pablo wrote:rtprio and memlock privileges are very important and at last, you have that part right. Now, unless you see problems, just don't worry anymore. You know you can tweak your linux endlessly, but time is scarce, isn't it.
Of course, if you enjoy the learning process associated to linux audio tweaking see the linuxmusicians wiki and read Autostatic!
So I would say that...
Anything else I should do?
Learn ardour and enjoy the music!
Thanks so much, Pablo (and Auto Static)!
Xruns appear to be at a low now. However, new problems await me. Audacity doesn't want to cooperate with Jack for some reason, and it seems like every synth has to be connected to the external keyboard differently. (I'm now exploring QSynth, but so far have had no luck. I'd also like to use the plug-in instruments available for Qtracktor, but that's still to be seen..)