Linux Audio Workstation Build

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

Moderators: MattKingUSA, khz

User avatar
milo
Established Member
Posts: 1242
Joined: Wed Sep 06, 2017 2:55 am
Location: Southern Utah, USA
Has thanked: 275 times
Been thanked: 218 times
Contact:

Re: Linux Audio Workstation Build

Post by milo »

What kind of noise comes from a graphics card? I thought they had no moving parts.
User avatar
sunrat
Established Member
Posts: 915
Joined: Wed Jul 22, 2020 2:08 pm
Has thanked: 151 times
Been thanked: 242 times

Re: Linux Audio Workstation Build

Post by sunrat »

milo wrote: Tue Mar 16, 2021 9:56 pm What kind of noise comes from a graphics card? I thought they had no moving parts.
Most graphics cards have fans, some of the higher end ones have three which can become hella noisy when they work hard. That said, Linux audio workstations are unlikely to tax a graphics card so a very modest fanless one is likely the best solution. I put a $30 AMD one in a friend's studio Xeon system which runs Tracktion Waveform happily.
merlyn
Established Member
Posts: 1392
Joined: Thu Oct 11, 2018 4:13 pm
Has thanked: 168 times
Been thanked: 247 times

Re: Linux Audio Workstation Build

Post by merlyn »

milo wrote:What kind of noise comes from a graphics card? I thought they had no moving parts.
As sunrat said it's the fan that makes noise. When I was putting the old card in the new machine I took it apart to get dust out and noticed some of the blades have chips out of them. This could be adding to the noise. The card did seem quieter after it was cleaned -- getting rid of dust on the heatsink would make cooling more efficient meaning the fan wouldn't have to spin as fast. It was fiddly to put back together and I wouldn't recommend taking a graphics card apart unless (1) you're confident you can put it back together and (2) it's an old, scheduled to be replaced card. :)
sunrat wrote:That said, Linux audio workstations are unlikely to tax a graphics card so a very modest fanless one is likely the best solution.
I was thinking it would be good if this machine could do video too, and that benefits from a decent graphics card as far as I know. Before the global shortage of graphics cards I saw cards described as 'Zero dB' meaning the fans stop when there is a low graphics load. That seems suitable for my use -- quiet when working on audio, powerful enough for video. I was thinking something like an RX580. AMD of course because ... well you know what Linus thinks of Nvidia. :)
User avatar
sunrat
Established Member
Posts: 915
Joined: Wed Jul 22, 2020 2:08 pm
Has thanked: 151 times
Been thanked: 242 times

Re: Linux Audio Workstation Build

Post by sunrat »

merlyn wrote: Thu Mar 18, 2021 1:28 pm...Before the global shortage of graphics cards I saw cards described as 'Zero dB' meaning the fans stop when there is a low graphics load. That seems suitable for my use -- quiet when working on audio, powerful enough for video. I was thinking something like an RX580. AMD of course because ... well you know what Linus thinks of Nvidia. :)
I have an Nvidia GTX970 in my workstation machine. It multiboots to play games so was a high midrange card when I built it in 2016. If I run Conky system monitor, it show the graphics card fan at 0% nearly all the time during normal desktop use including DAW.
Linus is a very outspoken and opinionated character and his rant was about the reluctance of Nvidia to release specs to enable open source drivers to be created efficiently. A very good point but my card works great with the Nvidia proprietary drivers. That said, I would most likely buy AMD next time I build a system.
merlyn
Established Member
Posts: 1392
Joined: Thu Oct 11, 2018 4:13 pm
Has thanked: 168 times
Been thanked: 247 times

Re: Linux Audio Workstation Build

Post by merlyn »

I'm glad your system is working well. It is quite a long time ago that Linus got annoyed with Nvidia. It seems things have changed for the better.

In other news I got my terminal colours sorted. I probably spent far too long on this, flaying ye olde Xwindows into shape. :D

Image
User avatar
sunrat
Established Member
Posts: 915
Joined: Wed Jul 22, 2020 2:08 pm
Has thanked: 151 times
Been thanked: 242 times

Re: Linux Audio Workstation Build

Post by sunrat »

merlyn wrote: Fri Mar 19, 2021 12:15 am I'm glad your system is working well. It is quite a long time ago that Linus got annoyed with Nvidia. It seems things have changed for the better.
I don't think things are better with Nvidia, just not much worse. It was always possible to use Nvidia reasonably well, just the more high-end cards worked better with the proprietary driver as Nvidia wouldn't help with Nouveau open source development unlike AMD who are supportive. In fact all newer Nvidia cards need firmware which wasn't always the case but then so do AMD cards.

