https://fedoraproject.org/wiki/Changes/SofDefaultForIntelLpe == Summary == Intel LPE audio hardware has 2 drivers in the mainline kernel the SST driver and the SOF driver, switch the default driver from SST to SOF. == Owner == * Name: [[User:jwrdegoede| Hans de Goede]] * Email: hdegoede@xxxxxxxxxx == Detailed Description == Intel x86 hardware based on the Bay Trail-T and Cherry Trails SoCs does not come with the standard Intel HDA audio hardware. Instead it has an audio block called the Low Power Engine or LPE. The LPE block needs to have firmware loaded into it to function. There are 2 firmwares available the old proprietary SST firmware and recently the open source SOF firmware has been released for the LPE engine. There are also 2 kernel drivers for the LPE block, one for each firmware, so we have a SST driver and a SOF driver. The upstream Intel developers of these drivers, who are also part of the SOF team want to deprecate and eventually remove the old SST driver in favor of the SOF driver. Starting with the 5.11 kernel it is possible to build both drivers into a single kernel and select which one will actually bind to the LPE block using a kernel commandline parameter. ATM the upstream default is the old SST driver, to avoid regressions. This Fedora change will entail carrying a downstream patch which flips the default to the SOF driver. This is being done in conclave with the upstream devs who would like to see more testing of the SOF driver. The upstream devs believe that the SOF driver is ready to replace the SST driver, but they would appreciate this being tested by Fedora first, before they flip the default for everyone. == Benefit to Fedora == By consciously making the switch now, with extensive testing and monitoring the situation we can safely make the switch without regressions hitting users of the Fedora stable releases. Whereas if we just wait for upstream to flip the default, then this may very well land in the middle of a stable release when we rebase the kernel. This helps strengthen our relationship with the upstream developers and falls under the "First" part of the "Four Foundations". This stops us from depending in the proprietary SST firmware-blobs, replacing them with the Open Source SOF firmware, matching the "Freedom" part of the "Four Foundations". == Scope == * Proposal owners: This will require a small downstream kernel patch to change the default driver when both are built (or an upstream patch to make the default configurable). That's it, no other changes are required. * Other developers: N/A (not a System Wide Change) * Release engineering: N/A (not a System Wide Change) * Policies and guidelines: N/A (not a System Wide Change) * Trademark approval: N/A (not needed for this Change) * Alignment with Objectives: This falls under the "First" part of the "Four Foundations". == Upgrade/compatibility impact == The switch will automatically be made when booting a Fedora 34 kernel. == How To Test == I (Hans de Goede) have an extensive collection of affected hardware. The audio setup on these devices consists of the LPE block itself combined with an external audio-codec. There are a number of audio-codecs used / supported on these boards. The LPE block has 2 audio-links (called SSP0 and SSP2) and some of the codecs have 2 audio-links (called AIF1 and AIF2) not each board uses the same audio-link on each side. I plan to run the below test-plan on devices with the following SoC / codec / link combinations: * Bay Trail (CR) / RT5640 / SSP0<->AIF1 * Bay Trail (CR) / RT5640 / SSP0<->AIF2 * Bay Trail / RT5640 / SSP2<->AIF1 * Cherry Trail / RT5640 / SSP2<->AIF1 * Cherry Trail / RT5645 / SSP2 * Bay Trail (CR) / RT5651 / SSP0<->AIF1 * Cherry Trail / RT5651 / SSP2<->AIF1 * Bay Trail / RT5672 / SSP2 * Bay Trail (CR) / ESS8316 / SSP0 * Cherry Trail / ESS8316 / SSP2 * Cherry Trail / NAU8824 / SSP2 Each of these will be tested according to the following test-plan: # Test speakers. # Test internal mic. # Plugin headset, test headphones. # Test headset-mic # Stop all audio, suspend + resume, test speakers. # suspend + resume while playing audio, audio should resume playing after resume. Users who want to test this and who have the affected hardware can also use this test-plan to test. == User Experience == The SST driver has some suspend/resume problems around suspending with audio playing. The SOF driver resolves these. Other then that the user-experience should be unchanged. == Dependencies == N/A (not a System Wide Change) == Contingency Plan == We can simply drop the patch flipping the default to get back to the F33 state of things. * Contingency mechanism: Revert the change * Contingency deadline: Beta release * Blocks release? No == Documentation == N/A (not a System Wide Change) == Release Notes == FIXME: TODO -- Ben Cotton He / Him / His Senior Program Manager, Fedora & CentOS Stream Red Hat TZ=America/Indiana/Indianapolis _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx