BSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: freebsd hdmi audi To: Dave Cottlehuber Cc: FreeBSD Stable References: <3d40cb00-9fbb-4809-b6d9-fa40944cc62c@app.fastmail.com> Content-Language: en-US In-Reply-To: <3d40cb00-9fbb-4809-b6d9-fa40944cc62c@app.fastmail.com> X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Queue-Id: 4WD3Mj1Ww6z4xKT 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: at cad 0 on hdac0 hdaa0: at nid 1 on hdacc0 pcm0: at nid 20 and 27 on hdaa0 pcm1: at nid 33 and 24 on hdaa0 hdacc1: at cad 2 on hdac0 hdaa1: at nid 1 on hdacc1 pcm2: 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: on hdaa0 (1p:1v/1r:1v)        snddev flags=0x2e2        [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        {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        {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        {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        {hardware} -> feeder_root(0x00000000) -> {userland} pcm1: on hdaa0 (1p:1v/1r:1v)        snddev flags=0x2e2        [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        {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        {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        {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        {hardware} -> feeder_root(0x00000000) -> {userland} pcm2: on hdaa1 (1p:1v/0r:0v) default        snddev flags=0x2e7        [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        {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        {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

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 in https://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--