Linux: ALSA performance degraded severely from 3.4.0 onwards

Hey there, I know the pain you’re going through with Linux. Let me just tell you, that you’re approaching Linux with the wrong attitude. You’re judging it together with commercial products and their marketing strategies. Linux is not only free software in it gives you freedom to do anything with the open sourced code, but also it is often free beer, and then you should not expect to be heard for complaining the same way as one who has paid it. Instead, Linux grows from a scene of people who are enthusiasts and giving their free time to support and fix bugs and improve the whole system. Some distros are truly like that, people who use it know things, and then they are stable but it’s very normal that you first have to fix all kinds of bugs and set up a galore of things if you want to use it for special purposes (i.e. anything else than server or office desktop…).

So you should try to practice patience and try helping with the software in constructive ways, and when you want some serious support for your Linux or end-user experience then you have to pay for that distro or support. Many people will be willing to help you out of sympathy though - just don’t expect it to work like with a commercial product. It’s really free, and anyone with enough knowledge could fix the bugs for you or set everything up perfectly, and when enough people like that get together with others who help, these bugs just get fixed. You can even pay somebody to do it for you with a bounty code. If you want to use linux for some specific purpose, i.e. audio work, then you can also try using an audio-centered distro, which preconfigures some things related to the task.

I’m just going through setting up debian and it rulez, I get like ultra stable sound with the real time kernel, it rocks, I hope I can play guitar with this live without delay, not tried but latency looks promising. I had to fix up everything in my install, crossing fingers to get the last things resolved & then just use my system for months straight… Old thread, but this is the beginning of what to do… https://forum.renoise.com/t/linux-system-realtime-performance-tuning cyclictest ftw. am now at like 20-50 ns gaps with sporadic single drops 200-500 (intel gfx driver sucks, and nvidia hacked up for rt-kernel, even more, then I don’t want to miss luks). I think going for open source graphics drivers and avoiding the wrong ones (intel…) and then avoiding encryption can get you around or sub 10µs stable maximum latency dropouts for your audio and sound card threads, that is on a properly configured realtime kernel system on hardware that allows this (I do it with used lenovo workstation gear).

About your problem, you must understand something about the new “default” device. It’s dependent on your distro’s mixer, so in your case maybe pipewire, and it’s maybe not realtime stable. So go complaining to the linux mint people, but maybe there’s also fault in renoise about it somewhere. Do not expect latencies to work well below like 150-250ms. The mode in renoise is just for convenience I think, so you can listen to tunes without killing the sound server. Maybe it can be tuned, I don’t use pipewire because I still use jack (no it’s not dead, but the most stable for ultra low latencies…). The default output is the software mixer, and when you use the direct also code of the card, then the card gets locked up just for renoise, and other apps cannot use it - so it can work much more stable without pipewire. I believe the ability to use the default device is new to the current (3.4) version, so that’s maybe the difference that was introduced?

To make it work better, you can try to setup pipewire so it is more realtime stable. Also you mentioned that Renoise gives a warning about realtime priorities? Have you not thought these warnings are valid, why haven’t you researched them instead of ignoring them? In the renoise docs is written you should setup realtime priorities rights for your user. You can check in terminal with ulimit -r -l, and it should show something like “95/unlimited” for the two values. If you don’t get that output, you should try doing the steps prescribed in the Linux Faq (Linux FAQ - Renoise User Manual) way down at the point “Realtime Threads”.

This is actually done automatically when you install jackd2, and usually instead of what is written in the faq you’d write a file “/etc/security/limits.d/audio.conf” with the rights definitions ("@audio - rtprio 99, @audio - memlock unlimited), then “sudo adduser yourusername audio”, don’t forget to log out and back in before chekcing again with the “ulimit -r -l” command. I can help you further if you want.

But probably your sound system is just not stable enough, so it might not help. Why don’t you just keep using the old option of using the sound card directly with alsa? Renoise is a realtime audio program. I think it got more realtime stable with v 3.4 btw., I could set latency much lower, to like 4ms at times on a realtime kernel, that was not possible in the past, I believe. Even if you use alsa directly, the limits.d fix will help you making your sound more stable. Jack only allows going even more stable , also when you use it with pipewire. Just go through the hoops of setting it up right once, and seek help if you need it, then you can keep using it until your another update breaks it some day, or the computer itself breaks down from extended use or hardware failure :skull_and_crossbones:.