Re: freebsd hdmi audi

From: Steven Friedrich <freebsdlouisville_at_gmail.com>
Date: Tue, 02 Jul 2024 13:16:29 UTC
Thank you for a response, it's the first in a decade for this issue.

I have two HP's, a Slimline with an i7, and an Envy with an i7. Both are 
small towers (desktops).

I too use drm-kmod and x11.

dmesg:

hdacc0: <Realtek ALC671 HDA CODEC> at cad 0 on hdac0
hdaa0: <Realtek ALC671 Audio Function Group> at nid 1 on hdacc0
pcm0: <Realtek ALC671 (Rear Analog)> at nid 20 and 27 on hdaa0
pcm1: <Realtek ALC671 (Analog)> at nid 33 and 24 on hdaa0
hdacc1: <Intel Kaby Lake HDA CODEC> at cad 2 on hdac0
hdaa1: <Intel Kaby Lake Audio Function Group> at nid 1 on hdacc1
pcm2: <Intel Kaby Lake (HDMI/DP 8ch)> at nid 3 on hdaa1

kde5 as well as plasma6-plasma correctly identify all three sound 
outputs, but when I press the Test button (in system settings Audio) it 
says there's a driver missing (but it doesn't identify the driver)

X does provide a good kde5 or 6 desktop, but can't output sound to any 
of the three outputs. From the command line, I can output to the front 
or rear realtek outputs, but not hdmi.

cat /dev/sndstat
FreeBSD Audio Driver
Installed devices:
pcm0: <Realtek ALC671 (Rear Analog)> on hdaa0 (1p:1v/1r:1v)
        snddev flags=0x2e2<AUTOVCHAN,BUSY,MPSAFE,REGISTERED,VPC>
        [pcm0:play:dsp0.p0]: spd 48000, fmt 0x00200010, flags 
0x00002100, 0x00000004
        interrupts 0, underruns 0, feed 0, ready 0 
[b:2048/1024/2|bs:2048/1024/2]
        channel flags=0x2100<BUSY,HAS_VCHAN>
        {userland} -> feeder_mixer(0x00200010) -> {hardware}
pcm0:play:dsp0.p0[pcm0:virtual_play:dsp0.vp0]: spd 8000, fmt 0x00100008, 
flags 0x10000000, 0x00000000
        interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:0/0/0]
        channel flags=0x10000000<VIRTUAL>
        {userland} -> feeder_root(0x00000000) -> {hardware}
        [pcm0:record:dsp0.r0]: spd 48000, fmt 0x00200010, flags 
0x00002100, 0x00000005
        interrupts 0, overruns 0, feed 0, hfree 512, sfree 512 
[b:512/256/2|bs:512/256/2]
        channel flags=0x2100<BUSY,HAS_VCHAN>
        {hardware} -> feeder_root(0x00200010) -> 
feeder_mixer(0x00200010) -> {userland}
pcm0:record:dsp0.r0[pcm0:virtual_record:dsp0.vr0]: spd 8000, fmt 
0x00100008, flags 0x10000000, 0x00000000
        interrupts 0, overruns 0, feed 0, hfree 0, sfree 0 
[b:0/0/0|bs:0/0/0]
        channel flags=0x10000000<VIRTUAL>
        {hardware} -> feeder_root(0x00000000) -> {userland}
pcm1: <Realtek ALC671 (Analog)> on hdaa0 (1p:1v/1r:1v)
        snddev flags=0x2e2<AUTOVCHAN,BUSY,MPSAFE,REGISTERED,VPC>
        [pcm1:play:dsp1.p0]: spd 48000, fmt 0x00200010, flags 
0x00002100, 0x00000004
        interrupts 0, underruns 0, feed 0, ready 0 
[b:2048/1024/2|bs:2048/1024/2]
        channel flags=0x2100<BUSY,HAS_VCHAN>
        {userland} -> feeder_mixer(0x00200010) -> {hardware}
