As has been pointed out, until the very recent Linux kernel 6.2 (up from 5.9), sound has not worked on the version of the Hi10 X with the ESSX8336 sound hardware. With kernel 6.2, it works, but several things have to be massaged in alsamixer in order to make it work. I have the latest daily build of Ubuntu Mate (the final version doesn’t come out until next week) installed on my Hi10 X, and I’ve written a script to automate setting alsamixer to the right values. Calling this script from ‘Startup Applications’ will invoke it at boot and make sound work automatically. This script, or some variation of it, may also work on other versions of Ubuntu, or even other versions of Linux. Its effect is to feed sound out through the speakers, or the headphones if they’re plugged in. Here it is:
#!/bin/bash
amixer set ‘Headphone’ unmute
amixer set ‘Headphone’ 3
amixer set ‘Headphone Mixer’ 11
amixer set ‘Speaker’ unmute
amixer set ‘DAC’ 192
amixer set ‘Left Headphone Mixer Left DAC’ unmute
amixer set ‘Right Headphone Mixer Right DAC’ unmute
pactl set-default-sink alsa_output.pci-0000_00_0e.0-platform-sof-essx8336.pro-output-0
(don’t forget to make the script executable)
(also note that the way things are named in alsamixer for the ESSX8336 doesn’t make a lot of sense!)
To switch over to sound output through HDMI, the following script works:
#!/bin/bash
amixer set ‘IEC958’ unmute
pactl set-default-sink alsa_output.pci-0000_00_0e.0-platform-sof-essx8336.pro-output-5
I have these two scripts linked to launchers in the upper panel so I can quickly switch back and forth.