audio over HDMI Problem (monitor speaker)

I cannot get my audio over HDMI to my monitor speaker in pavucontrol as seen in here:

I have an intel n100 mini pc this one : https://peladn.com/products/peladn-wi-6-mini-pc
Code:
[user@FreeBSD ~]$ cat /dev/sndstat
Installed devices:

pcm0: <Realtek ALC269 (Internal Analog)> (play/rec) default

pcm1: <Realtek ALC269 (Right Analog)> (play/rec)

No devices installed from userspace.

[user@FreeBSD ~]$

extra beefy info
Code:
[user@FreeBSD ~]$ pciconf -lv | grep -A4 -B2 -i audio
hdac0@pci0:0:31:3:    class=0x040300 rev=0x00 hdr=0x00 vendor=0x8086 device=0x54c8 subvendor=0x8086 subdevice=0x7270
    vendor     = 'Intel Corporation'
    device     = 'Alder Lake-N PCH High Definition Audio Controller'
    class      = multimedia
    subclass   = HDA
ichsmb0@pci0:0:31:4:    class=0x0c0500 rev=0x00 hdr=0x00 vendor=0x8086 device=0x54a3 subvendor=0x8086 subdevice=0x7270
    vendor     = 'Intel Corporation'
[user@FreeBSD ~]$ freebsd-version
15.1-RELEASE-p1
[user@FreeBSD ~]$ kldstat | grep snd
[user@FreeBSD ~]$ doas kldload snd_hda
kldload: can't load snd_hda: module already loaded or in kernel
[user@FreeBSD ~]$ doas sysctl dev.pcm
dev.pcm.1.mode: 7
dev.pcm.1.bitperfect: 0
dev.pcm.1.buffersize: 65536
dev.pcm.1.rec.vchanformat: s16le:2.0
dev.pcm.1.rec.vchanrate: 48000
dev.pcm.1.rec.vchanmode: fixed
dev.pcm.1.rec.vchans: 1
dev.pcm.1.play.vchanformat: s16le:2.0
dev.pcm.1.play.vchanrate: 48000
dev.pcm.1.play.vchanmode: fixed
dev.pcm.1.play.vchans: 1
dev.pcm.1.%iommu:
dev.pcm.1.%parent: hdaa0
dev.pcm.1.%pnpinfo:
dev.pcm.1.%location: nid=21,24
dev.pcm.1.%driver: pcm
dev.pcm.1.%desc: Realtek ALC269 (Right Analog)
dev.pcm.0.mode: 7
dev.pcm.0.bitperfect: 0
dev.pcm.0.buffersize: 65536
dev.pcm.0.rec.vchanformat: s16le:2.0
dev.pcm.0.rec.vchanrate: 48000
dev.pcm.0.rec.vchanmode: fixed
dev.pcm.0.rec.vchans: 1
dev.pcm.0.play.vchanformat: s16le:2.0
dev.pcm.0.play.vchanrate: 48000
dev.pcm.0.play.vchanmode: fixed
dev.pcm.0.play.vchans: 1
dev.pcm.0.%iommu:
dev.pcm.0.%parent: hdaa0
dev.pcm.0.%pnpinfo:
dev.pcm.0.%location: nid=20,25
dev.pcm.0.%driver: pcm
dev.pcm.0.%desc: Realtek ALC269 (Internal Analog)
dev.pcm.%parent:
[user@FreeBSD ~]$ ldstat | grep drm
bash: ldstat: command not found
[user@FreeBSD ~]$ kldstat | grep drm
 5    2 0xffffffff83811000    8a190 drm.ko
[user@FreeBSD ~]$ kldstat | grep -E 'drm|i915|xe|amdgpu'
 4    1 0xffffffff83600000   210318 i915kms.ko
 5    2 0xffffffff83811000    8a190 drm.ko
