chergert/thinkpad-p1-gen8-pipewire-config

Improve speaker sound on Linux with thinkpad p1 gen8 17aa:2349

3

stars

1

commits

Shell

primary language

Aug 28, 2026

updated

README

ThinkPad P1 Gen 8 speaker tuning for Linux

This project applies a conservative PipeWire speaker correction derived from Lenovo's official Windows audio package for the ThinkPad P1 Gen 8, subsystem 17aa:2349.

My installed Linux CS35L56 smart-amplifier firmware and both left/right tuning blobs were checked against Lenovo package n4ea114w.exe (release 2026-06-09). They were byte-for-byte identical.

If they are not, I have no idea what will happen for you.

The missing Windows layer is Dolby Atmos/DAX. Lenovo's exact endpoint file is SOUNDWIRE_MAN_01FA_FUNC_3556_SUBSYS_234917AA.xml, tuning version 34. It defines a 100 Hz speaker high-pass and a device-specific 20-band optimizer. The PipeWire configuration reproduces those deterministic parts and reserves headroom. The CS35L56 continues to provide hardware-specific calibration, excursion/thermal protection, and final amplification.

It does not claim to reproduce Dolby's proprietary object renderer, dialog steering, adaptive loudness, or speaker-stress regulator. Those cannot be translated exactly into PipeWire from the declarative tuning file alone.

Install

./install.sh

This creates only a per-user PipeWire configuration and enables Fedora's filter-chain.service. It does not modify /usr, /etc, ALSA UCM, or firmware.

Remove

./uninstall.sh

Verification

systemctl --user status filter-chain.service
wpctl status -n
journalctl --user -u filter-chain.service

The default output should be ThinkPad P1 Gen 8 Speakers, routed to the hardware HiFi__Speaker__sink. Headphones, HDMI, and Bluetooth remain unprocessed.

Contributors

chergert

1 commits

chergert/thinkpad-p1-gen8-pipewire-config

Improve speaker sound on Linux with thinkpad p1 gen8 17aa:2349

3

stars

1

commits

Shell

primary language

Aug 28, 2026

updated

README

ThinkPad P1 Gen 8 speaker tuning for Linux

This project applies a conservative PipeWire speaker correction derived from Lenovo's official Windows audio package for the ThinkPad P1 Gen 8, subsystem 17aa:2349.

My installed Linux CS35L56 smart-amplifier firmware and both left/right tuning blobs were checked against Lenovo package n4ea114w.exe (release 2026-06-09). They were byte-for-byte identical.

If they are not, I have no idea what will happen for you.

The missing Windows layer is Dolby Atmos/DAX. Lenovo's exact endpoint file is SOUNDWIRE_MAN_01FA_FUNC_3556_SUBSYS_234917AA.xml, tuning version 34. It defines a 100 Hz speaker high-pass and a device-specific 20-band optimizer. The PipeWire configuration reproduces those deterministic parts and reserves headroom. The CS35L56 continues to provide hardware-specific calibration, excursion/thermal protection, and final amplification.

It does not claim to reproduce Dolby's proprietary object renderer, dialog steering, adaptive loudness, or speaker-stress regulator. Those cannot be translated exactly into PipeWire from the declarative tuning file alone.

Install

./install.sh

This creates only a per-user PipeWire configuration and enables Fedora's filter-chain.service. It does not modify /usr, /etc, ALSA UCM, or firmware.

Remove

./uninstall.sh

Verification

systemctl --user status filter-chain.service
wpctl status -n
journalctl --user -u filter-chain.service

The default output should be ThinkPad P1 Gen 8 Speakers, routed to the hardware HiFi__Speaker__sink. Headphones, HDMI, and Bluetooth remain unprocessed.

Contributors

chergert

1 commits

Languages

Shell

100.0%