Has anybody gotten audio working in Linux on Aorus X570 Master?

Hi,
yeah, I just saw it too. I was a bit in a hurry before and did not see that response.
Alright, time to grab some nvidia gpu and see what is going on. I am running on an RX580 so no wonder I did not hit this problem.

I hope I can find some time this weekend. Thanks for the input.
cheers, chris

UPDATE: I have a hard time finding a suitable NVidia card to test your problem. What exact GPUs do you guys have? All I have right now is an old Quadro FX 380 which only has DisplayPort and DVI outputs - but no HDMI. However, it has audio support so it may still be a viable test-canidate. I hope I don’t have to buy a GPU…

2 Likes

@Sea_Monkey @DigitalYeti

Just thought I should ping you guys in case you don’t otherwise get notifications :slight_smile:

Please see gladiac’s answer above.

Alright, so I got home and tried my old Quadro FX 380 first with nouveau and then with NVidia 340.108 drivers. I even had to backport my patch to 5.4 and compile the older kernel because the nvidia blob wouldn’t build on 5.5. Audio was working fine in both situations.

However, I have one suggestion. Please investigate your audio devices and mixer controls. Try playing around with pavucontrol. It is quite possible your internal audio is just muted or the HDMI port is just the primary audio outlet. Without further information I cannot really troubleshoot this topic right now since I do not have a more modern NVidia card at hand - and really don’t want to spend the money on one. I hope you guys understand.

1 Like

I’m currently following this guide to build a custom kernel, in order to test your patch.

I don’t currently have an Nvidia GPU unfortunately, but I’m buying the GTX 3080 Ti as soon as it comes out. That could be months though. I’ll definitely let you know if I suddenly start having audio issues again at that time :slight_smile:

EDIT: Seems to work perfectly! :grin:

1 Like

I haven’t tried your patch, as I already implemented my own working solution posted above, but for what it’s worth…

Card #0
	Name: alsa_card.pci-0000_01_00.1
	Driver: module-alsa-card.c
	Owner Module: 7
	Properties:
		alsa.card = "1"
		alsa.card_name = "HDA NVidia"
		alsa.long_card_name = "HDA NVidia at 0x53080000 irq 17"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:01:00.1"
		sysfs.path = "/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1"
		device.bus = "pci"
		device.vendor.id = "10de"
		device.vendor.name = "NVIDIA Corporation"
		device.product.id = "10ef"
		device.product.name = "GP102 HDMI Audio Controller"
		device.string = "1"
		device.description = "GP102 HDMI Audio Controller"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
	Profiles:
		output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 5400, available: no)
		output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (sinks: 1, sources: 0, priority: 300, available: no)
		output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (sinks: 1, sources: 0, priority: 300, available: no)
		output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (sinks: 1, sources: 0, priority: 5200, available: no)
		output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 100, available: no)
		output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 100, available: no)
		output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (sinks: 1, sources: 0, priority: 5200, available: no)
		output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 100, available: no)
		output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 100, available: no)
		output:hdmi-stereo-extra3: Digital Stereo (HDMI 4) Output (sinks: 1, sources: 0, priority: 5200, available: no)
		output:hdmi-surround-extra3: Digital Surround 5.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 100, available: no)
		output:hdmi-surround71-extra3: Digital Surround 7.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 100, available: no)
		off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
	Active Profile: off
	Ports:
		hdmi-output-0: HDMI / DisplayPort (priority: 5900, latency offset: 0 usec, not available)
			Properties:
				device.icon_name = "video-display"
			Part of profile(s): output:hdmi-stereo, output:hdmi-surround, output:hdmi-surround71
		hdmi-output-1: HDMI / DisplayPort 2 (priority: 5800, latency offset: 0 usec, not available)
			Properties:
				device.icon_name = "video-display"
			Part of profile(s): output:hdmi-stereo-extra1, output:hdmi-surround-extra1, output:hdmi-surround71-extra1
		hdmi-output-2: HDMI / DisplayPort 3 (priority: 5700, latency offset: 0 usec, not available)
			Properties:
				device.icon_name = "video-display"
			Part of profile(s): output:hdmi-stereo-extra2, output:hdmi-surround-extra2, output:hdmi-surround71-extra2
		hdmi-output-3: HDMI / DisplayPort 4 (priority: 5600, latency offset: 0 usec, not available)
			Properties:
				device.icon_name = "video-display"
			Part of profile(s): output:hdmi-stereo-extra3, output:hdmi-surround-extra3, output:hdmi-surround71-extra3

