Automatically detecting (and applying) applicable audio hardware quirks on x86
Problem statement: There are still too many sound hardwares that don't work OOTB with Ubuntu. As much as possible, we should prevent user prompting and make the user's local infrastructure gather and, if possible, detect and apply workarounds. (Future work could include automating the conversion of workarounds into patches, the filing of bugs using Launchpad, and the generating of git changesets to push upstream.)
Henceforth we refer to "the user's local infrastructure" as "the utility", which will include the use of existing upstream tools such as hda-verb.
Blueprint information
- Status:
- Not started
- Approver:
- Marjo F. Mercado
- Priority:
- Undefined
- Drafter:
- Daniel T Chen
- Direction:
- Needs approval
- Assignee:
- Daniel T Chen
- Definition:
- Discussion
- Series goal:
- Proposed for maverick
- Implementation:
- Not started
- Milestone target:
- maverick-alpha-3
- Started by
- Completed by
Whiteboard
Use cases:
Dan's laptop's internal microphone isn't working because of an incorrect VREF setting. The utility detects the unsupported PCI SSID and applies an hda-verb command. Dan is happy because his internal mic now works. (Optionally, an extra init-verb and reconfig command are written to sysfs.)
Jane's laptop's internal speakers don't mute when she inserts headphones into the jack. The utility detects the unsupported PCI SSID and applies a module quirk via sysfs. After rebooting, Jane is happy because her laptop's internal speakers mute when she inserts headphones.
Karen's laptop's internal speakers distort whenever she listens to music or watches video. The utility detects a missing 0 dB cap for her HDA codec SSID and applies an hda-verb command. Karen is happy because her sound is no longer distorted under normal playback conditions. (Optionally, a git changeset is generated for sound-2.6 master HEAD.)
John's laptop's sound seems to always disappear whenever he tries to play music or watch a video. The utility detects the broken controller and writes a module option to a module-init-tools configuration file that is effected on next reboot. John is happy because his sound no longer disappears whenever he tries to play music or watch videos.
David Henningsson, 2010-05-11:
Sounds good, a few questions:
1) How does this relate to the kernel-
2) Is this "utility" supposed to look at an online hw database, and how do we put information in that database?
Dan, 2010-05-11:
1) Haven't sat in on discussion of said spec, so would be nice to get more info on it
2) No, it would only parse /proc/asound/