Audio problems with amd gpu after latest update

Hi,

Does anyone else experience audio problems after recent system updates? This is what’s happening now on my system:

-no proper audio passthrough to av receiver, only gets dolby digital no dts-hd/atmos etc via kodi.
-youtube videos stutter/hangs, audio no problem
-vlc only stereo output
-sound stutters in lutris/avatar pandora

All was working fine but recently things got messed up. Already checked settings in kodi, pavucontrol (flatpak), flatseal, audio config in system settings. Even booting from a previous snapshot/kernel results in the same errors strangely…

Any help would be great!

p.s. the gpu is a 7800xt

Also youtube video previews play smoothly when hovering on it with cursor. Seems thing go wrong when audio is involved.

Update:
Playing youtube videos with sound muted in the videoplayer goes smoothly also…???

When I play a video or audio every the application stucks and no outputs.

On what hardware is this happening?

I’ve reinstalled pipewire, pipewire-pulseaudio, pipewire-alsa and gstreamer-plugin-pipewire. Still same problem. Anyone got an idea?

Do you have packman repo enabled and vendor switch performed?
https://en.opensuse.org/SDB:Installing_codecs_from_Packman_repositories

yes, ffmpeg stuff I believe. Recommended by various internet sources.

Believing is not knowing :wink:
Show the output of following command. You need to replace the “packman” term with the actual name of your repo…

zypper se -i --repo "packman"
ich@laptop:~> LANG=C zypper se -i --repo "packman"
Loading repository data...
Reading installed packages...

S  | Name                            | Summary                                                          | Type
---+---------------------------------+------------------------------------------------------------------+--------
i+ | ffmpeg-6                        | Set of libraries for working with various multimedia formats     | package
i+ | gdk-pixbuf-loader-libheif       | GDK PixBuf Loader for libheif                                    | package
i+ | libavcodec58_134                | FFmpeg codec library                                             | package
i+ | libavcodec60                    | FFmpeg codec library                                             | package
i+ | libavdevice60                   | FFmpeg device library                                            | package
i+ | libavfilter9                    | FFmpeg audio and video filtering library                         | package
i+ | libavformat58_76                | FFmpeg's stream format library                                   | package
i+ | libavformat60                   | FFmpeg's stream format library                                   | package
i+ | libavutil56_70                  | FFmpeg's utility library                                         | package
i+ | libavutil58                     | FFmpeg's utility library                                         | package
i+ | libde265-0                      | Open H.265 video codec implementation - libraries                | package
i+ | libfdk-aac2                     | A standalone library of the Fraunhofer FDK AAC code from Android | package
i  | libfdk-aac2-32bit               | A standalone library of the Fraunhofer FDK AAC code from Android | package
i+ | libgbm1                         | Generic buffer management API                                    | package
i  | libgbm1-32bit                   | Generic buffer management API                                    | package
i  | libheif-aom                     | Plugin AOM encoder and decoder for AVIF                          | package
i  | libheif-dav1d                   | Plugin dav1d decoder for AVIF                                    | package
i  | libheif-ffmpeg                  | Plugin FFMPEG decoder (HW acc) for HEIC                          | package
i  | libheif-jpeg                    | Plugin encoder and decoder for JPEG in HEIF                      | package
i  | libheif-openjpeg                | Plugin OpenJPEG J2K encoder and decoder for JPEG-2000 in HEIF    | package
i+ | libheif-rav1e                   | Plugin rav1e encoder for AVIF                                    | package
i+ | libheif-svtenc                  | Plugin SVT-AV1 encoder for AVIF                                  | package
i+ | libheif1                        | HEIF/AVIF file format decoder and encoder                        | package
i+ | libpostproc55_9                 | FFmpeg post-processing library                                   | package
i+ | libpostproc57                   | FFmpeg post-processing library                                   | package
i  | libquicktime0                   | Library for Reading and Writing Quicktime Movie Files            | package
i  | librist4                        | Development files for librist                                    | package
i  | librtmp1                        | RTMP Stream Dumper Library                                       | package
i+ | libswresample3_9                | FFmpeg software resampling library                               | package
i+ | libswresample4                  | FFmpeg software resampling library                               | package
i+ | libswscale5_9                   | FFmpeg image scaling and colorspace/pixel conversion library     | package
i+ | libswscale7                     | FFmpeg image scaling and colorspace/pixel conversion library     | package
i+ | libvlc5                         | Shared code for the VLC media player program                     | package
i+ | libvlccore9                     | Shared code for the VLC media player program                     | package
i+ | libvulkan_intel                 | Mesa vulkan driver for Intel GPU                                 | package
i+ | libvulkan_intel-32bit           | Mesa vulkan driver for Intel GPU                                 | package
i+ | libx264-164                     | A free h264/avc encoder - encoder binary                         | package
i+ | libx265-199                     | A free H265/HEVC encoder - encoder binary                        | package
i  | libxvidcore4                    | Shared library libxvidcore                                       | package
i+ | Mesa                            | System for rendering 3-D graphics                                | package
i+ | Mesa-32bit                      | System for rendering 3-D graphics                                | package
i+ | Mesa-dri                        | DRI plug-ins for 3D acceleration                                 | package
i+ | Mesa-dri-32bit                  | DRI plug-ins for 3D acceleration                                 | package
i+ | Mesa-gallium                    | Mesa Gallium GPU drivers                                         | package
i+ | Mesa-gallium-32bit              | Mesa Gallium GPU drivers                                         | package
i+ | Mesa-libEGL1                    | EGL API implementation                                           | package
i+ | Mesa-libGL1                     | The GL/GLX runtime of the Mesa 3D graphics library               | package
i+ | Mesa-libGL1-32bit               | The GL/GLX runtime of the Mesa 3D graphics library               | package
i+ | Mesa-libglapi0                  | Free implementation of the GL API                                | package
i+ | Mesa-libglapi0-32bit            | Free implementation of the GL API                                | package
i+ | Mesa-libva                      | Mesa VA-API implementation                                       | package
i+ | Mesa-vulkan-device-select       | Vulkan layer to select Vulkan devices provided by Mesa           | package
i+ | Mesa-vulkan-device-select-32bit | Vulkan layer to select Vulkan devices provided by Mesa           | package
i+ | vlc                             | Graphical media player                                           | package
i+ | vlc-codec-gstreamer             | GStreamer integration for the VLC media player                   | package
i+ | vlc-lang                        | Translations for package vlc                                     | package
i+ | vlc-noX                         | VLC without X dependencies                                       | package
i+ | vlc-qt                          | Qt interface for the VLC media player                            | package
i+ | vlc-vdpau                       | Additional vdpau codecs for the VLC media player                 | package
ich@laptop:~> 