Card #1
	Name: alsa_card.pci-0000_00_1f.3
	Driver: module-alsa-card.c
	Owner Module: 8
	Properties:
		alsa.card = "0"
		alsa.card_name = "HDA Intel PCH"
		alsa.long_card_name = "HDA Intel PCH at 0x53930000 irq 171"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:00:1f.3"
		sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
		device.bus = "pci"
		device.vendor.id = "8086"
		device.vendor.name = "Intel Corporation"
		device.product.id = "a348"
		device.form_factor = "internal"
		device.string = "0"
		device.description = "Built-in Audio"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
	Profiles:
		input:analog-stereo: Analog Stereo Input (sinks: 0, sources: 1, priority: 60, available: yes)
		output:analog-stereo: Analog Stereo Output (sinks: 1, sources: 0, priority: 6000, available: yes)
		output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (sinks: 1, sources: 1, priority: 6060, available: yes)
		output:analog-surround-21: Analog Surround 2.1 Output (sinks: 1, sources: 0, priority: 800, available: yes)
		output:analog-surround-21+input:analog-stereo: Analog Surround 2.1 Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 860, available: yes)
		output:analog-surround-40: Analog Surround 4.0 Output (sinks: 1, sources: 0, priority: 700, available: yes)
		output:analog-surround-40+input:analog-stereo: Analog Surround 4.0 Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 760, available: yes)
		output:analog-surround-41: Analog Surround 4.1 Output (sinks: 1, sources: 0, priority: 800, available: yes)
		output:analog-surround-41+input:analog-stereo: Analog Surround 4.1 Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 860, available: yes)
		output:analog-surround-50: Analog Surround 5.0 Output (sinks: 1, sources: 0, priority: 700, available: yes)
		output:analog-surround-50+input:analog-stereo: Analog Surround 5.0 Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 760, available: yes)
		output:analog-surround-51: Analog Surround 5.1 Output (sinks: 1, sources: 0, priority: 800, available: yes)
		output:analog-surround-51+input:analog-stereo: Analog Surround 5.1 Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 860, available: yes)
		output:iec958-stereo: Digital Stereo (IEC958) Output (sinks: 1, sources: 0, priority: 5500, available: yes)
		output:iec958-stereo+input:analog-stereo: Digital Stereo (IEC958) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5560, available: yes)
		off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
	Active Profile: output:analog-stereo+input:analog-stereo
	Ports:
		analog-input-front-mic: Front Microphone (priority: 8500, latency offset: 0 usec, not available)
			Properties:
				device.icon_name = "audio-input-microphone"
			Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:analog-surround-21+input:analog-stereo, output:analog-surround-40+input:analog-stereo, output:analog-surround-41+input:analog-stereo, output:analog-surround-50+input:analog-stereo, output:analog-surround-51+input:analog-stereo, output:iec958-stereo+input:analog-stereo
		analog-input-rear-mic: Rear Microphone (priority: 8200, latency offset: 0 usec, not available)
			Properties:
				device.icon_name = "audio-input-microphone"
			Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:analog-surround-21+input:analog-stereo, output:analog-surround-40+input:analog-stereo, output:analog-surround-41+input:analog-stereo, output:analog-surround-50+input:analog-stereo, output:analog-surround-51+input:analog-stereo, output:iec958-stereo+input:analog-stereo
		analog-input-linein: Line In (priority: 8100, latency offset: 0 usec, available)
			Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:analog-surround-21+input:analog-stereo, output:analog-surround-40+input:analog-stereo, output:analog-surround-41+input:analog-stereo, output:analog-surround-50+input:analog-stereo, output:analog-surround-51+input:analog-stereo, output:iec958-stereo+input:analog-stereo
		analog-output-lineout: Line Out (priority: 9900, latency offset: 0 usec, available)
			Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo, output:analog-surround-21, output:analog-surround-21+input:analog-stereo, output:analog-surround-40, output:analog-surround-40+input:analog-stereo, output:analog-surround-41, output:analog-surround-41+input:analog-stereo, output:analog-surround-50, output:analog-surround-50+input:analog-stereo, output:analog-surround-51, output:analog-surround-51+input:analog-stereo
		analog-output-headphones: Headphones (priority: 9000, latency offset: 0 usec, not available)
			Properties:
				device.icon_name = "audio-headphones"
			Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo
		iec958-stereo-output: Digital Output (S/PDIF) (priority: 0, latency offset: 0 usec)
			Part of profile(s): output:iec958-stereo, output:iec958-stereo+input:analog-stereo
