Sound does not work in your Ubuntu 22.04, and happen to have Everest ESSX8336 sound card in your machine? This tutorial may help!
ESSX8336 is one of the common used chips in recent laptops and tablets, such as Huawei Matebook D14~16, Gemini Lake laptop, and Chuwi Hi10X tablet. But, the current Linux Kernel does not support this sound card, though there seems to have patches (here and here) for it.
Until Linux Kernel officially adds the device support, you may build Kernel manually with the patch. Or use yangxiaohua’s custom kernel files to fix the issue.
NOTE: the steps below are done in an Intel machine. The commands in step 3 & 4 vary if you have AMD CPU.
1. This tutorial is tested on Ubuntu 22.04 with the 5.17 OEM Kernel. So, you may first press Ctrl+Alt+T to open terminal, and run command to install the kernel package:
sudo apt install --install-recommends linux-oem-22.04a
And restart computer to apply change.
2. Next, run command to grab the source of yangxiaohua’s custom kernel files:
git clone https://github.com/yangxiaohua2009/custom-kernel
3. Once done, navigate to that folder via command:
And copy required files into system directories via:
sudo cp ./tplg/* /lib/firmware/intel/sof-tplg/
sudo cp sof-jsl.ri /lib/firmware/intel/sof/
sudo cp -r sof-essx8336 /usr/share/alsa/ucm2
4. Kernel 5.17 somehow does not correctly load the file, so you may need to rename filename from ‘sof-jsl-es8336-ssp1.tplg’ to ‘sof-jsl-es8336.tplg’
cd /lib/firmware/intel/sof-tplg && sudo cp sof-jsl-es8336-ssp1.tplg sof-jsl-es8336.tplg
5. Finally, edit the ‘/etc/modprobe.d/alsa-base.conf’ config file via command:
sudo gedit /etc/modprobe.d/alsa-base.conf
When file opens, add the line below to the end and save it.
options snd_soc_sof_8336 quirk=0x01
When everything’s done. Restart your machine and verify if sound’s working!