Hi! Volumio Noob warning…
I got my RIVO yesterday, and beeing an old Linux audio tweaker, I enabled SSH and did a quick look…
In (high end) audio playing, lowest possible latency and jitter is whats it all about.
Electrical noise also, obviously. I run my RIVO with Ferrum Hypsos powersupply.
I see current release 3.546 has kernel 4.9.241.
Have you tried RT (RealTime) patched kernel on RIVO?
Plan to introduce one?
Glad you like it, and well done for pairing it with a Ferrum Hypsos.
Actually, we don’t use RT kernel and don’t plan to use one: reason is that there is no audible benefit of using a Real Time Kernel for audio reproduction (only when used as a music making machine).
All the Kernel optimizations done involve mainly the compatiblity with DSD Dacs.
Well… I beg to differ…
It is some years since I compiled the kernel with RT patches and had it in my listening room, but it did make quite an audible difference running on x86 PC and USB to DAC at that time. My high end hifi system is even more expensive now, so very resolving on minute details. Latency or time jitter IS audible. I also had some dialog with Linus regarding optimizations in ALSA at the time. I actually made my own memory player written in C with text based GUI that was golden. Also tweaked LMS to death.
I do know that many of RT patches has been taken into main line kernel over time, so maybe not so critical with those RT patches anymore?
BTW. It looks like you have default locked the 4xCPU to 1.2GHz with performance governors. Performance governor is mandatory in my world. Some reason to not run max frequency (except for heat)?
During the years I’ve performed so many tests, considering how sparse and inconclusive is literature over alsa tweaks and especially the fact that no-one brought objective measurements…
So, the approach I took was measuring with an audio precision device, I did measure for example playback from RAM (which was a thing some time ago) and found no difference whatsoever in jitter.
Same for some low level kernel tweaks and RT. I guess that you are correct: many tweaks went into kernel by default now…
The only time I found some kernel tinkering was needed was on old RPI models, to compensate for the poor management of USB interrupts…
But, you seem to know what you are talking about. So, if you should condense the tweaks that in your experience make the most difference, what would they be?
As for the governor, also this one we found out to only have effect on PI (and not on other platform) since it heavily affects the I\O USB scheduler
Nice to hear that you have had access to AP equipment and did some real, objective measurements!
I only had my ears and latency measurements to rely on. I also had blind testing with friends.
I guess I have to use some time to catch up on developent on the kernel. At the time I locked some audio and buffer processes to one kernel to optimize cache hits in CPU and adjusting buffers for small, frequent bursts without going into underrun. I guess Diretta is on this path to avoid current peaks to/from CPU/IO hitting the ground plane… I discovered Diretta last week…
My kids are bigger now, so I can prioritise my hifi hobby again! So much to learn, so much to test!