2 Likes

Hi @Sea_Monkey, could you explain what you did for your solution? I am currently having the same problem and would like to avoid having to compile my own kernel.

My previous post contains everything I did. Is there anything in particular that needs further explanation?

@gladiac

Bad news, I rebooted my PC and now audio has stopped working completely…

I have double checked that I booted the right kernel:

➜ uname -a
Linux aura 5.5.7-arch1-1-audio-patched #2 SMP PREEMPT Thu, 05 Mar 2020 21:27:22 +0000 x86_64 GNU/Linux

Audio works with all my other audio devices, and all audio works if I reboot to Windows. I have not muted the output device or application.

I used to be able to play audio by switching to the Headphones port, but that doesn’t work now.

I can see audio playing in the correct sink in pavucontrol, but no audio is being played through the speakers:

Here’s all my dmesg lines regarding “snd_hda_intel” or “snd_hda_codec_realtek”:

➜ sudo dmesg | grep -F snd_hda_codec_realtek
[    7.931400] snd_hda_codec_realtek hdaudioC1D0: autoconfig for ALC1220: line_outs=3 (0x1b/0x15/0x16/0x0/0x0) type:line
[    7.931402] snd_hda_codec_realtek hdaudioC1D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    7.931403] snd_hda_codec_realtek hdaudioC1D0:    hp_outs=1 (0x14/0x0/0x0/0x0/0x0)
[    7.931404] snd_hda_codec_realtek hdaudioC1D0:    mono: mono_out=0x0
[    7.931404] snd_hda_codec_realtek hdaudioC1D0:    dig-out=0x1e/0x0
[    7.931405] snd_hda_codec_realtek hdaudioC1D0:    inputs:
[    7.931406] snd_hda_codec_realtek hdaudioC1D0:      Front Mic=0x19
[    7.931407] snd_hda_codec_realtek hdaudioC1D0:      Rear Mic=0x18
[    7.931407] snd_hda_codec_realtek hdaudioC1D0:      Line=0x1a
[  708.838443] Modules linked in: rfcomm fuse xt_conntrack xt_MASQUERADE nf_conntrack_netlink nfnetlink xfrm_user xfrm_algo xt_addrtype iptable_filter iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 br_netfilter bridge overlay md4 nls_utf8 cifs dns_resolver fscache libdes hid_logitech_hidpp uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_common videodev mousedev uinput joydev hid_logitech_dj cmac algif_hash algif_skcipher af_alg bnep btusb btrtl btbcm btintel snd_usb_audio bluetooth snd_usbmidi_lib 8021q snd_rawmidi garp mrp snd_seq_device ecdh_generic stp llc mc hid_jabra ecc it87 hwmon_vid nls_iso8859_1 nls_cp437 vfat fat iwlmvm input_leds wmi_bmof mxm_wmi mac80211 snd_hda_codec_realtek edac_mce_amd snd_hda_codec_generic kvm_amd ledtrig_audio libarc4 snd_hda_codec_hdmi snd_hda_intel iwlwifi kvm snd_intel_dspcfg snd_hda_codec irqbypass cfg80211 snd_hda_core snd_hwdep snd_pcm igb snd_timer r8169 snd realtek crct10dif_pclmul ccp libphy rfkill dca crc32_pclmul

