Skip to content

Add Redrix microphone priority and gain configuration - #438

Open
crabhit wants to merge 1 commit into
WeirdTreeThing:mainfrom
crabhit:fix/redrix-microphone-config
Open

crabhit wants to merge 1 commit into
WeirdTreeThing:mainfrom
crabhit:fix/redrix-microphone-config

Conversation

@crabhit

@crabhit crabhit commented Sep 14, 2026

Copy link
Copy Markdown

On the HP Elite Dragonfly Chromebook (Redrix), Mic1 can capture sound but have an unusably low recording level. The tested system also selected the speaker monitor as its default source under WirePlumber 0.5.13.

Depends on WeirdTreeThing/alsa-ucm-conf-cros#2 to stop exposing the unused Mic2 channels. That UCM change should land on standalone before this installer change is released, since install_ucm() fetches that branch.

Install Redrix-specific microphone configuration after detecting its DMI product name:

  • Set Mic1's session priority to 1600 with WirePlumber 0.5 or newer.
  • Add a fixed, two-channel +20 dB preamp with WirePlumber 0.5.13 or newer and PipeWire 1.4.0 or newer, while preserving the normal input-volume control.
  • Report unsupported or unknown versions, remove this installer's stale files after a downgrade or a move to another board, and keep repeated runs idempotent.
  • Document migration from manual preamp rules and prompt users to select Mic1 and check a voice recording. The installer does not overwrite per-user default-source or volume state.

The gain is empirical compensation validated on one Redrix; the underlying reason for its low raw capture level has not been established. It is not a firmware or topology fix. WirePlumber 0.5.14 separately fixes automatic selection of sink monitors as default sources; the priority rule also provides a board-specific ordering policy for older releases.

Validation

  • PYTHONDONTWRITEBYTECODE=1 python3 -m unittest discover -s tests -v: all 11 tests passed. Coverage includes board matching, version boundaries, failed/timed-out probes, repeated installation, downgrade and board-migration cleanup, and preservation of unmanaged configuration.
  • Both WirePlumber fragments parsed with pw-config. Matching against the captured device properties selected only Mic1, and the filter actions matched the working local configuration.
  • Equivalent local configuration was tested with acoustic tones on Redrix / SOF sof-rt5682, PipeWire 1.6.2 and WirePlumber 0.5.13. The machine's owner confirmed successful recording with the system recorder after restoring input volume to 100% and applying the gain.
  • git diff --check passed.

The complete installer has not been run on a clean installation, and reboot, suspend/resume, and additional Redrix units have not been tested as part of this PR.

Version references: WirePlumber 0.5.13 filter-graph support, PipeWire 1.4.0 audioconvert filter graphs, and WirePlumber 0.5.14 default-source fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant