Ardour "Jack" issue on Jaunty

This is probably something stupid, but I have the following situation:

First, as you will be able to tell, I am new to Linux. I am a recovering Pro Tools Mac and Windows person…

I have installed Ardour on an Intel Duo Core Mac Mini (as a low cost test system) running a clean install of Jaunty. When I launch Ardour from the icon (and have NOT launched Jack CTL beforehand) Ardour launches fine, runs fine, and plays through the built-in sound card on the mobo of the Mac Mini. However …

I have been attempting to use my Zoom H4n as a “sound card” so I wanted to route the audio out through the Zoom H4 (which connects via USB). When I set the options from Jack Control, then launch Ardour, I get the error message "Cannot use real time scheduling (Fifo …) etc. which I understand is a kind of “permissions” issue with users and the root. OK, understand that.

So, I ran qjackctl from the terminal with a SUDO to launch from the root. Then I changed the interface in the Jack Control to the H4 usb device, saved, quit, launched qjackctl again from the terminal, then launched Ardour from the terminal as well.

This generates the error message: Alsa: could not start playback (broken pipe).

When I follow this same procedure but choose the Intel Audio instead of the H4, I get a message that Jack is already running.

Again, the simple launch from Jaunty’s menu works, so I am going to experiment with Ardour running through the built-in audio. But I would like to use Jack Control.

Can anyone help me trouble shoot this? I have found others with the same issue, have read through many posts, but nothing that seems to really cover this situation. Thank you for any help.

Welcome :slight_smile:

AFAIK never run an application with sudo…

Maybe you should add your user to the audio group?

$ sudo adduser username audio

and log out/log in

If that doesn’t help maybe you can run this script an post output (not all warnings of the script are very important)

linuxmusicians.com/viewtopic.php?f=27&t=452

More info using Linux for music

linuxmusicians.com

Thanks for the quick help. OK, added myself to “audio” group (which I had thought I had done through a preference setting, but apparently not). Logged out, and back in, launched JackControl but still got the “broken pipe.”

I ran the script (had to figure out to save the script in a text file and run Sudo perl (script name) from Terminal – hey, now I know!)
and got these results:

theo@theo-desktop:~$ sudo perl /home/theo/realTimeConfigQuickScan.pl
Finding current kernel config… found /boot/config-2.6.28-11-generic
Checking for Ingo Molnar’s Real-Time Preemption… not found.
** Kernel without real-time capabilities found
For more information, see http://wiki.linuxmusicians.com/doku.php?id=system_configuration#installing_a_real-time_kernel
Checking for high-resolution timers… found - good.
Checking for IDE support… not found - skipping IDE checks.
Checking for 1000hz clock… not found.
** Try setting your clock to 1000hz
For more information, see http://wiki.linuxmusicians.com/doku.php?id=system_configuration#installing_a_real-time_kernel
Checking for High Resolution Timers… found - good.
Checking filesystem types… ok.
Checking tmpfs mounted on /tmp… not found.
** Warning: no tmpfs partition mounted on /tmp
For more information, see:

theo@theo-desktop:~$ sudo adduser theo audio
The user theo' is already a member ofaudio’.
theo@theo-desktop:~$

So at the end, you see I did add myself to Audio group, but the checking program claims otherwise.

I will follow those links and make some changes. Wow, that little program is really helpful!

Please let me know if you see something here that might be causing the “broken pipe” in Jack. Thanks!!

i think u should run the script with the same user as usual, not as root or sudo.
try doing following:

cd into location where you saved the script, than

chmod u+x realTimeConfigQuickScan.pl

now you can simply run it with:

./realTimeConfigQuickScan.pl

as a normal user.

cheers,
doc

Oh! That makes sense! So I followed nowhiskey’s advice, and got this