➜ sudo dmesg | grep -F snd_hda_intel
[    7.908436] snd_hda_intel 0000:0e:00.1: enabling device (0000 -> 0002)
[    7.908571] snd_hda_intel 0000:0e:00.1: Force to non-snoop mode
[    7.908892] snd_hda_intel 0000:10:00.4: enabling device (0000 -> 0002)
[    7.917605] snd_hda_intel 0000:0e:00.1: bound 0000:0e:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])
[  708.838443] Modules linked in: rfcomm fuse xt_conntrack xt_MASQUERADE nf_conntrack_netlink nfnetlink xfrm_user xfrm_algo xt_addrtype iptable_filter iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 br_netfilter bridge overlay md4 nls_utf8 cifs dns_resolver fscache libdes hid_logitech_hidpp uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_common videodev mousedev uinput joydev hid_logitech_dj cmac algif_hash algif_skcipher af_alg bnep btusb btrtl btbcm btintel snd_usb_audio bluetooth snd_usbmidi_lib 8021q snd_rawmidi garp mrp snd_seq_device ecdh_generic stp llc mc hid_jabra ecc it87 hwmon_vid nls_iso8859_1 nls_cp437 vfat fat iwlmvm input_leds wmi_bmof mxm_wmi mac80211 snd_hda_codec_realtek edac_mce_amd snd_hda_codec_generic kvm_amd ledtrig_audio libarc4 snd_hda_codec_hdmi snd_hda_intel iwlwifi kvm snd_intel_dspcfg snd_hda_codec irqbypass cfg80211 snd_hda_core snd_hwdep snd_pcm igb snd_timer r8169 snd realtek crct10dif_pclmul ccp libphy rfkill dca crc32_pclmul

Is there any other information I can provide?

@Hubro *sigh* bad news, indeed. I have never had any issues like that and I am running my setup with my fix for many weeks on a daily basis now. This is a real mystery to me. I would not have suggested and submitted the patch on LKML if it had not run perfectly for quite some time.

Have you tried ruling PulseAudio out completely by temporarily disabling its operation and trying to play a WAV directly via ALSA using aplay (ALSA play)? There is a nice little example on Archwiki which outlines how this can be done. Just follow the same logic of the wiki but instead of searching for the HDMI output use the “ALC1220 Analog” audio and also make sure PulseAudio is not running by invoking pulseaudio -k before. Example:

$ pulseaudio -k
$ aplay -l|grep 'ALC1220 Analog'
card 2: Generic [HD-Audio Generic], device 0: ALC1220 Analog [ALC1220 Analog]
$ aplay -D plughw:2,0 /usr/share/sounds/alsa/Front_Right.wav

The example uses “plughw:2,0” because on my machine the “ALC1220 Analog” audio has card #2 and the device has #0 (see the output of my aplay -l. You should hear a voice saying “Front Right”. A little advice: on many (all?) configurations, PulseAudio will automatically respawn after being killed. To temporarily disable this mechanism you can just do the following:

$ echo 'autospawn = no' >> ~/.config/pulse/client.conf

Just make sure to remove this line after testing.

Good luck.

I have rebooted several more times after my last post without regaining sound, but now that I was going to follow your instructions I realize I have sound… :weary:

So it seems pretty random… Next time the sound disappears I’ll see if I can play audio using aplay.

EDIT: I also just noticed, I get sound through my speakers whether I choose “Headphones” or “Line Out” in the Port list… :thinking: Is that perhaps an intentional side effect of the patch?

Sorry for the late reply. I’ve been busy with work and I fell down a rabbit hole installing Manjaro.

GPU I’m using is 2080TI, but I would assume other 20xx series cards would be similar? I’m not sure and the only other card I have is also an RX580. I’m using the proprietary 440 series drivers.

No worries, I understand completely. I appreciate you adding the patch. Like I said, it seems to work in isolation and like you said, it’s just applying an existing quirk, so I’d imagine the conflict/problem lies somewhere outside of your patch.