Your terminal layout looks nice and functional; is it i3? Awesome? I prefer more pretty myself so use KDE. :D
merlyn
Established Member
Posts: 1392
Joined: Thu Oct 11, 2018 4:13 pm
Has thanked: 168 times
Been thanked: 247 times

Re: Linux Audio Workstation Build

Post by merlyn »

sunrat wrote:Your terminal layout looks nice and functional; is it i3?
Yes, it's i3. I like how I can use separate workspaces for different apps. On the old machine I had one workspace for the Ardour editor, another workspace for the Ardour mixer, a workspace for plugins, and a workspace for virtual instruments. I can switch between them with a keyboard shortcut or cycle through them with Ctrl+Alt+Arrows. This sort of thing can be done on KDE too with window rules I think.
merlyn
Established Member
Posts: 1392
Joined: Thu Oct 11, 2018 4:13 pm
Has thanked: 168 times
Been thanked: 247 times

Re: Linux Audio Workstation Build

Post by merlyn »

Audio hardware: This is relevant to anyone who has a PCI soundcard and is thinking about upgrading their computer. There are a few motherboards that still have legacy PCI slots but the vast majority don't. There was one (exactly one) motherboard that had a B550 chipset and a PCI slot -- a Biostar B550 GTA. It was never in stock which could have been due to Covid, so I decided on an alternative.

The alternative is a PCIe to PCI bridge. There are riser cards available like this :

Image

I have two STAudio DSP24 cards (long story) so this would be suitable. The issue with the card above would be mechanical -- how would it be mounted in the case? It turns out the case I got has two vertical slots (intended for graphics cards I imagine) so this might have worked. I didn't understand that fully at the time so I got an external box that has four PCI slots :

Image

There is a PCIe card that goes in the computer and has a DVI output. It's not video that's going over the DVI cable -- the engineers simply used a DVI cable as a digital link between the computer and the box.

Image

Image

I then connect the PCI card to the breakout box :

Image

I've actually got three of those boxes (again, a long story). It did occur to me that PCI cards can be bought cheaply, even high end cards like an RME HDSP 9632 or a Digigram VX882HR, so being able to use legacy PCI seems like a good idea.

In initial tests it works. It showed up in lspci without configuration and the DSP24 showed up in aplay -l without configuration. Latency may be increased by using a PCIe to PCI bridge and I will test that using jack_iodelay.
merlyn
Established Member
Posts: 1392
Joined: Thu Oct 11, 2018 4:13 pm
Has thanked: 168 times
Been thanked: 247 times

Re: Linux Audio Workstation Build

Post by merlyn »

PCI Box

The PCI box is an ExSys EX-1010 . It uses a Texas Instruments XIO2000A chipset which is pretty old. Motherboards that have legacy PCI slots also use a PCIe to PCI bridge -- there is no native PCI bus on new motherboards. The PCIe to PCI bridge on a motherboard is soldered to the board and they use ASMedia chips. I also saw ASMedia chips used in the riser cards mentioned earlier.

I've had a problem with the PCI box and looking at my journal the TI XIO2000A chip needs a PCI quirk -- in other words it's buggy. The quirk may mean the bug is solved. Using this PCI box buses have got complicated. There is the PCIe bus and now a secondary PCI bus. So now there are interrupts on the primary and secondary buses. Ideally all this would be transparent to the user.

Using threadirqs it was unstable. JACK would emit a high pitched bleep and the audio would cut out. In JACK messages there was an 'ALSA polling error' -- in other words it lost contact with the soundcard. It could be fixed by unloading and loading the snd_ice1712 kernel module. The bleep sounded like something was going wrong with the hardware and hardware problems are often related to interrupts so I tried booting without threadirqs and it has been stable. There is no extra latency introduced by using a PCIe to PCI bridge.

TL;DR
Using a Texas Instruments XIO2000A chip on this system requires not loading threadirqs.
Using a PCIe to PCI bridge does not add latency.
folderol
Established Member
Posts: 2069
Joined: Mon Sep 28, 2015 8:06 pm
Location: Here, of course!
Has thanked: 224 times
Been thanked: 400 times
Contact:

Re: Linux Audio Workstation Build

Post by folderol »

Very interested to hear you progress on this. what sort of latencies are your getting?
The Yoshimi guy {apparently now an 'elderly'}
Kott
Established Member
Posts: 818
Joined: Thu Mar 21, 2013 12:55 am
Location: Vladivostok
Has thanked: 65 times
Been thanked: 122 times

Re: Linux Audio Workstation Build

Post by Kott »

