Aux works fine, No HDMI output on Freebsd-13RC

Hello. I am new to freebsd.:)
Thank you for developing freebsd

I have a i3-10100 comet lake PC with FreeBSD 13.0-RC3.
I can't hear a sound from monitor. So I follwed this guide(https://wiki.freebsd.org/Sound).
I can hear audio pcm 0~3(Realtek) when I play mp3 file and youtube with aux headphone but only HDMI sound not works. :(
1653078489626.png


Could you teach me
1. How to make HDMI works?
2. Why sndstat show kaby lake pcm4 though my cpu is comet lake

please.. :'‑(

Output of uname -r :
Code:
3.0-RC3 FreeBSD 13.0-RC3 #0 releng/13.0-n244696-8f731a397ad: Fri Mar 19 04:00:20 UTC 2021     [EMAIL]root@releng1.nyi.freebsd.org[/EMAIL]:/usr/obj/usr/sr
c/amd64.amd64/sys/GENERIC  amd64

pulseaudio version : 14.2

Output of /cat/sndstat
Code:
Installed devices:
pcm0: <Realtek (0x0897) (Analog)> (play/rec)
pcm1: <Realtek (0x0897) (Analog)> (play/rec)
pcm2: <Realtek (0x0897) (Front Analog Headphones)> (play)
pcm3: <Realtek (0x0897) (Rear Digital)> (play)
pcm4: <Intel Kaby Lake (HDMI/DP 8ch)> (play) default
No devices installed from userspace.
Output of /etc/rc.conf
Code:
ifconfig_igb0="DHCP"
ifconfig_igb0_ipv6="inet6 accept_rtadv"
local_unbound_enable="YES"
sshd_enable="YES"
moused_enable="YES"
ntpdate_enable="YES"
ntpd_enable="YES"
powerd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
zfs_enable="YES"
dbus_enable="YES"
hald_enable="YES"
sddm_enable="YES"
firewall_enable="YES"
firewall_type="OPEN"
sndiod_enable="YES"
virtual_oss_enable="YES"
Output of /boot/loader.conf
Code:
kern.geom.label.disk_ident.enable="0"
kern.geom.label.gptid.enable="0"
cryptodev_load="YES"
zfs_load="YES"

i915kms_load="YES"
kern.vty=vt
snd_hda_load="YES"
compat.linuxkpi.i915_disable_power_well="0"

What I tried,

1. sysctl dev.hdac.0.polling=1
2, sysctl hw.snd.default_unit (https://forums.freebsd.org/threads/no-sound-in-freebsd.69898/)
 

Attachments

Last edited by a moderator:
So the sound works when you set the default to another output.

On an older FreeBSD for Radeon, there was a way to set it audio out on HDMI. Someone pointed it out in these forums. However, that directory isn't there on mine now, when newer drivers are available.

Obsolete instructions:
Edit the line "int radeon_audio" in /usr/src/sys/dev/drm2/radeon/radeon_drv.c to:
int radeon_audio=1

After this, rebuild the modules only or whole kernel as typical:
/usr/src/sys/modules/drm2/make clean; make; make install
Yours is an Intel, so it would have varied. Also, then, it changed the TV mode after the recompile, and I had to use the TV remote to switch it from zooming in to be the correct dimension. There's these older threads: Thread radeon-hdmi-audio-supported.50950, Thread no-audio-with-intel-kabylake-hdmi.66757.

Though in the newer driver a lot of these files are put into the same places. In FreeBSD 13.1, with the newer drivers installed, there's two files with "audio" ( grep) in /usr/src/sys/dev/drm2/: drm_srtc_helper.c and drm_edid.c. These would be different as they don't have "int" next to this like in the older example. Perhaps there's a way to set the audio on now, without making an adjustment to the code and recompiling.

I'm curious about mode-setting as described in drm-kms(7) and drm(7).

Also, grep -i audio /boot/modules/*ko shows matches in those binary files. It may take assistance from someone who knows these drivers to enable audio on HDMI.
 
FreeBSD 13.0-RC3.
That's a release candidate of 13.0-RELEASE, it expired a long time ago. Even the full 13.0-RELEASE is now considered EoL as 13.1-RELEASE was recently released. Upgrade your system to 13.1-RELEASE, then see if the issue is fixed or not.

 
Back
Top