Restoring audio on an Arch Linux ThinkPad L14 with an Intel Raptor Lake AVS controller requires installing the sof-firmware package and ensuring the correct kernel module is loaded. This specific hardware relies on Sound Open Firmware rather than legacy ALSA drivers, so standard troubleshooting steps often fail unless these modern firmware components are explicitly configured.
Understanding the Hardware Architecture
Intel’s newer laptop platforms, including the Raptor Lake series found in recent ThinkPad L14 models, utilize a different audio subsystem architecture compared to older generations. The "AVS" designation stands for Audio Voice System, which indicates that the audio codec is managed by a DSP (Digital Signal Processor) running Sound Open Firmware (SOF). Unlike traditional HDA (High Definition Audio) controllers that use direct driver interaction, SOF-based controllers require external binary blobs to function correctly. If you attempt to use standard ALSA utilities without the proper firmware, the system will detect the hardware but output no sound because the DSP has not been initialized with the necessary instructions. This is a common point of confusion for users migrating from Windows or older Linux distributions where such firmware might be bundled differently or handled automatically by proprietary drivers.Installing Required Firmware Packages
The most critical step in resolving this issue on Arch Linux is ensuring that the Sound Open Firmware packages are installed via Pacman. Arch Linux separates kernel modules from their associated firmware files, meaning that even if your kernel supports the hardware, it cannot operate without the binary data stored in the filesystem. Open your terminal and execute the following command to install the necessary firmware:sudo pacman -S sof-firmware
This package contains the specific firmware binaries required for Intel AVS codecs. Without this package, the kernel module may load, but it will fail to initialize the audio stream, resulting in silence. In some cases, depending on the exact revision of your Raptor Lake chip, you might also need to ensure that the generic alsa-utils package is installed to provide user-space tools like pactl and pavucontrol, although these are often pulled in as dependencies for desktop environments.
Verifying Kernel Module Loading
After installing the firmware, you must verify that the correct kernel module is active. The module responsible for interfacing with Intel SOF audio devices is typically namedsnd_sof_pci. You can check if it is loaded by using the lsmod command.
lsmod | grep snd_sof
If this command returns no results, the module is not loaded. On modern kernels, this module should be auto-loaded during boot if the hardware is detected. If it does not appear, you may need to manually load it using sudo modprobe snd_sof_pci. However, persistent issues here often indicate a deeper conflict with other audio modules or BIOS settings.
It is also important to ensure that no conflicting legacy modules are interfering. Modules like snd_hda_intel are designed for older HD Audio controllers and can sometimes cause conflicts if they attempt to claim resources meant for the SOF DSP. You can check for these conflicts by looking at the dmesg logs after boot.
dmesg | grep -i sof
Look for lines indicating successful firmware loading. If you see errors stating that the firmware file was not found, double-check that sof-firmware is correctly installed and that the files exist in /usr/lib/firmware/intel/sof.
Configuring PulseAudio or PipeWire
Once the kernel side is stable, the next layer is the sound server. Most modern Arch Linux installations use either PulseAudio or PipeWire. Both systems rely on the underlying ALSA layer, so if the kernel module and firmware are correct, the sound server should automatically detect the new profile. Restart your sound server to force a rescan of available hardware profiles:systemctl --user restart pulseaudio
# OR if using PipeWire
systemctl --user restart pipewire pipewire-pulse wireplumber
After restarting, open your volume mixer application. If the device appears as "Dummy Output," it usually means the kernel module failed to bind properly. If it appears as "Internal Audio" or similar, select it as the default profile. You may need to adjust the port configuration within your audio settings, as SOF controllers often expose multiple ports (speakers, headphones, microphone array) that need to be mapped correctly.
For users who previously had dual-boot setups, ensure that Windows Fast Startup is disabled. While less likely to affect Linux directly, residual states from Windows can sometimes lock hardware resources. For more information on managing dual-boot environments cleanly, you might find our guide on Dual Booting Windows 10 and Arch Linux helpful for general system hygiene.
Frequently Asked Questions
Why does my sound work in Windows but not Linux?
Windows uses proprietary drivers that bundle all necessary firmware internally, whereas Linux splits kernel code and firmware into separate packages. You must explicitly installsof-firmware on Arch to match the functionality provided by default in Windows.
How do I know if my ThinkPad L14 uses SOF audio?
Runlspci | grep -i audio. If the result mentions "Sound Open Firmware" or "AVS," it is SOF-based. Older models might say "HD Audio Controller," which would require different troubleshooting steps involving snd_hda_intel.
What should I do if 'sof-firmware' is already installed but there is still no sound?
Check your BIOS settings to ensure that the audio controller is enabled and not set to a legacy-only mode. Additionally, try updating your kernel to the latest LTS or mainline version, as support for newer Raptor Lake chips improves with each release.Can I switch back to the legacy HDA driver?
Generally, no. The Raptor Lake AVS controller is hardware-designed to work with SOF. Attempting to force the legacysnd_hda_intel driver usually fails because the hardware interface is fundamentally different. Stick to the SOF stack for reliable operation.