There was one (exactly one) motherboard that had a B550 chipset and a PCI slot -- a Biostar B550 GTA. It was never in stock which could have been due to Covid, so I decided on an alternative.
It was in stock but for very short period. I've got one.
And it was a big dilemma for me - this MB or the risers. So your experience is interesting)
merlyn
Established Member
Posts: 1392
Joined: Thu Oct 11, 2018 4:13 pm
Has thanked: 168 times
Been thanked: 247 times

Re: Linux Audio Workstation Build

Post by merlyn »

folderol wrote:Very interested to hear you progress on this. what sort of latencies are your getting?
My initial impression is that latency is no longer an issue. I was intending to use xruncounter to benchmark the system but xruncounter hasn't been working on this system. The DSP load is not going up.

So one measure I have used is -- what buffer size will JACK start at? On this sytem JACK will start with a buffer size of 2 frames! It won't start at 1. With a buffer size of 2 frames the soundcard interrupt alone is using around 80% of one core. It makes sense then that a buffer of 1 frame won't work -- a 1 frame buffer would use 160% of one core.

That's interesting because it puts a definite hardware limit on buffer size. Servicing the soundcard interrupt then requires a high clock speed or high instructions per clock cycle. Servicing the soundcard interrupt is where single threaded performance is important. As far as I know there is not a chip on earth that is twice as fast as a Ryzen 3900x (it would need to be 9GHz) so a 2 frame buffer is a hard limit.

There are more powerful chips, but none have twice the single threaded performance. 5GHz is where the current and therefore heat start to become excessive and that problem has existed for twenty years. It's the physics of silicon that limit this and this is why chip development went into multiple cores rather than ramping the clock speed.

So that's starting JACK. Now, putting some load on it. The convolver in Guitarix doesn't like a buffer below 8 frames so with a 16 buffer I can play along with a Youtube video (Firefox using a separate soundcard) with my guitar going through Guitarix without xruns. To me that means latency has been solved. A 64 buffer is good and for this system that's a walk in the park. :)
merlyn
Established Member
Posts: 1392
Joined: Thu Oct 11, 2018 4:13 pm
Has thanked: 168 times
Been thanked: 247 times

Re: Linux Audio Workstation Build

Post by merlyn »

Update:

I updated my kernel to 5.11.9 and Guitarix will play with a 2 frame buffer. There are too many xruns to be usable but it's better than I would have thought. I would have expected a constant stream of xruns. There are periods -- a few seconds -- of xrun free audio followed by the never-before-heard-on-Broadway sound of a 2 frame buffer xrunning. Completely random as far as I can make out. I have a suspicion that a realtime kernel would help here -- it's this kind of extreme situation that the realtime kernel is meant for. Unfortunately the realtime kernel doesn't seem to agree with my PCI box. So, as ever, there is more going on than I thought.

It's difficult to believe JACK doesn't fall over at 2 frames so here's some evidence :

Image

I think the soundcard interrupt is core 1. And here is QjackCtl :

Image

If a new kernel can make the difference between Guitarix working and not working it may be a kernel update will allow me to use a realtime kernel with my PCI box. I am now not so sure the problem is with the Texas Instrument chip.
merlyn
Established Member
Posts: 1392
Joined: Thu Oct 11, 2018 4:13 pm
Has thanked: 168 times
Been thanked: 247 times

Re: Linux Audio Workstation Build

Post by merlyn »

Is it powerful? Eh ... just a bit. I mentioned a Cray-2 earlier and wondered how this computer stacks up against one. The term Gigaflops may have been invented just for the Cray-2 -- it came in at 1.9 GFLOPS. Any guesses what a Ryzen 3900x is? More or less?

It's 820 GFLOPS. Four hundred Cray-2s in a square of silicon.

After finding out how low the latency will go I now wondered how it extends out to the sides. What can it do at a low latency? How does it deal with load? What Ryzens have going for them is the number of cores and threads -- can this be used by music software? It can.

I haven't managed to get a sensible result out of xruncounter so I came up with another test. On my old computer the patch 'Chapter 3' on u-he TyrellN6 absolutely killed my processor. So I used TyrellN6 as a test. I can run 30 instances of it in Carla with a 32 frame buffer.

Image

Absolutely no xruns. And I've got a video playing on Firefox. Unbelievable. DSP load 25%. This seems in the ballpark of 100 times more powerful than my last computer.

I still can't use threadirqs or the realtime kernel. If I could I think I could run this at a 16 buffer. A 3900x is still a realtively new chip and my hope is that I will be able to use threadirqs at some point as the kernel and AMD microcode are updated.
Kott
Established Member
Posts: 818
Joined: Thu Mar 21, 2013 12:55 am
Location: Vladivostok
Has thanked: 65 times
Been thanked: 122 times

Re: Linux Audio Workstation Build

Post by Kott »

How do you run plugins? Each one in separate carla-single vst?
Post Reply