Audio cut out (Nvidia HDMI output to AVR)

Hello there

I have installed CachyOS using KDE and Wayland since about 3 weeks by now and unfortunately, I’m not able to completely fix the problem I’m facing. Basically, my audio cuts out. I’m using an HDMI cable coming from my Nvidia graphics card (RTX 3080) which is connected to my Denon AVR / surround system.

When I’m not using my computer, let’s say, I simply watch a Youtube video, the problem happens seldom but still can occasionally occur. If I start using my computer beside watching, such as opening/clsoing a new browser window, generally open/close apps, it keeps cutting out, maybe like every minute or so but of course, this is very random.

My system is up-to-date as of right now. I can also confirm that it’s not a hardware/cable issue because in Windows, there are no cut outs no matter what I do.

I want to mention what I have changed since I have installed CachyOS because that might be relevant. Other than that, everything is default:

I have installed the following according to the CachyOS wiki which made things a little better but didn’t fix the problem really:

sudo pacman -S realtime-privileges
sudo gpasswd -a $USER realtime

I have installed the following package since it seems that this is needed when having a webcam. However, I doubt this is relevant here really:

sudo pacman -S pipewire-libcamera

Regarding configurations:

In pavucontrol → “Output Devices”, I have set the “Port” for my “GA102 High Defintion Audio Controller Digital Surround 5.1 (HDMI)” to “HDMI / DisplayPort (plugged in)” and set it as default. In the “Configuration” tab, I have set the “Profile” to “Digital Surround 5.1 (HDMI Output)”.

Also, I have enabled all the codecs under “Advance”.

Bug report can be accessed here:

In case you need more information, feel free to ask. Thanks for your time in advance.

So, I had some time playing a game yesterday for several hours. During that time, there were no audio issues. No cut outs at all. As soon as I stopped playing, the cut outs came back. That made me wonder, what’s happening. Obviously, the graphics card is under heavy load during game play while it isn’t when just doing stuff on my desktop. I’m using the following command to monitor my GPU:

nvidia-smi --query-gpu=timestamp,pstate,power.draw,pcie.link.gen.current,pcie.link.width.current,temperature.gpu,utilization.gpu,clocks.current.graphics,clocks.current.memory,clocks.current.sm --format=csv -lms 1000

One obvious thing is that the GPU clock changes very often but it does that no matter if I play a game or not so I thought, that cannot be it.

So, I had a look at the memory clock because while gaming, this value stays constantly high. This also correlates with pcie.link.gen.current which stays at 4 while the GPU is in demand. While being on the desktop, both of these values jump around if I use my computer. Especially when it goes from a high value to a low one, audio cut outs may occur. Anyway, after seeing this, I searched online and finally found people who had similar issues like I have. Because before, nothing I tried which people suggested, worked for me. Anyway, seeing that this could be the cause of the issue, I set the memory clock as follows:

sudo nvidia-smi --lock-memory-clocks=5001,9501

5001 is the lowest memory clock speed I allow and 9501 is the highest possible. That way, pcie.link.gen will constantly stay at 4. And violà, no audio cut outs anymore.

However, I’m not totally happy with this. Well, at least it fixed the cut outs which is more important but to be honest, I shouldn’t have to change that and let the system handle it instead. But in my case, it seems not being able to handle this correctly. I’m also not sure which part is actually responsible for it. I doubt it’s the OS or kernel, probably the driver.

In case anyone has the same issue but a different Nvidia GPU, you will have to check what memory clocks your GPU is able to use. You can do that with the following command:

nvidia-smi --query-supported-clocks memory --format=csv

Then use those values to lock the memory clocks as shown above.

In case you want to reset to the default behaviour, you can do that with the following command which resets the locked memory clocks:

sudo nvidia-smi --reset-memory-clocks

Maybe someone more knowledgeable can review this and give ideas or potential other issues which may be introduced regarding locking memory clocks. But if not, I will update the post and consider it as solved any time soon but as of right now, I’m still testing things. Anyway, since one day, I had no audio issue anymore.