theo@theo-desktop:~$ ./realTimeConfigQuickScan.pl
Finding current kernel config… found /boot/config-2.6.28-11-generic
Checking for Ingo Molnar’s Real-Time Preemption… not found.
** Kernel without real-time capabilities found
For more information, see http://wiki.linuxmusicians.com/doku.php?id=system_configuration#installing_a_real-time_kernel
Checking for high-resolution timers… found - good.
Checking for IDE support… not found - skipping IDE checks.
Checking for 1000hz clock… not found.
** Try setting your clock to 1000hz
For more information, see http://wiki.linuxmusicians.com/doku.php?id=system_configuration#installing_a_real-time_kernel
Checking for High Resolution Timers… found - good.
Checking filesystem types… ok.
Checking tmpfs mounted on /tmp… not found.
** Warning: no tmpfs partition mounted on /tmp
For more information, see:

I notice the “limits.conf” that I have seen in other “permissions” issues. Anything else seem like a glaring problem? I will go through these one at a time and make the suggested changes.

Thanks!

OK, made some of the changes suggested by QuickScan … and yes, got JackCtl up and running! Thanks for your help rozea and nowhiskey! (I gotta get me a cool sounding screen name). I modified the “watches” thing, and the configuration limits / nice setting. Those got me in the game.

Now I did successfully route some audio from Ardour to the JackEQ, so I know the patchbay is working. The only problem is still with trying to use my little Zoom H4n as an audio card. When I select it, I get tons of Xruns, and still I can’t get sound out of it. I understand that USB devices are problematic, so maybe I should just live with the audio coming off the Mac Mini Intel mobo.

I have read that Pulse Audio can be problematic, but I see that Jack turns that off when it runs. So maybe that is a solved problem. Is there a way to set the Alsa drivers? I haven’t yet investigated that,

I did not change to the RT Kernel since it seems like a big deal. I will save this configuration since it works, then perhaps give that a shot.

Next I will hunt down the other folks who have I have encountered along the way and point them toward these solutions. Thanks again for your help. I really appreciate it.

Theo

Installing the RT kernel is really easy (I think $sudo apt-get install linux-rt)
or search for the image-rt $ aptitude search linux-image , and install the rt one.

I think you can solve the pulseaudio problem with starting qjackctl with

$ pasuspender qjackctl

for USB and Jack

linuxmusicians.com/viewtopic.php?f=27&t=1085

Wow, thanks! I will get on that right away. I appreciate your help. I’m gonna start hanging out at linuxmusicians.com – even though I am a filmmaker!

Theo

Theo, there are musicians who like to make video clips too :wink:

check for example

linuxmusicians.com/viewtopic.php?f=40&t=554

welcome

I have used the following with good results for getting Jack up and running. I have done this on Hardy and Jaunty and they both work well. Probably the same to Debian as well. Hope this helps:

This is assuming you have a realtime kernel installed.

  1. Create “audio” group and add yourself & root as members.

  2. Edit your /etc/security/limits.conf file and add something like this:

@audio - rtprio 95 # could go as high as 95
@audio - nice -19 # could go as low as -19
@audio - memlock unlimited # could go as high as unlimited, some use half of available RAM

  1. Launch Jack but don’t start it. In the Jack Setup I checked the Realtime & Soft Mode boxes, set my Periods/Buffer to 6 (you may have to adjust this for your system) and Frames/Period to 512 (again, adjust to what suits your needs)

The main things I play with are the Frames/Period and the Periods/Buffer. I typically set my Frames/Period to 1024 for a sequenced recording session as latency isn’t really an issue. If you are recording live I set it as low as I can without getting any inclusions or noises in the recording. Remember that the more RAM you have the better things will go.

This will at least get you up and running. I am using a TASCAM US-122 usb, which required a whole other round of tweaks. Works great but doesn’t get the best latency ~30ms if I don’t have too many tracks running while recording my bass. There are more tweaks for the adventerous.

Here are a few links for more tweakage:

http://www.alsa-project.org/main/index.php/Low_latency_howto
http://linux-sound.org/knowing-jack.html
http://www.linuxjournal.com/node/1004080

Beware the realtime kernel on Jaunty, on the two systems I’ve tried it on it only uses one of my two processor cores. I got better performance with the stock kernel. The Ubuntu kernels aren’t too great for audio work. I’ve switched to Mandriva which is working better, but the rt kernel still doesn’t work :frowning:

If you’re using Jaunty or UStudio 9.04 you might want to read this article:

