[Bug 237340] Unable to make HDMI sound works with HD630
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 04 Oct 2025 09:35:18 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=237340 --- Comment #30 from Damjan Jovanovic <damjan.jov@gmail.com> --- Created attachment 264282 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=264282&action=edit Preliminary patch Here's a minimal, preliminary patch that gets HDMI sound working on my Intel Haswell setup, and might also work on Broadwell, Skylake, Kaby Lake, Ice Lake, and Tiger Lake. It's based on the preliminary patch by Richard Russo on https://github.com/freebsd/drm-kmod/issues/187#issuecomment-1216914479, with these changes: - the vendor verb is only sent to specific Intel cards, not to every codec in the system. - I took out the BCLK stuff, it breaks for me (complete silence on all HDMI outputs). - added support for some of the HDA codecs that came after Broadwell. - moved definitions of the vendor verbs to hda_reg.h. - DisplayPort 1.2 is currently only enabled on Broadwell, because it breaks HDMI sound on Haswell, so I don't trust it on other codecs either. Please check the device ID for your Intel HDA codec: sysctl dev.hdacc | grep 8086 I get: dev.hdacc.0.%pnpinfo: vendor=0x8086 device=0x2807 revision=0x00 stepping=0x00 Now see if the "device", 0x2807 in my case, is in the list below. If not, report it here (full output of sysctl dev.hdacc), and if you can, add it to the patch and test it (in the intel_hdmi_enable_all_pin_and_converter_widgets() function). Currently supported Intel HDA codec device IDs (they've been hard to find): 0x2807 (Haswell) 0x2808 (Broadwell) 0x2809 (Skylake) 0x280b (Kaby Lake) 0x280f (Ice Lake) 0x2812 (Tiger Lake) 0x2814 (Tiger Lake?) If you can, please test. Unfortunately you'll need to patch and rebuild the kernel, ie. # Assuming the kernel version in /usr/src matches your running kernel: cd /usr/src patch -p1 < /where/you/downloaded/my.patch make buildkernel make installkernel reboot # Examine your new PCM outputs, which should include HDMI: cat /dev/sndstat # Set the correct default unit, 1 in my case: sysctl hw.snd.default_unit=1 # Play sound and report back Known issues include: - While sound over HDMI works, I get constant static played through my PC speakers. Other sounds can also be played, but doesn't make the static go away. - Only minimally tested, all kinds of other issues might be there, and it is of course without any warranty. -- You are receiving this mail because: You are the assignee for the bug.