I’ll be doing more testing and see what I can find.

I posted this in the other thread as well. Patch is working with nouveau in Manjaro with kernel 5.6-rc5. I’m going to keep using the open driver for a few days and see if it’s stable before I attempt with the closed source Nvidia driver again:

Once more into the breach!

I’ve got a fresh Manjaro install up and running with the patch and it seems to work fine with nouveau so far. I might try to narrow down the incompatibility with the closed source drivers this weekend, if I have time.

As a sidenote @gladiac , it looks like your patch has made it into kernel 5.6-rc5

1 Like

FYI: My sound stopped working this morning with the nouveau driver as well.

Alright, I booted my PC just now and audio through the X570 doesn’t work.

I disabled and stopped pulseaudio:

systemctl --user disable --now pulseaudio.socket pulseaudio

I confirmed pulse is no longer running and no longer autostarting.

I listed my devices:

➜ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 11: HDMI 5 [HDMI 5]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 0: ALC1220 Analog [ALC1220 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic [HD-Audio Generic], device 1: ALC1220 Digital [ALC1220 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: S840 [SteelSeries Siberia 840], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

I tried playing audio through my X570 audio card using aplay:

➜ aplay -D plughw:1,0 /usr/share/sounds/alsa/Front_Right.wav
Playing WAVE '/usr/share/sounds/alsa/Front_Right.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono

Nothing. Complete silence. So it doesn’t seem to be Pulse’s fault?

To confirm the issue isn’t anywhere else, I tried playing the sound through my monitor (HDMI) and it works:

➜ aplay -D plughw:0,10 /usr/share/sounds/alsa/Front_Right.wav
Playing WAVE '/usr/share/sounds/alsa/Front_Right.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono

I guess I’ll keep rebooting until hopefully the audio works :weary:

EDIT: Rebooted my PC 3 times with no luck. Then I decided to cold boot my PC. I shut off the PSU power switch and pressed the power button a few times and waited about 30 seconds. When I booted the PC audio now works. Can this have something to do with me dual-booting Windows, and Windows setting the audio card in a state that screws things up in Linux?

This is all so weird… How can it just stop working all of a sudden? I really do not understand what’s going on - especially because I never had any problems with the audio after applying the quirk in my setup. I am really sorry you experience these problems. Did the audio work again at any later point in time? Also, can you please try the latest stable v5.5.9 Kernel (which already includes the audio fix)? Thanks!

See the edit at the bottom of my answer above. Do you think this could be relevant?

@DigitalYeti Do you also dual boot Windows? Does cold booting fix your audio issues?

Hi again. Your patch has been working perfectly for the last few weeks, but yesterday I booted into Windows to play some games, and I rebooted back into Arch afterwards, and the audio was borked again. There was no way to get audio out my speakers, no matter if I chose speakers or headphones.

And again, shutting my PC all the way off, leaving it for a few seconds and then booting it again (using your patched kernel), fixed the problem. So it definitely seems that rebooting straight from Windows and into Linux has the audio card in a state where it doesn’t function in Linux.

1 Like

Hi @Hubro,
oh, that is actually good to know - especially because there is a working workaround. Maybe the Windows driver does something special which the linux driver cannot recover from -> which would explain why audio does not work after rebooting from windows but actually does work on a cold boot.
I also have a dual-boot setup with Windows 10 1909 (which I rarely use because steam play is amazing) and did not once experience these problems. So maybe I have a different driver which does not cause these problems. When I am done working I will check and post my Windows driver version. Oh, and maybe it is even uEFI related? Do you have the F11 uEFI?.

UPDATE: The driver I use on Windows 10 1909 is Microsoft’s generic HdAudio.sys version 10.0.18362.356 . I did not install the Realtek driver from GigaByte’s website.

Yes, I actually dual boot very often. I’ll have to give your cold boot solution a try and see what happens. Nice catch!

1 Like

@Hubro Well look at that! A complete cold boot seems to work, at least it worked for me first try. So it indeed appears that there’s something about booting into Windows that leaves the audio unstable in some way. Great testing! Thanks!

2 Likes