Ciao Henry,
Looks like you compiled jack yourself. Anything that ends up in /usr/local is usually the result of some custom compilation from the user.
I suggest the following :
1- make sure you uninstall any custom version of jackd if you had already compiled and installed your own. You don’t have to clean the source, just uninstall it
2- same for ardour if applicable
3- install or reinstall jackd and libraries from your package manager. Official version is 0.109.2 IIRC
4- same for ardour (2.5)
5- same for qjackctl (3.1 or 3.2)
No need to reboot if you PCI soundcard has already been detected during the last boot. Make sure it works : fire up the alsamixer from a terminal and see that things look OK (nothing muted, levels OK). I assume here that alsamixer is good enough a hardware mixer for your PCI card. Could be, depending on the chip, that envy24control is better a mixer for your card (e.g. all ice1712 based cards like M-Audio Delta serie, etc). Just make sure you have the alsa-tools or alsa-tools-gui, whatever they call the package nowadays.
Assuming that you can operate in realtime (which you can with a normal kernel, does not need to be fully preempted with Ingo Molnar’s RT patch, that’s for extreme RT operation, just make sure you have the right priviledges, granted by changing /etc/security/limits.conf where you can raise the process priority for the audio group, which you should belong to:
@audio - rtprio 99
@audio - memlock unlimited
@audio - nice -19
)
So you should now have all in hands : a working sound card and an environment which will be suitable for jack.
Before using qjackctl, let’s make sure jack works as expected. In a terminal, type :
jackd -R -P70 -dalsa -dhw:0 -r48000 -p1024 -n2
I assume here that you soundcard is already set up to 48kHz. Of course, if you want to operate at different sample rate (44.1 or 96) you have to modify your soundcard setup and launch jack with the right SR.
jack options
-R: operate in realtime mode
-P70: jackd priority level (not the same as audio processes)
-dalsa: use jack-alsa backend, so jackd talks to the alsa layer behind the stage
-dhw:0 : use hw:0 alsa device (if your PCI card is the only alsa device detected, that’s OK)
-r48000: operate jackd at 48kHz sample rate
-p1024: number of frames per period,
-n2: the number of periods, so buffer is 2x1024=2048
That’s the most basic jack setting in realtime mode. If everything works, you should get something like that in the terminal :
jackd 0.109.2
Copyright 2001-2005 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK compiled with System V SHM support.
loading driver …
apparent rate = 48000
creating alsa driver … hw:0|hw:0|1024|2|48000|0|0|nomon|swmeter|-|32bit
control device hw:0
configuring for 48000Hz, period = 1024 frames (21.3 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 16bit little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 32bit little-endian
ALSA: use 2 periods for playback
I have a dedicated linux DAW but sometimes I use my laptop to quickly check things. The soundchip is an intel ICH4 (not the most recent HDA stuff) and I have a good performance with generic kernel, realtime mode and the previous jack setting except I set n=3 instead (3 periods).
OK, if you get that far, in another terminal, launch ardour2 :
ardour2
Then you should be in business.