I can’t get any sound out of my HDMI port. My laptop is Acer Swift SF514-52T and is running on Fedora 36.
I tired to add the intel_iommu=on,igfx_offto GRUB_CMDLINE_LINUX="" in the /etc/default/grub file, as it has been suggested everywhere, for instance, here.
Then I sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg and reboot.
After rebooted, my internal speakers and internal mic that was working before are now death (no device show up at all).
My laptop is working fine on Windows 11.
How can I make the sound come out of my HDMI port on Fedora 36?
That has been wrong since F33 was released. The file you overwrote is a stub pointer that redirects grub to the relocated grub.cfg file. All system updates write a new grub.cfg file to /boot/grub2/grub.cfg and once you write the file under /boot/efi as you did then updates will no longer be accessible without manually redoing the grub2-mkconfig command.
The correct command is sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Please remove the file you created at /boot/efi/EFI/fedora/grub.cfg then restore the default file in that location with sudo dnf reinstall grub2-common grub2-efi. Then if you want to rebuild the grub.cfg file use the command I provided above.
I personally use gnome settings to select the hdmi output, but see lots of threads about pavucontrol and similar to select specific devices for audio output.
I tried adding the intel_iommu=on,igfx_off to GRUB_CMDLINE_LINUX="" in the /etc/default/grub file again and running the correct command. But the result is the same after rebooted. All of my sound devices disappear from my settings.
I also tried disable Intel virtualization settings in the BIOS (VT-x, VT-d) but it didn’t help to get the sound out of my HDMI.
Can you double check your wireplumber version? sudo dnf list installed wireplumber
If it’s wireplumber-0.4.10-1, and you’ve modified or copied any of the config files to ~/.config or /etc you may want to check the updated ones versus your modified ones.
My speakers, mic, and bluetooth are working without any issue. I am having an issue with HDMI output. I have never modified any wireplumber related config. All I do is adding the intel_iommu=on,igfx_off to GRUB_CMDLINE_LINUX="" in the /etc/default/grub file.
If you see problems with hardware after an update, one of the simplest things to try that sometimes works is just to select the previous kernel when your system is booting. It is not uncommon that a kernel update is responsible for hardware malfunctions.
This is my first time with Fedora and Linux in general. As with Fedora 36, everything work out of the box on my laptop except for the HDMI audio output.
UPDATE: in the end, the only way to make the sound out of my HDMI is to use the HDaudio legacy driver by adding the options snd-intel-dspcfg dsp_driver=1 in the /etc/modprobe.d/snd-intel.conf file. Then running sudo dracut --force and reboot.
However, with the HDaudio legacy driver, DMIC wouldn’t work which is the expected behavior.
Fedora 36 default setting is options snd-intel-dspcfg dsp_driver=2 (SST driver). No matter what you do, the HDMI audio will not work, ever.
SOF driver, options snd-intel-dspcfg dsp_driver=3, is not supported on my laptop—Coffee Lake CPU at all. You can see more regarding this situation here.
Basically, I have to pick my poison between option 1 or 2
This command overwrites a pointer file used to redirect grub to the actual grub.cfg file located at /boot/grub2/grub.cfg and will mean the user MUST manually repeat that command with every kernel update.
To recover from this error the user must first remove 2 files then reinstall grub2-common to recreate those files properly. sudo rm /boot/grub2/grub.cfg /boot/efi/EFI/fedora/grub.cfg sudo dnf reinstall grub2-common (which will recreate the files just removed with proper content.)
Closing this thread which has been necro for 2 years.