# [solved] No HDMI sound with RX580

## Elleni

I migrated gentoo to a new box. On the old one, I had an amd R7 250 (http://dev1.club-3d.com/index.php/produkte/leser.de/product/radeon-r7-250-eyefinity-4.1604.html) with hdmi enabled soundoutput. All working well. 

Now on the hardware (Saphire Nitro+ RX580 Special Edition http://www.sapphiretech.com/productdetial.asp?pid=3891952B-0F89-44B0-A39E-E911C8B689F9&lang=eng), there is no soundoutput over hdmi. 

Is this still correct ?

https://wiki.archlinux.org/index.php/AMDGPU#No_HDMI.2FDP_Audio

The open source AMDGPU driver relies on the DC (formerly DAL) code that was pulled into the 4.15 kernel. Until 4.15 Kernel is available in official repositories, audio support for HDMI and DisplayPort will not be available, unless using 4.15 kernel. (...) Another way to get HDMI and DisplayPort audio is to install the AMDGPU PRO driver. 

How can I install 4.15 gentoo-sources kernel, Latest unstable is 4.14.10-r1 or do I really need amd-gpu pro which is not in portage?

 aplay --list-devices

```
**** Liste der Hardware-Geräte (PLAYBACK) ****

Karte 0: HDMI [HDA ATI HDMI], Gerät 3: HDMI 0 [HDMI 0]

  Sub-Geräte: 1/1

  Sub-Gerät #0: subdevice #0

Karte 0: HDMI [HDA ATI HDMI], Gerät 7: HDMI 1 [HDMI 1]

  Sub-Geräte: 1/1

  Sub-Gerät #0: subdevice #0

Karte 0: HDMI [HDA ATI HDMI], Gerät 8: HDMI 2 [HDMI 2]

  Sub-Geräte: 1/1

  Sub-Gerät #0: subdevice #0

Karte 0: HDMI [HDA ATI HDMI], Gerät 9: HDMI 3 [HDMI 3]

  Sub-Geräte: 1/1

  Sub-Gerät #0: subdevice #0

Karte 0: HDMI [HDA ATI HDMI], Gerät 10: HDMI 4 [HDMI 4]

  Sub-Geräte: 1/1

  Sub-Gerät #0: subdevice #0

Karte 0: HDMI [HDA ATI HDMI], Gerät 11: HDMI 5 [HDMI 5]

  Sub-Geräte: 1/1

  Sub-Gerät #0: subdevice #0

Karte 1: Generic [HD-Audio Generic], Gerät 0: ALC887-VD Analog [ALC887-VD Analog]

  Sub-Geräte: 1/1

  Sub-Gerät #0: subdevice #0

Karte 1: Generic [HD-Audio Generic], Gerät 1: ALC887-VD Digital [ALC887-VD Digital]

  Sub-Geräte: 1/1

  Sub-Gerät #0: subdevice #0

```

emerge --info              

```
Portage 2.3.13 (python 3.5.4-final-0, default/linux/amd64/17.0/desktop/plasma, gcc-6.4.0, glibc-2.25-r9, 4.14.10-gentoo-r1 x86_64)

=================================================================

System uname: Linux-4.14.10-gentoo-r1-x86_64-AMD_Ryzen_5_1600_Six-Core_Processor-with-gentoo-2.4.1

KiB Swap:    9767516 total,   9767516 free

Timestamp of repository gentoo: Tue, 02 Jan 2018 11:30:01 +0000

Head commit of repository gentoo: 247af5efe0845e4b24385008f240e3e64f5e88c7

sh bash 4.3_p48-r1

ld GNU ld (Gentoo 2.29.1 p3) 2.29.1

app-shells/bash:          4.3_p48-r1::gentoo

dev-lang/perl:            5.24.3::gentoo

dev-lang/python:          2.7.14-r1::gentoo, 3.5.4-r1::gentoo

dev-util/cmake:           3.9.6::gentoo

dev-util/pkgconfig:       0.29.2::gentoo

sys-apps/baselayout:      2.4.1-r2::gentoo

sys-apps/openrc:          0.34.11::gentoo

sys-apps/sandbox:         2.10-r4::gentoo

sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo

sys-devel/automake:       1.11.6-r2::gentoo, 1.12.6-r1::gentoo, 1.15.1-r1::gentoo

sys-devel/binutils:       2.29.1-r1::gentoo

sys-devel/gcc:            6.4.0::gentoo

sys-devel/gcc-config:     1.8-r1::gentoo

sys-devel/libtool:        2.4.6-r3::gentoo

sys-devel/make:           4.2.1::gentoo

sys-kernel/linux-headers: 4.13::gentoo (virtual/os-headers)

sys-libs/glibc:           2.25-r9::gentoo

Repositories:

gentoo

    location: /usr/portage

    sync-type: rsync

    sync-uri: rsync://rsync.gentoo.org/gentoo-portage

    priority: -1000

    sync-rsync-extra-opts: 

seden

    location: /var/lib/layman/seden

    masters: gentoo

    priority: 50

test

    location: /usr/local/portage

    masters: gentoo

    priority: 100

ACCEPT_KEYWORDS="amd64"

ACCEPT_LICENSE="* -@EULA"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-O2 -march=znver1"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo"

CXXFLAGS="-O2 -march=znver1"

DISTDIR="/usr/portage/distfiles"

FCFLAGS="-O2 -pipe"

FEATURES="assume-digests binpkg-logs buildpkg candy config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"

FFLAGS="-O2 -pipe"

GENTOO_MIRRORS="http://distfiles.gentoo.org"

LANG="de_CH.UTF-8"

LC_ALL="de_CH.UTF-8"

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

MAKEOPTS="-j13"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"

PORTAGE_TMPDIR="/tmp"

USE="X a52 aac acl acpi activities aes alsa amd64 avx avx2 berkdb bluetooth branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx d3d9 dbus declarative dri dri3 dts dvd dvdr emboss encode exif fam ffmpeg firefox flac fma3 fortran frei0r gdbm gif glamor gnutls gpm gtk iconv icu ipv6 jpeg kde kipi kwallet lcms ldap libnotify llvm lm_sensors mad mmx mmxext mng modules mp3 mp4 mpeg mtp multilib ncurses nls nptl ocr ogg openal opencl opengl openmax openmp osmesa pam pango pclmul pcre pdf pdfpopcnt phonon plasma png policykit ppds pulseaudio qml qt3support qt5 readline realtime s3tc scanner sdl seccomp semantic-desktop session spell spice sse sse2 sse3 sse4_1 sse4_2 sse4a ssh ssl ssse3 staging startup-notification svg tcpd theora tiff truetype udev udisks unicode upower usb uxa vaapi vdpau vhost-net vorbis vpx webrtc-aec widgets wxwidgets x264 xattr xcb xcomposite xml xv xvid zlib" ABI_X86="64 32" ALSA_CARDS="hda-intel" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext smp sse sse2 sse3 sse4_1 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev" KERNEL="linux" L10N="de el en fr it tr" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de de_DE el en fr fr_FR it tr" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-0" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_5" PYTHON_TARGETS="python2_7 python3_5" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby22" SANE_BACKENDS="pixma" USERLAND="GNU" VIDEO_CARDS="amdgpu radeon radeonsi virgl" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"

Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
```

Last edited by Elleni on Sun Jan 21, 2018 1:45 am; edited 1 time in total

----------

## Ant P.

There are no -rc kernel sources available as ebuilds, so you'll either have to wait until 4.15 is released (in a week or two) or download/git-clone it off kernel.org.

There's a dev-libs/amdgpu-pro-opencl package in portage, but it sounds like it doesn't contain the full driver and so won't help here.

(I have the same problem FWIW, but I'm working around it with pulseaudio-over-ethernet)

----------

## Elleni

Thanks for your confirmation, so I guess its not a problem of misconfiguration of my side  :Smile: 

I guess, I ll wait and/or try amd-gpu installation on top of amdgpu to see where it gets. Your mentioned workaround with pulseaudio over ethernet sounds interesting, but I ll have to see, wether I find some usefull info to see, if that could help me get sound over to my tv  :Smile: 

----------

## NeddySeagoon

Elleni,

4.15.0 has a new amdgpu driver. Its worth trying.

```
emerge git-sources
```

will get you the current release candidate.

Of course, it might drink all the beer in your fridge too :)

I seem to remember that hdmi audio is in earlier kernel but its disabled by default.

You need a kernel parameter to enable it. Of course, it will be disabled for good reasons.

I've not tried it.

----------

## Ant P.

It's there but I have the same symptom as Elleni shows in the first post: the card shows a lot of HDMI outputs (5 in my case), but they all emit no sound. Presumably 4.15 contains the magic dust needed to connect the HDA codec to the video output.

----------

## Elleni

Maybe I ll try git-sources to see, wether there is sound in hdmi, else I ll wait some weeks till gentoo-sources-4.15 will be in tree. Thanks  :Smile: 

According to radeon wiki, boot parameter radeon.audio=1 is only needed for kernels older than 3.13 and thus is enabled by default, so I never tried setting it.

----------

## Aquous

For some cards, you also need to add

```
amdgpu.dc=1
```

to the kernel command line

----------

## Elleni

I tried 

```
amdgpu.dc=1
```

and also the obsolete 

```
radeon.audio=1
```

without success. 

So I will try git-sources now and report back.

----------

## Elleni

Mhm, it does not work eather with git-sources-4.15-rc7   :Mad: 

I guess, next thing to try would be to install amdgpu-pro

----------

## Elleni

failed @ installing amdgpu-pro, but opened a separate new thread for this one. Hope it works with it, else I don't know, what I could try.

----------

## Elleni

The combination of Neddy's and Aquous' comments did the trick. I had only tested amdgpu.dc=1 with 4.14 kernel. Now re-tested with this kernel commandline and git-sources and have hdmi sound output  :Smile: 

Thanks guys  :Smile: 

----------

## Ant P.

That's good to hear; I've been using a dumb pulseaudio-over-LAN setup in the meantime (dropouts like it's 2004!) and it'll be nice to restore some sanity to my cable management...

----------

## Elleni

I successfully installed amdgpu-pro driver, but hdmi sound does not work with it, at least not out-of-the-box.

----------

