Sound on GPD's MicroPC?

From: Milan Obuch <freebsd-multimedia_at_dino.sk>
Date: Sat, 12 Mar 2022 08:34:32 UTC
Hi,

I am starting to work on MicroPC as a mobile platform. I managed to
boot FreeBSD here, started X, built some ports etc. so it is working
quite well for me.

Now I decided to try some multimedia - in another words, play some
video. For this purpose I built multimedia/mlt7 port and it works
nicely, albeit without sound. I am sure it has audio output, see
'pciconf -lv' excerpt:

hdac0@pci0:0:14:0:      class=0x040300 rev=0x06 hdr=0x00 vendor=0x8086 device=0x3198 subvendor=0x10ec subdevice=0x0000
    vendor     = 'Intel Corporation'
    device     = 'Celeron/Pentium Silver Processor High Definition Audio'
    class      = multimedia
    subclass   = HDA

and in Windows, some sound is played as well.

I am not sure about the audio setup - I see some devices in /dev

crw-rw-rw-  1 root  wheel      0x25 Mar 12 09:10 midistat
crw-rw-rw-  1 root  wheel      0x58 Mar 12 10:10 mixer0
crw-rw-rw-  1 root  wheel      0x59 Mar 12 10:10 mixer1
crw-rw-rw-  1 root  wheel      0x5a Mar 12 10:10 mixer2
crw-rw-rw-  1 root  wheel      0x27 Mar 12 09:10 music0
crw-rw-rw-  1 root  wheel      0x26 Mar 12 09:10 sequencer0

I think audio related... I can use mixer:

# mixer -f /dev/mixer0
Mixer vol      is currently set to  85:85
Mixer pcm      is currently set to 100:100
Mixer speaker  is currently set to  74:74
Mixer mic      is currently set to  67:67
Mixer mix      is currently set to  74:74
Mixer rec      is currently set to  37:37
Mixer igain    is currently set to   0:0
Mixer ogain    is currently set to 100:100
Recording source: mic
# mixer -f /dev/mixer1
Mixer vol      is currently set to  85:85
Mixer pcm      is currently set to 100:100
Mixer rec      is currently set to  37:37
Mixer igain    is currently set to   0:0
Mixer monitor  is currently set to  67:67
Recording source: monitor
# mixer -f /dev/mixer2
Mixer vol      is currently set to 100:100
Mixer pcm      is currently set to 100:100

but that's it. No more ideas... well, just some status:

# cat /dev/sndstat
Installed devices:
pcm0: <Realtek ALC269 (Right Analog)> (play/rec) default
pcm1: <Realtek ALC269 (Analog)> (play/rec)
pcm2: <Intel Gemini Lake (HDMI/DP 8ch)> (play)
No devices installed from userspace.

Any hints? For now, setting 'sysctl hw.snd.default_unit=2' allows me to
play sound via HDMI, but I like to use internal speaker as well (and
setting this sysctl to 0 or 1 does not produce sound).

Regards,
Milan