Linux Audio Workstation Build

Discuss your workplace, instruments, amps, and any other gear.

Moderators: khz, MattKingUSA

merlyn
Established Member
Posts: 872
Joined: Thu Oct 11, 2018 4:13 pm
Has thanked: 48 times
Been thanked: 50 times

Re: Linux Audio Workstation Build

Post by merlyn »

Kott wrote:How do you run plugins? Each one in separate carla-single vst?
I run all of them in one Carla instance.

Image

How has your motherboard with a legacy PCI slot performed? Do you use a realtime kernel or the threadirqs boot option?

The problem I'm having is unusual and I don't know if it's a Ryzen issue, a threadirqs issue or a PCI bridge issue. Looking into it I am tending to think it's threadirqs so any info you've got on Ryzens and PCI bridges would be helpful.
The ultimate hidden truth of the world is that we make it, and could just as easily make it differently.
Kott
Established Member
Posts: 468
Joined: Thu Mar 21, 2013 12:55 am
Location: Vladivostok
Has thanked: 4 times
Been thanked: 16 times

Re: Linux Audio Workstation Build

Post by Kott »

merlyn wrote: Thu Apr 01, 2021 8:50 am How has your motherboard with a legacy PCI slot performed? Do you use a realtime kernel or the threadirqs boot option?

The problem I'm having is unusual and I don't know if it's a Ryzen issue, a threadirqs issue or a PCI bridge issue. Looking into it I am tending to think it's threadirqs so any info you've got on Ryzens and PCI bridges would be helpful.
None of both. I use stock openSUSE TW kernel and all is good (for me), just don't forget to toggle CPU in performance mode.
I haven't time to experiment with RT kernel, but will look on threadirq.
merlyn
Established Member
Posts: 872
Joined: Thu Oct 11, 2018 4:13 pm
Has thanked: 48 times
Been thanked: 50 times

Re: Linux Audio Workstation Build

Post by merlyn »

Thanks Kott. The fact that your system is working tells me that there is no fundamental problem using a soundcard with a PCI bridge.

I updated to kernel 5.12.2 and now threadirqs is working. Every time I updated my kernel I tried threadirqs and this time it worked. If you want to try out different kernel parameters it's a good to idea to do them as a one off by hitting 'e' at the grub boot screen. Then edit the command line with the parameters you want. That way if they're no good it's possible to revert simply by re-booting.

The problem I was having was that the soundcard interrupt was disappearing. Everything could be OK for hours, then the audio would stop. I came up with a way of causing the interrupt to disappear quickly. I put the JACK buffer at 2 frames and ran hackbench, which is part of the rt-tests package. Pretty extreme, but the low-latency kernel without threadirqs has always been able to cope with that. When using threadirqs the soundcard interrupt would disappear within seconds, perhaps not surprisingly. Using kernel 5.12.2 with threadirqs my system now passes this test.

tl;dr
Kernel 5.12.2 has addressed a bug related to Ryzen 3900x + Texas Instruments XIO2000A PCI bridge + threadirqs
The ultimate hidden truth of the world is that we make it, and could just as easily make it differently.
merlyn
Established Member
Posts: 872
Joined: Thu Oct 11, 2018 4:13 pm
Has thanked: 48 times
Been thanked: 50 times

Re: Linux Audio Workstation Build

Post by merlyn »

RAM

The received wisdom is that Ryzens work best with 3600MHz CL16 RAM. This is a specifically Ryzen thing as Intel chips don't seem to show any performance benefit going from 3200MHz to 3600MHZ. This is due to the chiplet architecture of Ryzens. There is inter-chiplet communication that AMD call 'Infinity Fabric' and this has its own clock.

It's DDR, right? Double data rate. This means the actual memory clock is half the quoted speed of the RAM and the memory reads or writes on both edges of the clock signal. 1800MHz is the fastest that the Infinity Fabric can run and keep a 1:1 relationship with the memory clock. If the memory clock goes higher the Infinity Fabric clock halfs and is in a 1:2 relationship with the memory clock. So 3600Mhz RAM gets called 'the sweet spot'.

The CL16 refers to the CAS latency and that is how many memory clock cycles it takes to read or write to or from memory. So if you work it out slower RAM with a lower CAS latency could be faster than RAM with a higher clock and higher CAS latency. e.g. 3200MHz CL14 is faster than 3600MHz CL18.

That's the theory and hopefully disentangles the technicalities from the marketing.

I replaced my 8GB of 3000MHz RAM with 64GB (2x32) of 3600MHz CL16 RAM. I did notice a difference. I was using Audacity to record improvisations. I had a loop going in Ardour and then recorded myself playing over it in Audacity using JACK to connect the two apps. With 3000MHz RAM there were dropouts in Audacity. Around five dropouts in ten minutes of recording. With the faster RAM there were no dropouts. I also went from one stick to two sticks so I went from single channel to dual channel -- that might have been what improved performance (I should check that).

With 8GB of RAM I did see the swap space getting used. With 64GB I have deleted my swap partition -- can't see I'll need it. :)
The ultimate hidden truth of the world is that we make it, and could just as easily make it differently.
merlyn
Established Member
Posts: 872
Joined: Thu Oct 11, 2018 4:13 pm
Has thanked: 48 times
Been thanked: 50 times

Re: Linux Audio Workstation Build

Post by merlyn »

RAM part II

I booted up with just one RAM stick and I don't get dropouts when recording into Audacity from Ardour. I can conclude that 3600MHz RAM does make a difference. For anyone thinking about building a Ryzen based system for audio -- to get the most out of it use 3600MHz CL16 RAM. It will still work with slower RAM of course.
The ultimate hidden truth of the world is that we make it, and could just as easily make it differently.
Post Reply