No announcement yet.

HDA Xrun storm on 4.1x kernel series

  • Filter
  • Time
  • Show
Clear All
new posts

  • HDA Xrun storm on 4.1x kernel series

    Hello. I have a major problem when using 4.1x kernels.

    One month ago I upgraded to 4.13, because of the constant freezes when using my Vega card in 4.9 with the original Vega release AMDGPU-PRO DKMS drivers.
    It fixed the freezes. However, a major problem came.

    Every time I use a 4.1x series kernel, whether upstream or real-time-patched, I get so many audio XRuns when using JACK (at 44100Hz, 128 samples, 2 periods) (yes, I *need* real-time).
    I tried modprobing snd-hda-intel with different position fixes, system/cycle/hpet settings, threadirqs+rtirq, increasing max-user-freq for HPET and RTC, increasing PCI latency timers, and no PulseAudio but nothing fixed the problem.
    4.9 worked flawlessly, but the hangs of the very first DKMS driver and the inability to compile amdgpu-18.10-572953 with 4.9 prevent me from using it.

    The (kind of) ironic thing is, using yes > /dev/null or setting the cpufreq governor to powersave fixes the problem (many users suggest doing the opposite (performance) but it actually makes the problem worse!)
    But I don't want to live permanently in power-save mode, or waste a CPU core just to fix the problem.
    And no, I don't want to increase latency to fix the problem. Yes, I can feel the higher latency.

    So I decided to (as a temporary solution) use my DJ controller as the audio interface for JACK, but the problem is that it's a DJ controller, I want to go back to HDA and I sometimes don't turn it on before logging in, which kills the audio.

    And even more problems: 4.16 lacks KFD (I need compute), 4.14 has no DKMS driver for my card, 4.13 breaks jack-keyboard, and all XRun pages/threads are from the early 201x's.

    Also, I don't want to sacrifice everything (graphics, network, USB, and eventually the entire machine) but audio just to fix the problem (which some guides suggest).

    Is there anything I can do about it?