Check out our Monthly Survey Page to see what our users are running.
AMD HDMI sound, why I can't get it work?
Colombo Dec 2, 2017
So I just tried the newest kernel 4.15 through the great ukuu package that enable installation of upstream kernel with simple gui.

Tried to set all the various stuff that was on Arch wiki: https://wiki.archlinux.org/index.php/AMDGPU (despite me having Ubuntu)
Still, can't get the damn HDMI audio working. Last time I listened from my screen was around the fglrx. But now, with new mesas and even new kernel? Still no luck. Why, why?!

R9 285 Tonga Pro or what. Anyone got something like that working?
crt0mega Dec 2, 2017
Did you add "amdgpu.dc=1" to your Linux command line? 4.15 comes with AMDGPU DC support but it's only enabled by default for Vega cards. Take a look at the wiki if you need to know how to set kernel boot parameters like amdgpu.dc=1 with Ubuntu :)

If you have added the above kernel boot parameter and it still doesn't work I'd like to see the output of dmesg (or /var/log/kern.log) right after boot. Maybe there's something wrong.

You might also want to try this special 4.14 kernel patched with DC.
Colombo Dec 2, 2017
Tanks for caring. amdgpu.dc=1 is a first thing I did, in my grub:

cat /etc/default/grub
Spoiler, click me

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="i915.modset=0" # originally modeset=1
GRUM_CMDLINE_LINUX="amdgpu.dc=1"
#GRUB_CMDLINE_LINUX="amdgpu.audio=1 amdgpu.cik_support=1 radeon.cik_support=0 amdgpu.dc=1"

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"                                   

In the commented line is all the settings I tried.

Here is dmesg log:

https://pastebin.com/qL8SHPAf

(seems like I am getting at post-length limit with it)

Thank you for your help.
crt0mega Dec 4, 2017
Hmm. Your /etc/default/grub seems to be wrong (some typos). I usually add kernel parameters to GRUB_CMDLINE_LINUX_DEFAULT. There's also a typo in GRUM_CMDLINE_LINUX="amdgpu.dc=1".

Can you change GRUB_CMDLINE_LINUX_DEFAULT to "quiet i915.modeset=0 amdgpu.dc=1", GRUB_CMDLINE_LINUX to whatever it was before and update your pastebin? Don't forget to sudo update-grub and please make sure that there are no personal informations in your dmesg output.

Tonga is not supported by the radeon module IIRC. Dealing with "radeon/amdgpu.cik/si_support=0/1" should not be necessary.
Colombo Dec 5, 2017
Ah, thank you for seeing that. It seems that when I played with it I made error.

I couldn't properly find what series is my R9 285, but got kind of conflicting answers, since it falls into 200 series and they are either southern, sea or volcanic. At least I tried it.

I corrected the line and now, as what happened before when I "made it working", HDMI output is no longer visible in sound control (and pavucontrol as well).

Here is new dmesg:
https://pastebin.com/3FhKL4mf

(what personal information can be in dmesg?)
crt0mega Dec 5, 2017
Yeah, Tonga is somewhere inbetween and was the first amdgpu-only GPU if I remember correctly. That's confusing because 280 (Tahiti) and 290 (Hawaii) are supported by both modules xD It's even more confusing now with so many cards being supported by both drivers – whereas amdgpu is the only one which works with radv on these older GCN cards.

Quote(what personal information can be in dmesg?)

Sometimes there might be some MAC addresses or WIFI names showing up in these logs.

I'm gonna take a look at the log when I'm back at home. Could you do an "aplay -l" and a "sudo modinfo -p amdgpu"? Maybe "amdgpu.audio=1" was needed but only in the right GRUB variable. modinfo -p is great if you need to know which parameters can be used with a specific kernel module.

Edit: I don't get it. Kernel 4.15 and amdgpu.dc=1 should be enough :/ Sorry but I'm not much help here …
Colombo Dec 5, 2017
aplay -l
Spoiler, click me
**** Seznam PLAYBACK Hardwarových zařízení ****
karta 0: PCH [HDA Intel PCH], zařízení 0: ALC662 rev1 Analog [ALC662 rev1 Analog]
  Podzařízení: 0/1
  Podzařízení #0: subdevice #0
karta 2: HDMI [HDA ATI HDMI], zařízení 3: HDMI 0 [HDMI 0]
  Podzařízení: 1/1
  Podzařízení #0: subdevice #0
karta 2: HDMI [HDA ATI HDMI], zařízení 7: HDMI 1 [HDMI 1]
  Podzařízení: 1/1
  Podzařízení #0: subdevice #0
karta 2: HDMI [HDA ATI HDMI], zařízení 8: HDMI 2 [HDMI 2]
  Podzařízení: 1/1
  Podzařízení #0: subdevice #0
karta 2: HDMI [HDA ATI HDMI], zařízení 9: HDMI 3 [HDMI 3]
  Podzařízení: 1/1
  Podzařízení #0: subdevice #0
karta 2: HDMI [HDA ATI HDMI], zařízení 10: HDMI 4 [HDMI 4]
  Podzařízení: 1/1
  Podzařízení #0: subdevice #0
