Skip to content
codepayne edited this page Jan 24, 2023 · 1 revision

Welcome to the linux-sound-huawei wiki!

Since I have a lot of people requesting the patch, it is getting
difficult to mantain the patch for all the kernel versions.
So I uploaded the stable kernel of greg kroah-hartman version 6.1.3 to
github with my patch applied on top. You can clone it and then build the
kernel (use branch master).

https://github.com/codepayne/linux-sound-huawei

To enable the driver you have to enable the following kernel config
options:
SND_SOC_AMD_ACP3x, SND_SOC_AMD_ACP3x_ES8336_MACH, SND_SOC_ACPI,
SND_SOC_ES8316

There are a few issues with this driver:
- The internal microphone(not the one from the headphones) doesn't work

- If suspending the laptop with the Headphones plugged in the jack, at
  resume time the sound will stop working.

- It may be possible in rare cases for the sound to stop working after
  suspend/resume (this can be fixed by restarting pulseaudio),
  though in my testing this doesn't happen.

- Because of issues with AMD drivers for ACP controller the wrong driver
  may be loaded for your laptop. I would recommend to blacklist the wrong
  drivers and explicitly load the correct drivers at startup:

  Modify /etc/modprobe.d/blacklist.conf and add the following lines:
   blacklist snd_acp3x_rn
   blacklist snd_pci_acp5x
   blacklist snd_rn_pci_acp3x

  Modify /etc/modules-load.d/modules.conf and add the following lines:
   snd_soc_es8316
   snd_acp3x_pcm_dma
   snd_acp3x_i2s 
   snd_pci_acp3x
   snd_soc_acp3x_es8336_mach

- During first load of sound card driver the settings of the card are
  wrong and no sound can be heard, you have to go in alsamixer, select
  the new sound card amd-acp3x-essx8336 and in the playback tab change
  to maximum value the following knobs:
  Master, Headphone Mixer, DAC

  Enable the following knobs:
  Left Headphone Mixer Left DAC, Right Headphone Mixer Right DAC
  After doing these changes you should be hearing the sound.

  If you want to have the headset microphone work, you have to change
  once the settings in alsamixer in the capture tab to maximum value:
  Headphone Mixer, ADC
Clone this wiki locally