magician@localhost:~> zypper se -i --repo "packman"
Loading repository data...
Reading installed packages...

S  | Name                          | Summary                           | Type
---+-------------------------------+-----------------------------------+--------
i+ | ffmpeg-6                      | Set of libraries for working wi-> | package
i  | gdk-pixbuf-loader-libheif     | GDK PixBuf Loader for libheif     | package
i+ | gstreamer-plugins-bad-codecs  | Codecs/plugins for gstreamer-pl-> | package
i+ | gstreamer-plugins-ugly-codecs | Codecs/plugins for gstreamer-pl-> | package
i  | libavcodec58_134              | FFmpeg codec library              | package
i  | libavcodec60                  | FFmpeg codec library              | package
i  | libavdevice58_13              | FFmpeg device library             | package
i  | libavdevice60                 | FFmpeg device library             | package
i  | libavfilter7_110              | FFmpeg audio and video filterin-> | package
i  | libavfilter9                  | FFmpeg audio and video filterin-> | package
i  | libavformat58_76              | FFmpeg's stream format library    | package
i  | libavformat60                 | FFmpeg's stream format library    | package
i  | libavresample4_0              | FFmpeg alternate audio resampli-> | package
i  | libavutil56_70                | FFmpeg's utility library          | package
i  | libavutil58                   | FFmpeg's utility library          | package
i  | libde265-0                    | Open H.265 video codec implemen-> | package
i  | libfaac0                      | Shared library part of faac       | package
i  | libfaad2                      | Shared library part of faad2      | package
i  | libfdk-aac2                   | A standalone library of the Fra-> | package
i  | libgbm1                       | Generic buffer management API     | package
i  | libheif-rav1e                 | Plugin rav1e encoder for AVIF     | package
i  | libheif-svtenc                | Plugin SVT-AV1 encoder for AVIF   | package
i  | libheif1                      | HEIF/AVIF file format decoder a-> | package
i  | libopenaptx0                  | An implementation of Audio Proc-> | package
i  | libOSMesa8                    | Mesa Off-screen rendering exten-> | package
i  | libpostproc55_9               | FFmpeg post-processing library    | package
i  | libpostproc57                 | FFmpeg post-processing library    | package
i  | libquicktime0                 | Library for Reading and Writing-> | package
i  | librist4                      | Development files for librist     | package
i  | librtmp1                      | RTMP Stream Dumper Library        | package
i  | libswresample3_9              | FFmpeg software resampling libr-> | package
i  | libswresample4                | FFmpeg software resampling libr-> | package
i  | libswscale5_9                 | FFmpeg image scaling and colors-> | package
i  | libswscale7                   | FFmpeg image scaling and colors-> | package
i  | libvdpau_r600                 | VDPAU state tracker for R600      | package
i  | libvdpau_radeonsi             | VDPAU state tracker for radeonsi  | package
i  | libvlc5                       | Shared code for the VLC media p-> | package
i  | libvlccore9                   | Shared code for the VLC media p-> | package
i  | libvo-aacenc0                 | VisualOn AAC encoder library      | package
i  | libvulkan_radeon              | Mesa vulkan driver for AMD GPU    | package
i  | libx264-164                   | A free h264/avc encoder - encod-> | package
i  | libx265-199                   | A free H265/HEVC encoder - enco-> | package
i  | libxvidcore4                  | Shared library libxvidcore        | package
i  | Mesa                          | System for rendering 3-D graphics | package
i  | Mesa-dri                      | DRI plug-ins for 3D acceleration  | package
i  | Mesa-gallium                  | Mesa Gallium GPU drivers          | package
i  | Mesa-libEGL1                  | EGL API implementation            | package
i  | Mesa-libGL1                   | The GL/GLX runtime of the Mesa -> | package
i  | Mesa-libglapi0                | Free implementation of the GL API | package
i  | Mesa-libva                    | Mesa VA-API implementation        | package
i  | Mesa-vulkan-device-select     | Vulkan layer to select Vulkan d-> | package
i+ | pipewire-aptx                 | PipeWire Bluetooth aptX codec p-> | package
i+ | vlc-codec-gstreamer           | GStreamer integration for the V-> | package
i+ | vlc-codecs                    | Additional codecs for the VLC m-> | package
i  | vlc-noX                       | VLC without X dependencies        | package