karta 2: HDMI [HDA ATI HDMI], zařízení 11: HDMI 5 [HDMI 5]
  Podzařízení: 1/1
  Podzařízení #0: subdevice #0

modinfo
Spoiler, click me

vramlimit:Restrict VRAM for testing, in megabytes (int)
vis_vramlimit:Restrict visible VRAM for testing, in megabytes (int)
gartsize:Size of GART to setup in megabytes (32, 64, etc., -1=auto) (uint)
gttsize:Size of the GTT domain in megabytes (-1 = auto) (int)
moverate:Maximum buffer migration rate in MB/s. (32, 64, etc., -1=auto, 0=1=disabled) (int)
benchmark:Run benchmark (int)
test:Run tests (int)
audio:Audio enable (-1 = auto, 0 = disable, 1 = enable) (int)
disp_priority:Display Priority (0 = auto, 1 = normal, 2 = high) (int)
hw_i2c:hw i2c engine enable (0 = disable) (int)
pcie_gen2:PCIE Gen2 mode (-1 = auto, 0 = disable, 1 = enable) (int)
msi:MSI support (1 = enable, 0 = disable, -1 = auto) (int)
lockup_timeout:GPU lockup timeout in ms (default 0 = disable) (int)
dpm:DPM support (1 = enable, 0 = disable, -1 = auto) (int)
fw_load_type:firmware loading type (0 = direct, 1 = SMU, 2 = PSP, -1 = auto) (int)
aspm:ASPM support (1 = enable, 0 = disable, -1 = auto) (int)
runpm:PX runtime pm (1 = force enable, 0 = disable, -1 = PX only default) (int)
ip_block_mask:IP Block Mask (all blocks enabled (default)) (uint)
bapm:BAPM support (1 = enable, 0 = disable, -1 = auto) (int)
deep_color:Deep Color support (1 = enable, 0 = disable (default)) (int)
vm_size:VM address space size in gigabytes (default 64GB) (int)
vm_fragment_size:VM fragment size in bits (4, 5, etc. 4 = 64K (default), Max 9 = 2M) (int)
vm_block_size:VM page table size in bits (default depending on vm_size) (int)
vm_fault_stop:Stop on VM fault (0 = never (default), 1 = print first, 2 = always) (int)
vm_debug:Debug VM handling (0 = disabled (default), 1 = enabled) (int)
vm_update_mode:VM update using CPU (0 = never (default except for large BAR(LB)), 1 = Graphics only, 2 = Compute only (default for LB), 3 = Both (int)
vram_page_split:Number of pages after we split VRAM allocations (default 512, -1 = disable) (int)
exp_hw_support:experimental hw support (1 = enable, 0 = disable (default)) (int)
dc:Display Core driver (1 = enable, 0 = disable, -1 = auto (default)) (int)
dc_log: (int)
sched_jobs:the max number of jobs supported in the sw queue (default 32) (int)
sched_hw_submission:the max number of HW submissions (default 2) (int)
ppfeaturemask:all power features enabled (default)) (uint)
no_evict:Support pinning request from user space (1 = enable, 0 = disable (default)) (int)
direct_gma_size:Direct GMA size in megabytes (max 96MB) (int)
pcie_gen_cap:PCIE Gen Caps (0: autodetect (default)) (uint)
pcie_lane_cap:PCIE Lane Caps (0: autodetect (default)) (uint)
cg_mask:Clockgating flags mask (0 = disable clock gating) (uint)
pg_mask:Powergating flags mask (0 = disable power gating) (uint)
sdma_phase_quantum:SDMA context switch phase quantum (x 1K GPU clock cycles, 0 = no change (default 32)) (uint)
disable_cu:Disable CUs (se.sh.cu,...) (charp)
virtual_display:Enable virtual display feature (the virtual_display will be set like xxxx:xx:xx.x,x;xxxx:xx:xx.x,x) (charp)
ngg:Next Generation Graphics (1 = enable, 0 = disable(default depending on gfx)) (int)
prim_buf_per_se:the size of Primitive Buffer per Shader Engine (default depending on gfx) (int)
pos_buf_per_se:the size of Position Buffer per Shader Engine (default depending on gfx) (int)
cntl_sb_buf_per_se:the size of Control Sideband per Shader Engine (default depending on gfx) (int)
param_buf_per_se:the size of Off-Chip Pramater Cache per Shader Engine (default depending on gfx) (int)
job_hang_limit:how much time allow a job hang and not drop it (default 0) (int)
lbpw:Load Balancing Per Watt (LBPW) support (1 = enable, 0 = disable, -1 = auto) (int)
compute_multipipe:Force compute queues to be spread across pipes (1 = enable, 0 = disable, -1 = auto) (int)
si_support:SI support (1 = enabled, 0 = disabled (default)) (int)
cik_support:CIK support (1 = enabled, 0 = disabled (default)) (int)
crt0mega Dec 16, 2017
Sorry. My last two weeks had been somewhat troubled xD

So ALSA does at least list your HDMI outputs but PulseAudio doesn't - maybe PA has some issues?
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register


Or login with...
Sign in with Steam Sign in with Google
Social logins require cookies to stay logged in.