Como fazer o Ubuntu 20.04 funcionar com Realtek ALC4080

Como fazer o Ubuntu 20.04 funcionar com Realtek ALC4080

Minha placa-mãe é ASUS ROS STRIX Z590-A Gaming WiFi que vem com um chip de áudio USB Realtek ALC4080, não funciona no Ubuntu 20.04 com kernel 5.15. Para fones de ouvido, eu só conseguiria obter o som se ele tivesse sido conectado antes da inicialização, o que significa que não receberei mais nenhum som de reprodução se recolocar o fone de ouvido enquanto o sistema estiver em execução. O microfone do fone de ouvido não funciona no painel frontal ou no painel traseiro. Aliás, fone de ouvido e microfone sempre podem ser detectados conforme mostrado em pavucontrol.

O painel frontal se comporta de maneira um pouco diferente. Cada vez que reconecto o fone de ouvido no conector de 3,5 mm no painel frontal, ele é detectado como "Fone de ouvido (conectado)" e o perfil de áudio USB é alterado para "Analog Stereo Duplex" no formato pavucontrol. Eu consegui obter o som da reprodução apenas executando aplay -D plughw:2,1 <path-to-audio-file>. mas não de outros aplicativos, por exemplo ffplay, que estão configurados para usar pulseaudio como backend.

Esta é a saída de inix -A:

Audio:     Device-1: Intel driver: snd_hda_intel
           Device-2: NVIDIA driver: snd_hda_intel
           Device-3: ASUSTek USB Audio type: USB driver: hid-generic,snd-usb-audio,usbhid
           Sound Server: ALSA v: k5.15.0-88-generic

Mas Device-1não é acessível a partir de alsamixer. O log do kernel pode indicar a causa:

[    1.700089] snd_hda_intel 0000:00:1f.3: enabling device (0000 -> 0002)
[    1.702803] snd_hda_intel 0000:01:00.1: Disabling MSI
[    1.702807] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
[    2.712442] snd_hda_intel 0000:00:1f.3: azx_get_response timeout, switching to polling mode: last cmd=0x000f0000
[    3.724433] snd_hda_intel 0000:00:1f.3: No response from codec, disabling MSI: last cmd=0x000f0000
[    4.732444] snd_hda_intel 0000:00:1f.3: Codec #0 probe error; disabling it...
[    4.737657] snd_hda_codec_hdmi hdaudioC0D2: No i915 binding for Intel HDMI/DP codec
[    4.738438] snd_hda_intel 0000:00:1f.3: Cannot probe codecs, giving u

Informações adicionais:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 11: HDMI 5 [HDMI 5]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 12: HDMI 6 [HDMI 6]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: Audio [USB Audio], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 2: Audio [USB Audio], device 1: USB Audio [USB Audio #1]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 2: Audio [USB Audio], device 2: USB Audio [USB Audio #2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: Audio [USB Audio], device 4: USB Audio [USB Audio #4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Finalmente tentei a abordagem derealtek-alc4080-codec-front-jack-não-funciona, adicionando a configuração USB-Audio ALC4080, mas não tive sorte. Contanto que o fone de ouvido seja recolocado, não ouço mais nenhum som.

Parece que a versão antiga do alsa fornecida pelo Ubuntu 20.04 não é capaz de lidar com o ALC4080 corretamente, mas não tenho ideia de como obter facilmente a nova versão do alsa mantendo o sistema intacto.

informação relacionada