with 8.7’s way of handling the audio backend connection, there must be either something wrong, or very different, which triggers some hidden error on my system. i just cannot get it working, always ending up with an announcement “The audio backend was shutdown because: ALSA I/O error.”
just tested it with the last nightly, the situation is the same as with official 8.7 build.
ardour log says: 2024-09-26T23:11:26 [INFO]: Scanning folders for bundled LV2s: /opt/Ardour-8.7.38/lib/LV2
2024-09-26T23:11:30 [WARNING]: LV2http://ssj71.github.io/infamousPlugins/plugs.html#envfollowerCV: Port 2 (‘CV Out’) has unsupported data type.
2024-09-26T23:11:31 [INFO]: xjadeo version: 0.8.14
2024-09-26T23:11:32 [INFO]: harvid version: 901
2024-09-26T23:11:33 [INFO]: Loading menus from /opt/Ardour-8.7.38/etc/ardour.menus
2024-09-26T23:11:33 [INFO]: Cannot set I/O Priority for disk read/write thread
2024-09-26T23:11:33 [ERROR]: No MCP device info files found using /home/tomas/.config/ardour8/us2400:/opt/Ardour-8.7.38/share/us2400
2024-09-26T23:11:34 [INFO]: Loading user ui scripts file /home/tomas/.config/ardour8/ui_scripts
2024-09-26T23:11:34 [INFO]: Loading plugin order file /home/tomas/.config/ardour8/plugin_metadata/plugin_order
2024-09-26T23:11:34 [INFO]: Loading history from /home/tomas/data/audio_projects/hugo_a_zoe/all_watched_over/all_watched_over.history
2024-09-26T23:11:34 [ERROR]: AlsaAudioBackend: I/O error. Audio Process Terminated.
trying to connect with jack (which is my usual way) i’m having the same problems, plus ardour becomes unresponsive (with htop reporting the process using 100% of cpu) and has to be killed.
any ideas? thanks!
other audio software i use (renoise, pd) works fine, as does ardour 8.6 - same sessions, same hardware. arch linux, amd64 machine
with the actual session i’m doing these tests:
8.6 - around 10%
8.7 - currently 0% (audio is off, attempts to start it via audio/midi setup keep introducing the “The audio backend was shutdown because: ALSA I/O error.” tab
tried it and it seems to solve the problem. don’t know what exactly does it mean tho.
the log now says:
024-09-27T00:17:06 [INFO]: Scanning folders for bundled LV2s: /opt/Ardour-8.7.38/lib/LV2
2024-09-27T00:17:10 [WARNING]: LV2<http://ssj71.github.io/infamousPlugins/plugs.html#envfollowerCV>: Port 2 ('CV Out') has unsupported data type.
2024-09-27T00:17:11 [INFO]: xjadeo version: 0.8.14
2024-09-27T00:17:12 [INFO]: harvid version: 901
2024-09-27T00:17:13 [INFO]: Loading menus from /opt/Ardour-8.7.38/etc/ardour.menus
2024-09-27T00:17:13 [INFO]: Cannot set I/O Priority for disk read/write thread
2024-09-27T00:17:13 [ERROR]: No MCP device info files found using /home/tomas/.config/ardour8/us2400:/opt/Ardour-8.7.38/share/us2400
2024-09-27T00:17:13 [INFO]: Loading user ui scripts file /home/tomas/.config/ardour8/ui_scripts
2024-09-27T00:17:14 [INFO]: Loading plugin order file /home/tomas/.config/ardour8/plugin_metadata/plugin_order
2024-09-27T00:17:14 [INFO]: Loading history from /home/tomas/data/audio_projects/hugo_a_zoe/all_watched_over/all_watched_over.history
No. In the past Ardour never tried to raise I/O priority, so if that fails it’s just like old times.
However the threading is apparently a problem. The new I/O threads (when used) have an elevated scheduler priority, but still it should not be able to interfere with Audio I/O.
Possibly system or kernel specific. Thanks for bringing this issue to our attention, time to investigate further. Would you be available and willing to help with that?
OK. when you wake up there should be a nightly build of Ardour 8.7-40 (or later).
Please run it from a terminal and using an environment variable as such
ARDOUR_IO_SCHED=1 Ardour8
Then in Preferences > Performance > Disk-I/O … Disk I/O configure “all but two”.
If there are still dropouts, please try
ARDOUR_IO_SCHED=0 Ardour8
Thanks in advance.
PS. if others want to chime in and post results, those are welcome as well.
tech details:
By default Ardour uses SCHED_RR for I/O thread with a priority of 70.
Audio thread use SCHED_FIFO with a priority of 80.
The first test ARDOUR_IO_SCHED=1 also makes I/O threads use SCHED_FIFO.
and the 2nd test ARDOUR_IO_SCHED=0` changes them to use default low priority SCHED_OTHER.
I tested this here on my system and DSP load does not increase (Linux 6.1.0-0.deb11.21-amd64 #1 SMP PREEMPT_DYNAMIC)
ok. testing nightly 8.7.42 with Disk I/O threads set to “all but two processor”. amd64 8core, arch linux, 6.10.2-rt kernel, bare alsa (no jack etc.):
immediate ALSA I/O error. after several attempts to reconnect i got it playing for several seconds, ardour reported heavy dsp load (30-40%), lot of xrun glitches, followed by the same error and no audio again
audio works normally, dsp load is still peaking surprisingly high considering how simple the session is (40%), but with no apparent audio problems, xruns etc.
Interesting. I don’t understand how a low priority I/O thread can interfere with realtime audio I/O. It is certainly not the case here on 2 machines that I tried.
Just to be certain: your user has permissions to set realtime scheduling up to a priority of at least 80?
ulimit -r
should ideally return 95.
and Ardor > Menu > Window > Log does not show a warning
“AlsaAudioBackend: cannot acquire realtime permissions.”