http://www.linuxjournal.com/content/judgement-day-studio-dave-tests-ubuntu-studio-904

I agree with the other posters, Ubuntu has dropped the ball with their recent rt kernels.

Best,

dp

Crikey… that guy says he got it working by botting with ‘nosmp acpi=off’. OK it might work, but it’ll be a crippled system with only one processor and no ACPI. Not good.

Hello,

If anyone is fed up enough with their Jaunty install, would anyone be interested in being a Guinea Pig and trying my Debian -rt Kernels in an existing Jaunty install? In my own experience and in many emails and forum posts the -rt functionality is very solid and stable. I’m really not trying to shamelessly self-promote here…it would be interesting to see if these Kernels could revive Jaunty for Audio use.

Any takers?
http://www.bandshed.net/AVLinux2/

If you want PAE (4G+ Memory Support) look in the /highmem directory.

Glenn, did you update the RT patch version you are using or do you stick to the original rt1 ?
I’m asking because we are already at 2.6.29.5-rt21. Maybe not all updates are relevant but some may well be (RT patch updates as well as mainline kernel updates).

Thorgal,

My regular Kernel is still an updated 2.6.29-rt1 because it’s performance especially with M-Audio 1010LT’s is yet to be improved upon. I can’t explain why but in application it is the case.

My highmem is at 2.6.29.4-rt15 which is as far as I’ve gotten recently, It seems to work really well with onboard Intel HDA’s etc. I don’t mind updating as needed, But I’m getting good reports for the most part with these 2 Kernels at the present time.

I am hesitant to get into a “Kernel-of-the-Week-Club” scenario, I just don’t have the time! :slight_smile:

@tlipfert did you finally get this working? I am having a similar problem with my Zoom H4n and Fedora 12.

Was able to setup the H4n via System/ Preferences/ Sound no problem. System sounds play and audio also works with RythmBox. However when I try to config and load Jack I get this:

14:07:58.857 JACK is starting... 14:07:58.858 /usr/bin/jackd -R -dalsa -dhw:1,0 -r44100 -p512 -n3 14:07:58.877 JACK was started with PID=2305. could not open driver .so '/usr/lib/jack/jack_firewire.so': libffado.so: cannot open shared object file: No such file or directory could not open component .so '/usr/lib/jack/jack_firewire.so': libffado.so: cannot open shared object file: No such file or directory jackdmp 1.9.4 Copyright 2001-2005 Paul Davis and others. Copyright 2004-2009 Grame. jackdmp 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 server starting in realtime mode with priority 60 audio_reservation_init Acquire audio card Audio1 creating alsa driver ... hw:1,0|hw:1,0|512|3|44100|0|0|nomon|swmeter|-|32bit Using ALSA driver USB-Audio running on card 1 - ZOOM Corporation H4 at usb-0000:00:1d.7-5.2, full speed configuring for 44100Hz, period = 512 frames (11.6 ms), buffer = 3 periods ALSA: final selected sample format for capture: 16bit little-endian ALSA: use 3 periods for capture ALSA: final selected sample format for playback: 16bit little-endian ALSA: use 3 periods for playback ALSA: could not start playback (Broken pipe) Cannot start driver JackServer::Start() failed with -1 Released audio card Audio1 audio_reservation_finish Failed to start server 14:07:59.183 JACK was stopped with exit status=255. 14:07:59.184 Post-shutdown script... 14:07:59.184 killall jackd jackd: no process killed 14:07:59.602 Post-shutdown script terminated with exit status=256. 14:08:00.983 Could not connect to JACK server as client. - Overall operation failed. - Unable to connect to server. Please check the messages window for more info. Cannot connect to server socket err = No such file or directory Cannot connect to server socket jack server is not running or cannot be started

Im running Fedoa 12 with Planet CCRMA - http://ccrma.stanford.edu/planetccrma/software/.

I ran the script mentioned above:

[davidhenderson@Fedora ~]$ chmod u+x realTimeConfigQuickScan.pl [davidhenderson@Fedora ~]$ ./realTimeConfigQuickScan.pl Checking if you are root... no - good. Finding current kernel config... found /boot/config-2.6.31.12-1.rt20.1.fc12.ccrma.i686.rtPAE Checking for Ingo Molnar's Real-Time Preemption... found - good. Checking for high-resolution timers... found - good. Checking for 1000hz clock... found - good. Checking for High Resolution Timers... found - good. Checking filesystem types... ok. Checking tmpfs mounted on /tmp.. not found. ** Warning: no tmpfs partition mounted on /tmp For more information, see: - http://wiki.linuxmusicians.com/doku.php?id=system_configuration#tmpfs - http://lowlatency.linuxaudio.org Checking filesystem 'noatime' parameter... ** Warning: / does not have the 'noatime' parameter set For more information, see http://wiki.linuxmusicians.com/doku.php?id=system_configuration#filesystems ** Warning: /boot does not have the 'noatime' parameter set For more information, see http://wiki.linuxmusicians.com/doku.php?id=system_configuration#filesystems ** Warning: /media/EIGENLABS does not have the 'noatime' parameter set For more information, see http://wiki.linuxmusicians.com/doku.php?id=system_configuration#filesystems ** 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. Checking the ability to prioritize processes with (re)nice... yes - good. Checking the ability to prioritize processes with rtprio... yes - good. Checking whether you're in the 'audio' group... no. ** add yourself to the audio group with 'adduser $USER audio' Checking for multiple 'audio' groups... no - good. Checking access to the real-time clock... not readable. ** Warning: /dev/rtc found, but not readable. ** make /dev/rtc readable by the 'audio' group For more information, see http://wiki.linuxmusicians.com/doku.php?id=system_configuration#real-time_clock Checking access to the high precision event timer... not readable. ** Warning: /dev/hpet found, but not readable. ** make /dev/hpet readable by the 'audio' group For more information, see http://wiki.linuxmusicians.com/doku.php?id=system_configuration#hpet Checking sysctl settings: - checking inotify max_user_watches... too small. ** /proc/sys/fs/inotify/max_user_watches is smaller than 524288 ** increase it by adding 'fs.inotify.max_user_watches = 524288' to /etc/sysctl.conf and rebooting For more information, see http://wiki.linuxmusicians.com/doku.php?id=system_configuration#sysctl.conf Checking for resource-intensive background processes... none found - good. [davidhenderson@Fedora ~]$

I tried addeding myself to the user group audio:

[davidhenderson@Fedora ~]$ sudo adduser davidhenderson audio [sudo] password for davidhenderson: davidhenderson is not in the sudoers file. This incident will be reported. [davidhenderson@Fedora ~]$ su Password: [root@Fedora davidhenderson]# sudo adduser davidhenderson audio Usage: useradd [options] LOGIN

Options:
-b, --base-dir BASE_DIR base directory for the home directory of the
new account
-c, --comment COMMENT GECOS field of the new account
-d, --home-dir HOME_DIR home directory of the new account
-D, --defaults print or change default useradd configuration
-e, --expiredate EXPIRE_DATE expiration date of the new account
-f, --inactive INACTIVE password inactivity period of the new account
-g, --gid GROUP name or ID of the primary group of the new
account
-G, --groups GROUPS list of supplementary groups of the new
account
-h, --help display this help message and exit
-k, --skel SKEL_DIR use this alternative skeleton directory
-K, --key KEY=VALUE override /etc/login.defs defaults
-l, --no-log-init do not add the user to the lastlog and
faillog databases
-m, --create-home create the user’s home directory
-M, --no-create-home do not create the user’s home directory
-N, --no-user-group do not create a group with the same name as
the user
-o, --non-unique allow to create users with duplicate
(non-unique) UID
-p, --password PASSWORD encrypted password of the new account
-r, --system create a system account
-s, --shell SHELL login shell of the new account
-u, --uid UID user ID of the new account
-U, --user-group create a group with the same name as the user
-Z, --selinux-user SEUSER use a specific SEUSER for the SELinux user mapping

[root@Fedora davidhenderson]#


I’m not sure if it added me or not. I’m kinda new to Linux.

Still trying to make this work. Any help would be greatly appreciated.

Thanks,
DH