Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Jul 2024 09:16:29 -0400
From:      Steven Friedrich <freebsdlouisville@gmail.com>
To:        Dave Cottlehuber <dch@skunkwerks.at>
Cc:        FreeBSD Stable <FreeBSD-stable@freebsd.org>
Subject:   Re: freebsd hdmi audi
Message-ID:  <bf4ebc5a-687b-4326-a711-6f8640048442@gmail.com>
In-Reply-To: <3d40cb00-9fbb-4809-b6d9-fa40944cc62c@app.fastmail.com>
References:  <b15c2e5a-eaa6-4846-9740-0be7b3bf6c09@gmail.com> <3d40cb00-9fbb-4809-b6d9-fa40944cc62c@app.fastmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------OZqtDF1DLHw01eH8Vc0At5Nm
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

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
--------------OZqtDF1DLHw01eH8Vc0At5Nm
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Thank you for a response, it's the first in a decade for this
      issue.</p>
    <p>I have two HP's, a Slimline with an i7, and an Envy with an i7. 
      Both are small towers (desktops).</p>
    <p>I too use drm-kmod and x11.</p>
    <p>dmesg:</p>
    <p>hdacc0: &lt;Realtek ALC671 HDA CODEC&gt; at cad 0 on hdac0
      <span style="font-family:monospace"><br>
      </span>hdaa0: &lt;Realtek ALC671 Audio Function Group&gt; at nid 1
      on hdacc0
      <br>
      pcm0: &lt;Realtek ALC671 (Rear Analog)&gt; at nid 20 and 27 on
      hdaa0
      <br>
      pcm1: &lt;Realtek ALC671 (Analog)&gt; at nid 33 and 24 on hdaa0
      <br>
      hdacc1: &lt;Intel Kaby Lake HDA CODEC&gt; at cad 2 on hdac0
      <br>
      hdaa1: &lt;Intel Kaby Lake Audio Function Group&gt; at nid 1 on
      hdacc1
      <br>
      pcm2: &lt;Intel Kaby Lake (HDMI/DP 8ch)&gt; at nid 3 on hdaa1<br>
      <span style="font-family:monospace"><br>
        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)</span></p>
    <p><span style="font-family:monospace">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.</span></p>
    <p><span style="font-family:monospace"><span
          style="color:#000000;background-color:#ffffff;">cat
          /dev/sndstat
        </span><br>
        FreeBSD Audio Driver
        <br>
        Installed devices:
        <br>
        pcm0: &lt;Realtek ALC671 (Rear Analog)&gt; on hdaa0
        (1p:1v/1r:1v)
        <br>
               snddev
        flags=0x2e2&lt;AUTOVCHAN,BUSY,MPSAFE,REGISTERED,VPC&gt;
        <br>
               [<a class="moz-txt-link-freetext" href="pcm0:play:dsp0.p0">pcm0:play:dsp0.p0</a>]: spd 48000, fmt 0x00200010, flags
        0x00002100, 0x00000004
        <br>
               interrupts 0, underruns 0, feed 0, ready 0
        [<a class="moz-txt-link-freetext" href="b:2048/1024/2|bs:2048/1024/2">b:2048/1024/2|bs:2048/1024/2</a>]
        <br>
               channel flags=0x2100&lt;BUSY,HAS_VCHAN&gt;
        <br>
               {userland} -&gt; feeder_mixer(0x00200010) -&gt;
        {hardware}
        <br>
               <a class="moz-txt-link-freetext" href="pcm0:play:dsp0.p0">pcm0:play:dsp0.p0</a>[<a class="moz-txt-link-freetext" href="pcm0:virtual_play:dsp0.vp0">pcm0:virtual_play:dsp0.vp0</a>]: spd 8000,
        fmt 0x00100008, flags 0x10000000, 0x00000000
        <br>
               interrupts 0, underruns 0, feed 0, ready 0
        [<a class="moz-txt-link-freetext" href="b:0/0/0|bs:0/0/0">b:0/0/0|bs:0/0/0</a>]
        <br>
               channel flags=0x10000000&lt;VIRTUAL&gt;
        <br>
               {userland} -&gt; feeder_root(0x00000000) -&gt; {hardware}
        <br>
               [<a class="moz-txt-link-freetext" href="pcm0:record:dsp0.r0">pcm0:record:dsp0.r0</a>]: spd 48000, fmt 0x00200010, flags
        0x00002100, 0x00000005
        <br>
               interrupts 0, overruns 0, feed 0, hfree 512, sfree 512
        [<a class="moz-txt-link-freetext" href="b:512/256/2|bs:512/256/2">b:512/256/2|bs:512/256/2</a>]
        <br>
               channel flags=0x2100&lt;BUSY,HAS_VCHAN&gt;
        <br>
               {hardware} -&gt; feeder_root(0x00200010) -&gt;
        feeder_mixer(0x00200010) -&gt; {userland}
        <br>
               <a class="moz-txt-link-freetext" href="pcm0:record:dsp0.r0">pcm0:record:dsp0.r0</a>[<a class="moz-txt-link-freetext" href="pcm0:virtual_record:dsp0.vr0">pcm0:virtual_record:dsp0.vr0</a>]: spd
        8000, fmt 0x00100008, flags 0x10000000, 0x00000000
        <br>
               interrupts 0, overruns 0, feed 0, hfree 0, sfree 0
        [<a class="moz-txt-link-freetext" href="b:0/0/0|bs:0/0/0">b:0/0/0|bs:0/0/0</a>]
        <br>
               channel flags=0x10000000&lt;VIRTUAL&gt;
        <br>
               {hardware} -&gt; feeder_root(0x00000000) -&gt; {userland}
        <br>
        pcm1: &lt;Realtek ALC671 (Analog)&gt; on hdaa0 (1p:1v/1r:1v)
        <br>
               snddev
        flags=0x2e2&lt;AUTOVCHAN,BUSY,MPSAFE,REGISTERED,VPC&gt;
        <br>
               [<a class="moz-txt-link-freetext" href="pcm1:play:dsp1.p0">pcm1:play:dsp1.p0</a>]: spd 48000, fmt 0x00200010, flags
        0x00002100, 0x00000004
        <br>
               interrupts 0, underruns 0, feed 0, ready 0
        [<a class="moz-txt-link-freetext" href="b:2048/1024/2|bs:2048/1024/2">b:2048/1024/2|bs:2048/1024/2</a>]
        <br>
               channel flags=0x2100&lt;BUSY,HAS_VCHAN&gt;
        <br>
               {userland} -&gt; feeder_mixer(0x00200010) -&gt;
        {hardware}
        <br>
               <a class="moz-txt-link-freetext" href="pcm1:play:dsp1.p0">pcm1:play:dsp1.p0</a>[<a class="moz-txt-link-freetext" href="pcm1:virtual_play:dsp1.vp0">pcm1:virtual_play:dsp1.vp0</a>]: spd 8000,
        fmt 0x00100008, flags 0x10000000, 0x00000000
        <br>
               interrupts 0, underruns 0, feed 0, ready 0
        [<a class="moz-txt-link-freetext" href="b:0/0/0|bs:0/0/0">b:0/0/0|bs:0/0/0</a>]
        <br>
               channel flags=0x10000000&lt;VIRTUAL&gt;
        <br>
               {userland} -&gt; feeder_root(0x00000000) -&gt; {hardware}
        <br>
               [<a class="moz-txt-link-freetext" href="pcm1:record:dsp1.r0">pcm1:record:dsp1.r0</a>]: spd 48000, fmt 0x00200010, flags
        0x00002100, 0x00000005
        <br>
               interrupts 0, overruns 0, feed 0, hfree 512, sfree 512
        [<a class="moz-txt-link-freetext" href="b:512/256/2|bs:512/256/2">b:512/256/2|bs:512/256/2</a>]
        <br>
               channel flags=0x2100&lt;BUSY,HAS_VCHAN&gt;
        <br>
               {hardware} -&gt; feeder_root(0x00200010) -&gt;
        feeder_mixer(0x00200010) -&gt; {userland}
        <br>
               <a class="moz-txt-link-freetext" href="pcm1:record:dsp1.r0">pcm1:record:dsp1.r0</a>[<a class="moz-txt-link-freetext" href="pcm1:virtual_record:dsp1.vr0">pcm1:virtual_record:dsp1.vr0</a>]: spd
        8000, fmt 0x00100008, flags 0x10000000, 0x00000000
        <br>
               interrupts 0, overruns 0, feed 0, hfree 0, sfree 0
        [<a class="moz-txt-link-freetext" href="b:0/0/0|bs:0/0/0">b:0/0/0|bs:0/0/0</a>]
        <br>
               channel flags=0x10000000&lt;VIRTUAL&gt;
        <br>
               {hardware} -&gt; feeder_root(0x00000000) -&gt; {userland}
        <br>
        pcm2: &lt;Intel Kaby Lake (HDMI/DP 8ch)&gt; on hdaa1
        (1p:1v/0r:0v) default
        <br>
               snddev
