Leap 15 no sound when using amgpu (open source)

Hello,

My card is R7 260X. I know in Tumbleweed by adding 'radeon.si_support=0,radeon.cik_support=0,amdgpu.si_support=1, amdgpu.cik_support=1, amdgpu.dc=1’ kernel command I had got amdgpu driver + audio working (through Display Port). However I could not get audio working (video works) in amdgpu in Leap 15 (confirmed from lspci). I tried this with the default kernel (4.12.XX) and also installed kernel 5.0.XXX + firmware from OpenSUSE kernel:Stable repository but still no luck. My audio driver shows up in YASt sound manager (which I set up automatically) but no sound comes out. Can anyone help? Is there amdgpu DC module enabled kernel I should download?

Regards,
Jeff J

[Update: Problem solved]

These are the steps I did, I am not sure which one solved the problem but still:

1)Added download.opensuse.org/repositories/Kernel:/stable/standard/ repo and installed kernel-default-5.0.6-1.1.gdff56e4.x86_64.rpm and kernal-firmware from that repo through YaST.

  1. Downloaded the SLE/SLD 15 amdgpu driver from AMD webpage, in the ‘amdgpu-install.sh’ file, at line 147 where it says ‘if “$ID” = “sle”[s,d] ]] || “$ID” = “opensuse” ]]; then’, there is a mistake, it should be “opensuse-leap”. Once I made the change, I ran the install script as per instructions from the amgpu installation page. It did throw up some dkms !bad error but I ignored it.

  2. From en.opensuse.org/SDB:Intel-HDA_sound_problems, I followed steps:

Step 1 Find out the exact ID of your audio controllers. Look at the part after the colon in the rectangular brackets:)

lspci -nn |grep -i audio 00:03.0 Audio device [0403]: Intel Corporation Broadwell-U Audio Controller [8086:160c] (rev 0a00:1b.0 Audio device [0403]: Intel Corporation 9 Series Chipset Family HD Audio Controller [8086:8ca0])
Step 2 Edit the file /etc/modprobe.d/sound.conf which is usually maintained by YAST manually, assign the default / first sound device to the mainboard chipset and the second one to the Broadwell chipset.)
options snd-hda-intel index=0 model=auto vid=8086 pid=8ca0options snd-hda-intel index=1 model=auto vid=8086 pid=160c
After a reboot the audio signal should be on the audio output on your backplane instead of being defaulted to the HDMI interface. Also most likely the interfaces will look unconfigured in YAST. Ignore this, as reconfiguring the interfaces in YAST will undo your changes to the sound.conf.

  1. Set kernel options at /etc/default/grub to include GRUB_CMDLINE_LINUX_DEFAULT="quiet resume=/dev/system/swap splash=silent quiet showopts radeon.cik_support=0 radeon.si_support=0 amdgpu.cik_support=1 amdgpu.si_support=1 amdgpu.dc=1*"* and ran mkinitrd

  2. I rebooted and installed Pavucontrol, at this point my audio device was correctly identified in the notification volume widget. I opened up pavucontrol and in the advanced tab, I selected the only option that had (plugged in), which happened to be Digital Sterero (HDMI 5) Output and VOILAA! I have sound!!

In all honesty, I think steps 1), 4) and 5) are what made the difference.

I hope this helps!!
Thanks Jeff J

Glad to read of your success with this. It may be helpful to others who come searching. :slight_smile:

The X.Org Radeon Feature page <https://www.x.org/wiki/RadeonFeature/&gt; mentions that the AMD “R7 260” marketing name is a “Sea Islands” family GPU.
The Wikipedia page for the AMD Radeon RX200 series <https://en.wikipedia.org/wiki/AMD_Radeon_Rx_200_series&gt; mentions that, the R7 260X has a Bonaire chip – “Sea Islands” family.

In the Post <Kabini is ok with opensuse leap 15.0 ? - Hardware - openSUSE Forums, which is discussing the AMD Kabini GPU (also a “Sea Islands” GPU), I have mentioned that, for the standard Leap 15.0 Kernel, one has to inspect the “Sea Islands” Firmware being used by the “amdgpu” driver:

 # modinfo amdgpu | grep -iE 'BONAIRE|KABINI|KAVERI|HAWAII|MULLINS' | sort
  • You’ll notice that, the amdgpu driver of the standard Leap 15.0 Kernel uses only the “Sea Islands” Radeon Firmware – not the “amdgpu” Firmware, at all …

I’ve no idea if, this is valid for the version 5.0.xxx kernel but, the originator of this Post has indicated that, it seems to be functioning OK …

I haven’t tried adding the “Sea Islands” (CIK) AMDGPU tweaks (radeon.cik_support / amdgpu.cik_support) to the Kernel command line.

  • The “Southern Islands” (SI) AMDGPU tweaks (radeon.si_support / amdgpu.si_support) resulted in a “not supported here” in the boot journal – meaning, possibly, that the experimental “Southern Islands” AMDGPU support is definitely not available with the standard Leap 15.0 kernel …

Due to an answer I received in a Bug Report, it seems that the Leap 15.1 Kernel may well have the needed Back-Port:

Leap 15.1 got a bunch of backports and DRM stack is equivalent with 4.19 or later.

Thanks for the explanation on your first post. Regarding the back-port of DRM, this would be great! Currently, I am having to update the kernel on Leap 15 to get the amdgpu drivers working with audio. I believe kernel versions 4.15+ seem to have this (amdgpu.dc). When can we expect to get 15.1 update?

Regards,
Jeff

15.1 is due to be released late May 2019

https://en.opensuse.org/openSUSE:Roadmap