Feature request: processor Isolation

In the RuneAudio forum people suggested that processor isolation does some magical things to the sound. It is also a standard feature in Euphony. I know I could tinker with the command line.txt and add it there myself. When I was working on that I thought it would be a really nice feature if you could set isolation from within the Volumio UI.

Good idea?

Can you elaborate on what is processor isolation?

think he means, to isolate 1 or 2 cores, only to be used for audio, nothing else. for windows there are application to do this like fidelizer

1 Like

Yeah that’s exactly what I mean:
Isolate a CPU core and separate MPD to run on only this core

I’ve tried that in the past, specifically trying to fix the PI3 USB Audio dropouts.
This made no difference in the dropouts, nor I did hear anything different…

That’s why we did not put it into Volumio…

But I will be curious to hear your experiment, it’s fairly easy to do on cmd line. If someone hears the difference I will be very curious to know their system setup and more info

On windows (with Fidelizer) I did notice some improvements in throughput, less hick-ups. But I wouldn’t classify it as richer soundstage. As the pi is not rich on resources, I don’t think it would harm to dedicate 2 cores.

With isation of processor (2 and 3 in my case) the background seems a little darker. So main and details stand out a l bit more.

My setup is a (RPI 3b based) Magna Mano Ultra MKII with a Topping D90, connected with a i2s cable

I’m actually interested in this since i got a tip to do exactly this from one of the car audio competitioner when i told i’m going to put PI in my car.

Could you perhaps explain me how to set this up via terminal? could test it with my system.

in pure theory, if you can lock core X frequerency to Y and then lock MPD process to only use that core X with frequerency Y, there might be some benefit in it, depending on how the clock chain works in the chip. basically it could make difference if you run the core at 800 or 1500mhz, depending on the accuracy of the timings. But yeah, would it be audible at all, i dont know since i havent done BLIND testing or any testing to be fair.

I think it really depends on your set up. Back in the days with a RPI3b with a Hiffiberry+ i couldn’t hear any change with this tweak. With my current set up the difference is quite clear.

Hi @Joni_Salminen and @balbuze and @volumio,

What I did is the following:
nano /boot/userconfig.txt
Added line: isolcpus=2,3

nano /boot/cmdline.txt
Added at the end of the line: isolcpus=2,3

In order to set MPD to 2d and 3d processor:

sudo pico /lib/systemd/system/mpd.service
Password: Volumio
and changed the line: ExecStart=/usr/bin/mpd --no-daemon
ExecStart=/usr/bin/taskset -c 2,3 /usr/bin/mpd --no-daemon $MPDCONF


Check if the 2d and 3d CPU are isolated:
cat /sys/devices/system/cpu/isolated

It gives back: 2,3

I am pretty sure the sound has become more transparant and details are a bit more present.

As I said, I think this is quite easy to implement in the UI, don’t you? Ofcourse there should be a disclaimer of what can happen when applied… (see the -quite nerdy- implementation in Euhpony OS in the attachment).

Please ask if you need anymore info.

1 Like