flags=0x2e7&lt;SIMPLEX,AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,VPC&gt;<br>
               [<a class="moz-txt-link-freetext" href="pcm2:play:dsp2.p0">pcm2:play:dsp2.p0</a>]: spd 48000, fmt 0x00200010, flags
        0x00006100, 0x00000004
        <br>
               interrupts 0, underruns 0, feed 0, ready 0
        [<a class="moz-txt-link-freetext" href="b:2048/1024/2|bs:2048/1024/2">b:2048/1024/2|bs:2048/1024/2</a>]
        <br>
               channel
        flags=0x6100&lt;BUSY,HAS_VCHAN,VCHAN_PASSTHROUGH&gt;
        <br>
               {userland} -&gt; feeder_mixer(0x00200010) -&gt;
        {hardware}
        <br>
               <a class="moz-txt-link-freetext" href="pcm2:play:dsp2.p0">pcm2:play:dsp2.p0</a>[<a class="moz-txt-link-freetext" href="pcm2:virtual_play:dsp2.vp0">pcm2:virtual_play:dsp2.vp0</a>]: spd 8000,
        fmt 0x00100008, flags 0x10000000, 0x00000000
        <br>
               interrupts 0, underruns 0, feed 0, ready 0
        [<a class="moz-txt-link-freetext" href="b:0/0/0|bs:0/0/0">b:0/0/0|bs:0/0/0</a>]
        <br>
               channel flags=0x10000000&lt;VIRTUAL&gt;
        <br>
               {userland} -&gt; feeder_root(0x00000000) -&gt; {hardware}
        <br>
        No devices installed from userspace.<br>
        <br>
           BTW, I've been using FreeBSD since 1.x days.</span></p>
    <p><span style="font-family:monospace">These same systems give me
        sound on every output on linux mint, kde neon, debian12.</span></p>
    <p><span style="font-family:monospace">the x11 anomaly i mentioned
        was regarding a new gmktec k8 (amd w radeon 780M graphics)<br>
      </span></p>
    <p>I'm running 14stable, but I've had this issue since 2017 (Dell
      Inspiron 3668 (i3).<br>
    </p>
    <div class="moz-cite-prefix">On 7/2/24 07:20, Dave Cottlehuber
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:3d40cb00-9fbb-4809-b6d9-fa40944cc62c@app.fastmail.com">
      <pre class="moz-quote-pre" wrap="">On Tue, 2 Jul 2024, at 03:56, Steven Friedrich wrote:
</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">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.
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
Hi Steven

Perhaps you can be more specific here about what's not working.

Here I've got:

- dell xps13 i7 [1] &amp; intel nuc i5
- in 14.1-RELEASE and CURRENT
- capable of playing audio &amp; video via HDMI
- I use the drm-kmod drivers &amp; 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 in <a class="moz-txt-link-freetext" href="https://docs.freebsd.org/en/books/handbook/multimedia/">https://docs.freebsd.org/en/books/handbook/multimedia/</a>;

I use mpg123 or mpv for quick tests, for audio &amp; video respectively.

[1]: <a class="moz-txt-link-freetext" href="https://wiki.freebsd.org/Laptops/Dell_XPS13_9360">https://wiki.freebsd.org/Laptops/Dell_XPS13_9360</a>;

A+
Dave
</pre>
    </blockquote>
  </body>
</html>

--------------OZqtDF1DLHw01eH8Vc0At5Nm--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bf4ebc5a-687b-4326-a711-6f8640048442>