[user@FreeBSD ~]$  dmesg | grep -Ei 'drm|i915|hdmi|display'
dmesg: sysctl kern.msgbuf: Operation not permitted
[user@FreeBSD ~]$ doas !!
doas  dmesg | grep -Ei 'drm|i915|hdmi|display'
vgapci0: <VGA-compatible display> port 0x4000-0x403f mem 0x6000000000-0x6000ffffff,0x4000000000-0x400fffffff at device 2.0 on pci0
[drm] Got Intel graphics stolen memory base 0x7c800000, size 0x3c00000
drmn0: <drmn> on vgapci0
vgapci0: child drmn0 requested pci_enable_io
vgapci0: child drmn0 requested pci_enable_io
lkpi_iic0: <LinuxKPI I2C> on drmn0
lkpi_iic1: <LinuxKPI I2C> on drmn0
lkpi_iic2: <LinuxKPI I2C> on drmn0
lkpi_iic3: <LinuxKPI I2C> on drmn0
lkpi_iic4: <LinuxKPI I2C> on drmn0
lkpi_iic5: <LinuxKPI I2C> on drmn0
lkpi_iic6: <LinuxKPI I2C> on drmn0
lkpi_iic7: <LinuxKPI I2C> on drmn0
lkpi_iic8: <LinuxKPI I2C> on drmn0
drmn0: successfully loaded firmware image 'i915/adlp_dmc.bin'
drmn0: [drm] Finished loading DMC firmware i915/adlp_dmc.bin (v2.20)
lkpi_iic9: <LinuxKPI I2C> on drm2
[drm] Initialized i915 1.6.0 20201103 for drmn0 on minor 0
VT: Replacing driver "efifb" with new "drmfb".
name=drmn0 id=i915drmfb flags=0x0 stride=7680
[user@FreeBSD ~]$  doas dmesg | grep -Ei 'drm|i915|hdmi|display'
vgapci0: <VGA-compatible display> port 0x4000-0x403f mem 0x6000000000-0x6000ffffff,0x4000000000-0x400fffffff at device 2.0 on pci0
[drm] Got Intel graphics stolen memory base 0x7c800000, size 0x3c00000
drmn0: <drmn> on vgapci0
vgapci0: child drmn0 requested pci_enable_io
vgapci0: child drmn0 requested pci_enable_io
lkpi_iic0: <LinuxKPI I2C> on drmn0
lkpi_iic1: <LinuxKPI I2C> on drmn0
lkpi_iic2: <LinuxKPI I2C> on drmn0
lkpi_iic3: <LinuxKPI I2C> on drmn0
lkpi_iic4: <LinuxKPI I2C> on drmn0
lkpi_iic5: <LinuxKPI I2C> on drmn0
lkpi_iic6: <LinuxKPI I2C> on drmn0
lkpi_iic7: <LinuxKPI I2C> on drmn0
lkpi_iic8: <LinuxKPI I2C> on drmn0
drmn0: successfully loaded firmware image 'i915/adlp_dmc.bin'
drmn0: [drm] Finished loading DMC firmware i915/adlp_dmc.bin (v2.20)
lkpi_iic9: <LinuxKPI I2C> on drm2
[drm] Initialized i915 1.6.0 20201103 for drmn0 on minor 0
VT: Replacing driver "efifb" with new "drmfb".
name=drmn0 id=i915drmfb flags=0x0 stride=7680
[user@FreeBSD ~]$ pciconf -lv | grep -A5 -B2 -i vga
    class      = bridge
    subclass   = HOST-PCI
vgapci0@pci0:0:2:0:    class=0x030000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x46d1 subvendor=0x8086 subdevice=0x7270
    vendor     = 'Intel Corporation'
    device     = 'Alder Lake-N [UHD Graphics]'
    class      = display
    subclass   = VGA
none0@pci0:0:4:0:    class=0x118000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x461d subvendor=0x8086 subdevice=0x7270
    vendor     = 'Intel Corporation'
    device     = 'Alder Lake Innovation Platform Framework Processor Participant'
    class      = dasp
xhci0@pci0:0:20:0:    class=0x0c0330 rev=0x00 hdr=0x00 vendor=0x8086 device=0x54ed subvendor=0x8086 subdevice=0x7270
[user@FreeBSD ~]$ dmesg | grep hdaa
dmesg: sysctl kern.msgbuf: Operation not permitted
[user@FreeBSD ~]$ doas !!
doas dmesg | grep hdaa
hdaa0: <Realtek ALC269 Audio Function Group> at nid 1 on hdacc0
pcm0: <Realtek ALC269 (Internal Analog)> at nid 20 and 25 on hdaa0
pcm1: <Realtek ALC269 (Right Analog)> at nid 21 and 24 on hdaa0
[user@FreeBSD ~]$ pciconf -lv | grep -A4 -B2 VGA
    device     = 'Alder Lake-N [UHD Graphics]'
    class      = display
    subclass   = VGA
none0@pci0:0:4:0:    class=0x118000 rev=0x00 hdr=0x00 vendor=0x8086 device=0x461d subvendor=0x8086 subdevice=0x7270
    vendor     = 'Intel Corporation'
    device     = 'Alder Lake Innovation Platform Framework Processor Participant'
    class      = dasp
[user@FreeBSD ~]$  doas pciconf -lv | grep -A4 -B2 hdac
    class      = bridge
    subclass   = PCI-ISA
hdac0@pci0:0:31:3:    class=0x040300 rev=0x00 hdr=0x00 vendor=0x8086 device=0x54c8 subvendor=0x8086 subdevice=0x7270
    vendor     = 'Intel Corporation'
    device     = 'Alder Lake-N PCH High Definition Audio Controller'
    class      = multimedia
    subclass   = HDA
