Source code and binaries for linux/windows/osx here:
https://github.com/kmatheussen/KillJack
BACKGROUND
----------
The Jack server sometimes crashes/freezes in ways which make users
restart the computer in order to use Jack again.
Users don't really have to restart the computer, but googling the
problem and finding a solution could take more time than restarting.
This is not very user friendly.
The problem exists on all platforms. It's not a bug in Jack per se,
it's how the program reacts when a client misbehave in certain ways.
ABOUT
-----
This program kills Jack unconditionally. Executables for Linux, MacOS,
and Windows are provided. I strongly recommend that all programs using
Jack includes a program like this.
A better solution would be if Jack ran a watchdog, but it currently doesn't.
You are allowed to distribute this program any way you want. [1]
[1] Note that there might be copyright issues with the icon and the
quotes from the movie.
Hi,
a few days ago, I ran into <
https://github.com/NixOS/nixpkgs/issues/96548>. I'm trying to cross-
compile JACK on x86-64 for ARMv7 and it fails. But I'm not 100% sure if
this is a NixOS packaging problem or if JACK can be cross compiled at
all. So please have a quick look at it and tell me if I should open an
issue on JACK itself instead.
Regards,
piegames
Greetings!
I realise this may be considered a form of heresy, but I am attempting to get jack running with a dummy backend on Ubuntu 18.04 under windows subsystem for linux 2 (WSL2). Remarkably this does actually work. However, only if I execute jack as root (i.e. using sudo) can it obtain permissions for real-time scheduling, which is not ideal.
I think I have all the normal Ubuntu settings in place but don’t know what differences might exist between normal Ubuntu and the version that exists with WSL2.
The output of running realtimeconfigquickscan is pasted below, Does anyone have any pointers of where to look?
Many thanks,
Alastair
P.S. Apologies if this or something like it has been discussed before. Is there a way to search the archives of this list that I am missing?
$ perl ./realTimeConfigQuickScan.pl
== GUI-enabled checks ==
Checking if you are root... no - good
Checking filesystem 'noatime' parameter... 4.19.104 kernel - good
(relatime is default since 2.6.30)
cat: /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor: No such file or directory
cat: /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor: No such file or directory
cat: /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor: No such file or directory
cat: /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor: No such file or directory
cat: /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor: No such file or directory
cat: /sys/devices/system/cpu/cpu5/cpufreq/scaling_governor: No such file or directory
cat: /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor: No such file or directory
cat: /sys/devices/system/cpu/cpu7/cpufreq/scaling_governor: No such file or directory
Checking CPU Governors... CPU 0: '' CPU 1: '' CPU 2: '' CPU 3: '' CPU 4: '' CPU 5: '' CPU 6: '' CPU 7: '' - not good
Set CPU Governors to 'performance' with 'cpupower frequency-set -g performance' or 'cpufreq-set -c <cpunr> -g performance' (Debian/Ubuntu)
See also: http://linuxmusicians.com/viewtopic.php?f=27&t=844
Checking swappiness... 60 - not good
** vm.swappiness is larger than 10
Set swappiness by adding 'vm.swappiness=10' to /etc/sysctl.conf and rebooting
Checking for resource-intensive background processes... none found - good
Checking checking sysctl inotify max_user_watches... >= 524288 - good
Checking access to the high precision event timer... not found - not good
/dev/hpet not found.
Checking access to the real-time clock... not found - not good
/dev/rtc not found (perhaps create a symlink?).
Checking whether you're in the 'audio' group... yes - good
Checking for multiple 'audio' groups... no - good
chrt: failed to set pid 0's policy: Operation not permitted
Checking the ability to prioritize processes with chrt... no - not good
Could not assign a 80 rtprio SCHED_FIFO value. Set up limits.conf.
For more information, see http://wiki.linuxaudio.org/wiki/system_configuration#limitsconfaudioconf
Checking kernel support for high resolution timers... found - good
Kernel with Real-Time Preemption... not found - not good
Kernel without 'threadirqs' parameter or real-time capabilities found
For more information, see https://wiki.linuxaudio.org/wiki/system_configuration#do_i_really_need_a_re…
Checking if kernel system timer is high-resolution... found - good
Checking kernel support for tickless timer... found - good
== Other checks ==
Checking filesystem types... ok.
** Set $SOUND_CARD_IRQ to the IRQ of your soundcard to enable more checks.
Find your sound card's IRQ by looking at '/proc/interrupts' and lspci.
The FFADO project announces the availability of FFADO version 2.4.4.
This is a non-critical update. The only change since version 2.4.3 is the
disabling of the optional device registration dialog. The data gathered is
of peripheral value these days, making its ongoing collection unnecessary.
FFADO version 2.4.4 is available as a tarball:
http://ffado.org/files/libffado-2.4.4.tgz
Formal release notes are at
http://ffado.org/posts/ffado-2.4.4-release/
Regards
Jonathan
(on behalf of the FFADO project)
Hi all,
the MOTU Ultralite AVB is a great USB audio interface that has a lot of
connections, in/outs and a buitlin mixer plus effects that can be
controlled by a web browser. Great for Linux users.
With old firmwares up to 1.3.4+558 the interface runs halfway ok on
older Linux kernels. More recent firmware uses an USB endpoint with
implicit feedback. That can be handled with linux-5.8-rc6.
With the attached kernel patch the MOTU Ultralite AVB (older model
without ESS chips) runs halfway ok with this kernel.
But from time to time the output hops modulo 8 when used with jackd:
system:playback_1 -> ends up at 9 in the interface
system:playback_2 -> ends up at 10 in the interface
I can force such a hop by changing the buffer size on the fly with
jack_bufsize. I think that every little hickup on USB confuses jackd.
My workaround is connecting system:playback_1,9,17 and 2,10,18
Stopping/starting jackd (1.9.12) resets everything.
So I am asking myself: Can this problem be fixed in jackd or is it a
problem in ALSA?
Regards
Holger
A small heads-up for developers, JACK-Session API has now officially
been marked as deprecated.
I have been working together with other members of linuxaudio community
to get a better session-management API out there.
We previously had difficulties with this due to issues regarding the
upstream project.
It was obvious to us that the NSM API is superior to all others that
came before it (thanks to the initial hard work of its author, Jonathan),
but working with upstream has proven immensely difficult or even
impossible..
As of a few weeks ago, a few members of the linuxaudio group decided to
fork the original NSM project and make a new one.
The acronym remains, so we still call it "NSM", but the new project is
now "New Session Manager" while the original is "Non Session Manager".
We are working together with the community to make this
session-management API and tools the best as they can be.
(The original was a bit lacking on the user-experience side of things..)
You can find more about the "New Session Manager" project at
https://linuxaudio.github.io/new-session-manager/
This includes links to the source code, bug/issue tracker and documentation.
Please give it a look, or better, a chance.
For now it is specific to POSIX systems like Linux and BSD, but it can
be extended in the future.
If we manage to make (Audio) Session Management really work in Linux,
that is already a big step up from other tools/APIs that came before it.
We recommend all JACK application developers to implement NSM in their
software.
Thank you.
Hello,
I am working on a Voip-like application using JackAudio. I have used
blocking API from PulseAudio and wasn't satisfied with its latency(that's
why I turned to JackAudio). However, working with Jack's callback style is
confusing since I do not manually create the threads and that they are
implicit.
My question is how do I create two separate threads with callbacks so that
one thread can receive data and the other thread can send data across a
network? Is there any blocking API available instead of callbacks?
>
>
> I use the example here :
> https://github.com/jackaudio/example-clients/blob/master/simple_client.c
> I am only able to hear playback sound from my left speaker. I tried it on
> two different computers with Ubuntu 20.04 LTS. What might be causing the
> problem? Have you tried it on other OS's other than Ubuntu?
>
> Thanks,
>
> This example is a mono example. To get stereo processing you'll need to
add additional input and output ports.
Hello
I use the example here :
https://github.com/jackaudio/example-clients/blob/master/simple_client.c
I am only able to hear playback sound from my left speaker. I tried it on
two different computers with Ubuntu 20.04 LTS. What might be causing the
problem? Have you tried it on other OS's other than Ubuntu?
Thanks,