Frustrated by vain attempts to debug distorted audio playback/stuttering under heavy load (you may listen to it here), I would appreciate your advice on a more effective way to narrow down the cause of the problem.
System:
Kernel: 6.15.4-200.fc42.x86_64 arch: x86_64 bits: 64 compiler: gcc v: 15.1.1
Desktop: GNOME v: 48.2 Distro: Fedora Linux 42 (Workstation Edition)
Machine:
Type: Convertible System: LENOVO v: ThinkPad Yoga 460
CPU:
Info: dual core model: Intel Core i7-6500U bits: 64 type: MT MCP
arch: Skylake rev: 3 cache: L1: 128 KiB L2: 512 KiB L3: 4 MiB
Speed (MHz): avg: 500 min/max: 400/3100 cores: 1: 500 2: 500 3: 500 4: 500
bogomips: 20799
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Audio:
Device-1: Intel Sunrise Point-LP HD Audio vendor: Lenovo
driver: snd_hda_intel v: kernel bus-ID: 00:1f.3
API: ALSA v: k6.15.4-200.fc42.x86_64 status: kernel-api
Server-1: JACK v: 1.9.22 status: off
Server-2: PipeWire v: 1.4.6 status: active
Swap:
ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) dev: /dev/zram0
Info:
Memory: total: 16 GiB available: 15.49 GiB used: 8.58 GiB (55.4%)
While audio playback from wine applications (musicbee, mpc-be) is worse than the one from native ones, both are equally unbearable.
After experimenting with pipewire and moderate success (by judging sound quality output by ear) from increasing default.clock.min-quantum = 1024
(from an initial default.clock.min-quantum = 32
) in pipewire.conf
as well as tentatively modifying musicbee’s environment withPULSE_LATENCY_MSEC=80
I decided that this search for the needle in the haystack could not continue.
Relatively new to Linux’s audio landscape, I followed the recipe ›How to troubleshoot crackling‹ without noticeable improvement and continue to investigate the functioning of alsa, pipewire, pipwire-pulse and wireplumber at the time of writing.
Just before posting, I came across rtcqs
– a utility which promises identifying bottlenecks and malconfigurations for audio processing – which turned up many recommendations that I have a hard time to judge:
rtcqs - version 0.6.7
Root User
=========
[ e[32mOKe[00m ] Not running as root.
Group Limits
============
[ e[31mWARNINGe[00m ] User vanvan is currently not member of a group that has sufficient rtprio (0) and memlock (8388608) set. Add yourself to a group with sufficent limits set, i.e. audio or realtime, with 'sudo usermod -a -G <group_name> vanvan. See also https://wiki.linuxaudio.org/wiki/system_configuration#audio_group
CPU Frequency Scaling
=====================
[ e[31mWARNINGe[00m ] 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
Simultaneous Multithreading
===========================
[ e[31mWARNINGe[00m ] Simultaneous Multithreading (SMT, also called hyper-threading) is enabled. This can cause spikes in DSP load at higher DSP loads. Consider disabling SMT when experiencing such spikes with 'echo off | sudo tee /sys/devices/system/cpu/smt/control'. See also https://wiki.linuxaudio.org/wiki/system_configuration#simultaneous_multithreading
Kernel Configuration
====================
[ e[32mOKe[00m ] Valid kernel configuration found.
High Resolution Timers
======================
[ e[32mOKe[00m ] High resolution timers are enabled.
Tickless Kernel
===============
[ e[32mOKe[00m ] System is using a tickless kernel.
Preempt RT
==========
[ e[31mWARNINGe[00m ] Kernel 6.15.4-200.fc42.x86_64 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
============================
[ e[31mWARNINGe[00m ] 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
=============
[ e[31mWARNINGe[00m ] Could not assign a 80 rtprio SCHED_FIFO value due to the following error: [Errno 1] Operation not permitted. Set up imits.conf. See also https://wiki.linuxaudio.org/wiki/system_configuration#limitsconfaudioconf
Swappiness
==========
[ e[31mWARNINGe[00m ] 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
===========
[ e[32mOKe[00m ] The following mounts can be used for audio purposes: /
[ e[31mWARNINGe[00m ] The following mounts should be avoided for audio purposes: /boot. See also https://wiki.linuxaudio.org/wiki/system_configuration#filesystems
IRQs
====
[ e[32mOKe[00m ] Soundcard snd_hda_intel:card0 with IRQ 143 does not share its IRQ.
[ e[32mOKe[00m ] USB port xhci_hcd with IRQ 123 does not share its IRQ.
Power Management
================
[ e[31mWARNINGe[00m ] Power management can't be controlled from user space, the device node /dev/cpu_dma_latency can't be accessed by your user. This prohibits DAWs like Ardour and Reaper to set CPU DMA latency which could help prevent xruns. For enabling access see https://wiki.linuxaudio.org/wiki/system_configuration#quality_of_service_interface