pcm1:play:dsp1.p0[pcm1:virtual_play:dsp1.vp0]: spd 8000, fmt 0x00100008, 
flags 0x10000000, 0x00000000
        interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:0/0/0]
        channel flags=0x10000000<VIRTUAL>
        {userland} -> feeder_root(0x00000000) -> {hardware}
        [pcm1:record:dsp1.r0]: spd 48000, fmt 0x00200010, flags 
0x00002100, 0x00000005
        interrupts 0, overruns 0, feed 0, hfree 512, sfree 512 
[b:512/256/2|bs:512/256/2]
        channel flags=0x2100<BUSY,HAS_VCHAN>
        {hardware} -> feeder_root(0x00200010) -> 
feeder_mixer(0x00200010) -> {userland}
pcm1:record:dsp1.r0[pcm1:virtual_record:dsp1.vr0]: spd 8000, fmt 
0x00100008, flags 0x10000000, 0x00000000
        interrupts 0, overruns 0, feed 0, hfree 0, sfree 0 
[b:0/0/0|bs:0/0/0]
        channel flags=0x10000000<VIRTUAL>
        {hardware} -> feeder_root(0x00000000) -> {userland}
pcm2: <Intel Kaby Lake (HDMI/DP 8ch)> on hdaa1 (1p:1v/0r:0v) default
        snddev 
flags=0x2e7<SIMPLEX,AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,VPC>
        [pcm2:play:dsp2.p0]: spd 48000, fmt 0x00200010, flags 
0x00006100, 0x00000004
        interrupts 0, underruns 0, feed 0, ready 0 
[b:2048/1024/2|bs:2048/1024/2]
        channel flags=0x6100<BUSY,HAS_VCHAN,VCHAN_PASSTHROUGH>
        {userland} -> feeder_mixer(0x00200010) -> {hardware}
pcm2:play:dsp2.p0[pcm2:virtual_play:dsp2.vp0]: spd 8000, fmt 0x00100008, 
flags 0x10000000, 0x00000000
        interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:0/0/0]
        channel flags=0x10000000<VIRTUAL>
        {userland} -> feeder_root(0x00000000) -> {hardware}
No devices installed from userspace.

    BTW, I've been using FreeBSD since 1.x days.

These same systems give me sound on every output on linux mint, kde 
neon, debian12.

the x11 anomaly i mentioned was regarding a new gmktec k8 (amd w radeon 
780M graphics)

I'm running 14stable, but I've had this issue since 2017 (Dell Inspiron 
3668 (i3).

On 7/2/24 07:20, Dave Cottlehuber wrote:
> On Tue, 2 Jul 2024, at 03:56, Steven Friedrich wrote:
>> Linux routes sound from the audio driver to the video driver causing
>> sound to come out of the HDMI cable. FreeBSD can't. This affects ALL i3,
>> i5, i7, i9 systems.
>> FreeBSD can't even support x11 on my GMKtec K8 with Radeon 780M
>> graphics. Linux Mint does.
> Hi Steven
>
> Perhaps you can be more specific here about what's not working.
>
> Here I've got:
>
> - dell xps13 i7 [1] & intel nuc i5
> - in 14.1-RELEASE and CURRENT
> - capable of playing audio & video via HDMI
> - I use the drm-kmod drivers & X11 not wayland
>
> Can you link:
> - what freebsd version this is for
> - relevant parts of your dmesg for just 1 system
> - if X doesn't start at all, whats in xorg logs?
> - what kmods / video drivers you have set up on it
> - set `sysctl hw.snd.verbose=2` and then attach `/dev/sndstat` info
>
> More info is inhttps://docs.freebsd.org/en/books/handbook/multimedia/
>
> I use mpg123 or mpv for quick tests, for audio & video respectively.
>
> [1]:https://wiki.freebsd.org/Laptops/Dell_XPS13_9360
>
> A+
> Dave