Can you perform the vendor switch again. It seems that not all Mesa packages are switched…but it may be a difference between AMD and Intel systems. But to be sure:

sudo zypper dist-upgrade --from packman --allow-vendor-change

magician@localhost:~> sudo zypper dist-upgrade --from packman --allow-vendor-change
[sudo] password for root:
Loading repository data…
Reading installed packages…
Computing distribution upgrade…

The following 5 packages are going to be upgraded:
libheif-aom libheif-dav1d libheif-ffmpeg libheif-jpeg libheif-openjpeg

The following 5 packages are going to change vendor:
libheif-aom openSUSE → http://packman.links2linux.de
libheif-dav1d openSUSE → http://packman.links2linux.de
libheif-ffmpeg openSUSE → http://packman.links2linux.de
libheif-jpeg openSUSE → http://packman.links2linux.de
libheif-openjpeg openSUSE → http://packman.links2linux.de

5 packages to upgrade, 5 to change vendor.
Overall download size: 135.7 KiB. Already cached: 0 B. No additional space will
be used or freed after the operation.
Continue? [y/n/v/…? shows all options] (y):

Problem still exists.

The solution was disabling ‘sync playback to display’ in kodi. No idea how that got changed up…
Youtube videos etc are still messed up.

Yes. I experience audio problems with I’m using Firefox on LEAP. Sound problems seem to be a common problem with Firefox on Linux. Deleting the PulseAudio configuration in your HOME folder and rebooting helps when I’m having problems.

Deleting the PulseAudio configuration in your HOME folder and rebooting helped when I was having problems. run:

rm ~/.config/pulse/*

Reboot. The configuration will be rebuilt when the reboot is finished.

It seems rebooting is unnecessary, if deleting config files in your own user account subdirs.

Case in point … I refer to an issue with some Chromium based browsers that have issues with rendering content after an update. To fix, you delete the GPUCache subdir for the browser in question, then simply log out and then log back in. No reboot necessary.

1 Like

I have this exact issue after updating. It isn’t just youtube though. MPV is also broken, and video games stutter and feel like they are dropping frames, despite reporting a constant framerate

EDIT: MPV works with the --no-audio flag enabled

GPU: RX 6600 XT
Muting youtube also fixes the issue, but it comes straight back when I unmute.

Found a temporary fix:

  1. Execute wireplumber in a terminal emulator.
  2. Issue a CTRL + C interrupt to the wire plumber process.
  3. Reconnect your audio devices.

Then it should work for that boot, but as soon as you reboot, this process will need to be repeated.

So the problem is pointing towards the combination of a amd gpu and pipewire then. On my intel based laptop with a igpu zero problems.
Will downgrading pipewire to a previous version solve it?

Pipewire-pulse to be precise.