[user@FreeBSD ~]$ doas devinfo -rv | grep -A10 hdac
        hdac0 <Intel Alder Lake-N HDA Controller> pnpinfo vendor=0x8086 device=0x54c8 subvendor=0x8086 subdevice=0x7270 class=0x040300 at slot=31 function=3 dbsf=pci0:0:31:3 handle=\_SB_.PC00.HDAS
            Interrupt request lines:
                0x88
            I/O memory addresses:
                0x6001000000-0x60010fffff
                0x6001130000-0x6001133fff
          hdacc0 <Realtek ALC269 HDA CODEC> pnpinfo vendor=0x10ec device=0x0269 revision=0x02 stepping=0x03 at cad=0
            hdaa0 <Realtek ALC269 Audio Function Group> pnpinfo type=0x01 subsystem=0x19910269 at nid=1
              pcm0 <Realtek ALC269 (Internal Analog)> at nid=20,25
              pcm1 <Realtek ALC269 (Right Analog)> at nid=21,24
        ichsmb0 <Intel Alder Lake SMBus controller> pnpinfo vendor=0x8086 device=0x54a3 subvendor=0x8086 subdevice=0x7270 class=0x0c0500 at slot=31 function=4 dbsf=pci0:0:31:4 handle=\_SB_.PC00.SBUS
            Interrupt request lines:
                0x10
            I/O ports:
                0xefa0-0xefbf
            I/O memory addresses:
                0x6001138000-0x60011380ff
[user@FreeBSD ~]$


everything is perfect please HELP !!
 
A drm-kmod video driver must be installed and loaded to get the HDMI interface functional. In your case the "i915kms" module, which is apparently loading.

Please show us which drm-kmod version is installed on your 15.1-RELEASE-p1 system:
pkg info | grep ^drm-

Note: /dev/sndstat, with the correct video driver, on a supported video device, should show HDMI audio interfaces. Here an example with the drm-kmod "amdgpu" driver loaded:
Code:
% cat /dev/sndstat 
Installed devices:
pcm0: <ATI R6xx (HDMI)> (play)
pcm1: <ATI R6xx (HDMI)> (play)
pcm2: <ATI R6xx (HDMI)> (play)
 
A drm-kmod video driver must be installed and loaded to get the HDMI interface functional. In your case the "i915kms" module, which is apparently loading.

Please show us which drm-kmod version is installed on your 15.1-RELEASE-p1 system:
pkg info | grep ^drm-

Note: /dev/sndstat, with the correct video driver, on a supported video device, should show HDMI audio interfaces. Here an example with the drm-kmod "amdgpu" driver loaded:
Code:
% cat /dev/sndstat
Installed devices:
pcm0: <ATI R6xx (HDMI)> (play)
pcm1: <ATI R6xx (HDMI)> (play)
pcm2: <ATI R6xx (HDMI)> (play)
look :
[user@FreeBSD ~]$ pkg info | grep ^drm-
drm-66-kmod-6.6.25.1501000_8 Direct Rendering Manager GPU drivers
drm-kmod-20260508 Direct Rendering Manager (DRM) GPU drivers metaport
[user@FreeBSD ~]$ cat /dev/sndstat
Installed devices:
pcm0: <Realtek ALC269 (Internal Analog)> (play/rec) default
pcm1: <Realtek ALC269 (Right Analog)> (play/rec)
No devices installed from userspace.
[user@FreeBSD ~]$
 
Try graphics/drm-612-kmod, or one of the other drm-kmods (drm-515|61-kmod).

Assuming /etc/rc.conf kld_list+="i915kms":
Code:
# pkg del drm-66-kmod
# pkg install -r FreeBSD-ports-kmods drm-612-kmod
# shutdown -r now
515 drm did not work xorg failed checked logs xorg said no intel driver found card0 not found
66 same
616 same
drm-latest-kmod same
and 61 same now i am in latest
 
Is linuxkpi_hdmi.ko loaded?
If not, try kldload linuxkpi_hdmi and see your HDMI port appear on invoking cat /dev/sndstat or not.
Possibly needed to be loaded before i915.ko. If so, loading AFTER i915.ko may NOT work. In this case, let it appear BEFORE i915 in your kld_list variable in your /etc/loader.conf.
 
Is linuxkpi_hdmi.ko loaded?
If not, try kldload linuxkpi_hdmi and see your HDMI port appear on invoking cat /dev/sndstat or not.
Possibly needed to be loaded before i915.ko. If so, loading AFTER i915.ko may NOT work. In this case, let it appear BEFORE i915 in your kld_list variable in your /etc/loader.conf.
do you mean /etc/rc.conf it did not work after reboot :
clear_tmp_enable="YES"
hostname="FreeBSD"
ifconfig_re0="DHCP"
ifconfig_re0_ipv6="inet6 accept_rtadv"
sshd_enable="YES"
ntpd_enable="YES"
ntpd_sync_on_start="YES"
local_unbound_enable="YES"
powerd_enable="YES"
moused_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
zfs_enable="YES"
linux_enable="YES"
kld_list="linuxkpi_hdmi"
kld_list="i915kms"
allscreens_flags="-f terminus-b32"
devfs_system_ruleset="system"
dbus_enable="YES"
 
kld_list="linuxkpi_hdmi"
kld_list="i915kms"
This is meaningless. The former is simply overwritten by the latter.
And if anything is defining kld_list prior to these, the former overwrites them, and then, the latter overwrites afterwards.

You'd better trying like below to be safest.
Code:
kld_list="${kld_list} linuxkpi_hdmi"
kld_list="${kld_list} i915kms"
 
Back
Top