Per Renoise-crackle and Linux-RT handling, I’ve narrowed a problem with Renoise crackling. After partial-progress and topic creep, I’m marking those resolved and continuing here.
Manjaro 6.9.3.3 GNOME
Running Renoise 3.4.4 (purchased) for Linux, I’m getting no error messages, but only still bad crackling in rendered audio. It was installed with makepkg; makepkg -i
from the renoise
AUR helper.
Renoise 3.4.4 in Windows on the same machine works find.
rtcqs
output:
rtcqs - version 0.6.2
Root User
=========
[ OK ] Not running as root.
Group Limits
============
[ OK ] User jc is member of a group that has sufficient rtprio (98) and memlock (unlimited) limits set.
CPU Frequency Scaling
=====================
[ WARNING ] The scaling governor of one or more CPUs is not set to 'performance'. You can set the scaling governor to 'performance' with 'cpupower frequency-set -g performance' or 'cpufreq-set -r -g performance' (Debian/Ubuntu). See also https://wiki.linuxaudio.org/wiki/system_configuration#cpu_frequency_scaling
Kernel Configuration
====================
[ OK ] Valid kernel configuration found.
High Resolution Timers
======================
[ OK ] High resolution timers are enabled.
Tickless Kernel
===============
[ OK ] System is using a tickless kernel.
Preempt RT
==========
[ WARNING ] Kernel 6.9.3-3-MANJARO without 'threadirqs' parameter or real-time capabilities found. See also https://wiki.linuxaudio.org/wiki/system_configuration#do_i_really_need_a_real-time_kernel
Spectre/Meltdown Mitigations
============================
[ WARNING ] Kernel with Spectre/Meltdown mitigations found. This could have a negative impact on the performance of your system. See also https://wiki.linuxaudio.org/wiki/system_configuration#disabling_spectre_and_meltdown_mitigations
RT Priorities
=============
[ OK ] Realtime priorities can be set.
Swappiness
==========
[ WARNING ] vm.swappiness is set to 60 which is too high. Set swappiness to a lower value by adding 'vm.swappiness=10' to /etc/sysctl.conf and run 'sysctl --system'. See also https://wiki.linuxaudio.org/wiki/system_configuration#sysctlconf
Filesystems
===========
[ OK ] The following mounts can be used for audio purposes: /
IRQs
====
[ OK ] Soundcard snd_hda_intel:card0 with IRQ 139 does not share its IRQ.
[ OK ] USB port xhci_hcd with IRQ 125 does not share its IRQ.
Power Management
================
[ OK ] Power management can be controlled from user space. This enables DAWs like Ardour and Reaper to set CPU DMA latency which could help prevent xruns.
Troubleshooting: each was done…
CPU Frequency Scaling
- Solved:
sudo cpupower frequency-set -g performance
Preempt RT
==========
[ WARNING ] Kernel 6.9.3-3-MANJARO without 'threadirqs' parameter or real-time capabilities found. See also https://wiki.linuxaudio.org/wiki/system_configuration#do_i_really_need_a_real-time_kernel
- Using
linux66-rt
didn’t work. - RealTime is working with
realtime-privileges
and therealtime
group membership. - From the linked entertaining read:
grep -e "CONFIG_IRQ_FORCED_THREADING=y" -e "CONFIG_PREEMPT_RT=y" /boot/grub/grub.cfg
yields no match. - And, I’m told from the Renoise forum:
No, nowadays you don’t need realtime kernels. Maybe that’s needed when you record a lot of live instruments with super low latencies, but not for electronic music with Renoise.
- I added
threadirqs
to thelinux
cmdline line in/boot/grub/grub.cfg
…- After reboot, it
threadirqs
loaded:cat /proc/cmdline
:BOOT_IMAGE=/boot/vmlinuz-6.9-x86_64 root=UUID=my-53cr47-l0nG-d81v-3ye0ee rw quiet splash apparmor=1 security=apparmor udev.log_priority=3 threadirqs
- Also added to
/etc/default/grub
&update-grub
- Still no success with Renoise crackles.
- After reboot, it
Swappiness
- Solved:
sudo echo 'vm.swappiness=10' >> /etc/sysctl.d/swappiness.conf
Spectre/Meltdown Mitigations
============================
[ WARNING ] Kernel with Spectre/Meltdown mitigations found. This could have a negative impact on the performance of your system. See also https://wiki.linuxaudio.org/wiki/system_configuration#disabling_spectre_and_meltdown_mitigations
- I added
mitigations=off
to thelinux
line, though it is highly discouraged.- Added to
/etc/default/grub
&update-grub
- Added to
Results: at;sf
(all tried; still fail)
Still, Renoise has only crackle sounds.
cat /proc/cmdline
:
BOOT_IMAGE=/boot/vmlinuz-6.9-x86_64 root=UUID=my-53cr47-l0nG-d81v-3ye0ee rw quiet splash apparmor=1 security=apparmor udev.log_priority=3 mitigations=off threadirqs
rtcqs
new output with no warnings:
rtcqs - version 0.6.2
Root User
=========
[ OK ] Not running as root.
Group Limits
============
[ OK ] User jc is member of a group that has sufficient rtprio (98) and memlock (unlimited) limits set.
CPU Frequency Scaling
=====================
[ OK ] The scaling governor of all CPUs is set to performance.
Kernel Configuration
====================
[ OK ] Valid kernel configuration found.
High Resolution Timers
======================
[ OK ] High resolution timers are enabled.
Tickless Kernel
===============
[ OK ] System is using a tickless kernel.
Preempt RT
==========
[ OK ] Kernel 6.9.3-3-MANJARO is using threaded IRQs.
Spectre/Meltdown Mitigations
============================
[ OK ] Spectre/Meltdown mitigations are disabled. Be warned that this makes your system more vulnerable to Spectre/Meltdown attacks.
RT Priorities
=============
[ OK ] Realtime priorities can be set.
Swappiness
==========
[ OK ] Swappiness is set at 10.
Filesystems
===========
[ OK ] The following mounts can be used for audio purposes: /
IRQs
====
[ OK ] Soundcard snd_hda_intel:card0 with IRQ 139 does not share its IRQ.
[ OK ] USB port xhci_hcd with IRQ 125 does not share its IRQ.
Power Management
================
[ OK ] Power management can be controlled from user space. This enables DAWs like Ardour and Reaper to set CPU DMA latency which could help prevent xruns.
Conclusions so far
So, none of the above suggestions solved anything, and I did all of them.
Even if they were the solution, manually adjusting /etc/default/grub
shouldn’t become standard for everyone using Renoise when other DAWs work fine.
Generally, using a relatively recent version of any DAW, in which FL Studio already works via wine
, and in which the DAW works in Windows on the same machine, we shouldn’t need so much work just to get one DAW working. Even then, after all the recommended changes, it still doesn’t work.
- I’m not the only one with this problem.
- PipeWire is having multiple - issues.
This seems to me like either:
- A bug that needs properly reporting.
- A special problem with my hardware that
rtcqs
can’t even detect.
To this point, I’ve spent 10 hours trying other people’s untried suggestions. I want working solutions only. Renoise was working on Manjaro in 2021 with a simple pipewire
install. So, it’s possible.
Renoise is the DAW made for Linux. A viable OOB Linux distro (like Manjaro aims for) needs to work with it better than a wine
Windows DAW. Manjaro doesn’t need to be child-proof, but if a Linux DAW doesn’t work OOB on Manjaro, the PM team will want to know.
- Are there successful install instructions for the current Manjaro I’ve missed?
- What working solution gets Renoise to render sound without crackles?
- (Renoise demo here for testing)
- Does this need to become a bug report?
- Inform PipeWire?
- Inform Manjaro for finding a non-PipeWire solution since PipeWire isn’t necessarily the future anyway?..
- Pipewire is aiming to replace both JACK and PulseAudio, but it’s not quite there yet, and won’t be for a while. Definitely don’t treat it as “the next big thing everyone agrees on” (think Wayland) - treat it as “an upcoming big thing that might just be worth the tradeoffs” (think systemd)