View Single Post
Old 08-20-2018, 09:20 AM   #22
Jack Winter
Human being with feelings
Jack Winter's Avatar
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,863

Originally Posted by Glennbo View Post
A couple items on this one. First, I have been considering trading in some old unused gear and buying a Behringer UMC1820, which is an eight channel rack mount USB Class Compliant device. If I were to switch to an external USB device, would the interrupt tweak still be needed, only on USB?
Let's leave the USB stuff for another time. But in brief, yes you should change the priority of the USB hub that you connected your sound card to. I can understand that 4 channels of audio is not really enough as a drummer, you can make nice recordings with it, but it's very nice to have more channels for spot & room mics.

The main drawback with USB is that it gives quite a lot of extra latency on Linux, and annoyingly the "hidden" extra latency changes when you change buffersize (not a fixed value). This might not be a problem depending on how you record. I don't monitor through the DAW so I just set a high buffersize, make sure that I configure reaper to properly compensate for the extra (hidden) latency and then just forget about it.

Seeing that your existing cards are PCI they likely are lower roundtrip latency and have a fixed overhead, so much nicer to use in this context.

I looked at the info on github, and didn't see where to download udev-rtirq. Is it one that I have to build from source? I've never done that yet as I am still a newbie in Linux.
There is a button that says clone or download, just download the zip, unzip it somewhere and then run "make install". But let's leave that for another day, as I just saw that I didn't provide a way to run make uninstall, and there is an added hurdle to overcome on ubuntu as they have removed the sudo command. I think you can install sudo, but I'm not sure about this.

The cards are using the same clock over spdif. The first card is the master and the second card slaves it's clock from the first one. In Windows, the M-Audio ASIO driver makes them appear as one card with twice the audio and midi inputs and outputs. The main reasons I am looking at the Behringer unit I mentioned above is that I am now recording acoustic drums a lot, and using four simultaneous inputs. While the cards are reading the same clock, starting and stopping record with them is not sync'd and I always have to manually align two of the four tracks for phasing issues. The other reason is I've read that it works well in Linux, and requires no drivers.
Well let's see if we can't make that work better in Linux than in Windows But I still need to see the output of "cat /proc/asound/cards" to be able to help you.

From what I've been reading, the Liquornix kernel plays nice with Xubuntu, but until I see a problem that needs fixing, I'll probably stick with the distro version of the low latency kernel.
You might be wise in this decision. I left Ubuntu a long time ago because it stopped providing a realtime kernel, and because I got fed up with problems, especially when doing a distro upgrade, which seemed to always end up in a complete reinstall.. I hope that this has improved since then and that your experience will be smoother.

The lowlatency kernel is already very good and there are many that claim that there is no need for a realtime kernel. Personally I would dispute this, but I might also be wrong, or it's a question of what hardware you have and how hard you push the system. The realtime kernel is basically the same (a kernel capable of preempting running threads to run other threads) but it removes some existing bottle necks in the kernel to lower thread scheduling delays. That is to say it will probably be just a bit less likely to cause xruns (dropouts) in your audio.

But as you say, no hurry and cross that hurdle when you have too

I always got asymmetric latency values while running REAPER in Windows too. In fact, I'm pretty sure it is the very same values as I am getting now in Linux, although with the -S parameter, I am now seeing 1.4/1.4ms which is lower that I've ever seen in Windows. I just tried playing my 25 track test song and it played without any problems, so I guess I can run without double buffering.
Heh, then the maudio driver did double buffering too by default. There most likely is some small additional latency that reaper doesn't know about, for hardware buffers and conversion time of DAC. This can be tested and compensated for in reaper. Most likely it's so little that you can safely ignore it, but if you want to you can use reainsert and a cable connected from an output to an input to check how much it is. You could also play back a click track and see how well the recorded track aligns to the click. On my rme hdsp it's a constant 95 samples, so about 2.1ms roundtrip. Not really worth worrying about...

I did find "rtirq" in Synaptic, so I installed it. Does it need to be hand modified, or will it do it's thing automatically?
It will take effect on the next boot. I assume it's similarly configured on ubuntu as on archlinux, and if so the default configuration isn't optimal, as it changes the priority of a lot of things that aren't really relevant in your case, mainly all the USB interrupts too.

I'd edit /etc/rtirq.conf and change it to the following (comment out the rest):

Then after rebooting run "rtirq status" to see if it had the desired effect.

Additionally for this to work, you might have to add the "threadirqs" irq boot flag to your boot manager, I don't know if this is needed or not on ubuntu.

Note that I've hardly ever used rtirq myself, so I'm not 100% sure about all the details. But hopefully this gets it working on your system and doesn't cause any problems!
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :)

Last edited by Jack Winter; 08-20-2018 at 09:27 AM.
Jack Winter is offline   Reply With Quote