The Pyra has some not-so-easy things that need fixing - and I'd like to offer bounties for those!
The audio driver is part of that.
What's the issue with audio on the Pyra?
At the moment, we're using a very basic audio driver, which causes quite a few problems.
* I provides ONE audio device with four channels (two are for the headset and two for the speakers) instead of providing multiple devices with two channels each.
* These channels are even mixed up somehow so that Left / Right are mixed together in the speakers. aTc made some workaround in PulseAudio - but that also doesn't fix this 100% it seems.
* The TWL6040 runs with 96kHz default audio quality. Every audio stream that is NOT 96kHz natively is being SOFTWARE-converted at the moment (which needs a lot of CPU power)
* It also is a bit unstable whereas the stream can suddenly crash and you only hear noise. This especially happens with higher volumes.
How should it be?
The TWL6040 provides hardware acceleration for resampling, etc. It is also able to create multiple audio devices (PCM streams) so that we don't need to mess around with these 4 channels-split-up issue anymore.
That accelaration needs to have a working ABE / AESS firmware. Sadly, I'm not knowledgeable enough to give exact technical details about that.
The problem is that the TI didn't update the firmware / driver anymore since an ancient kernel version - and the firmware formats in Linux has changed since then. So it needs to be ported to a more recent kernel version.
Here's part of a reply from hns:
So some work has been done - but for some reaosn, it doesn't work yet.
Here are some more links I was able to dig out:
And here's the old driver:
ABE / AESS Firmware:
The bounty
Since this is a pretty important thing to fix in my opinion and it doesn't seem to be that easy, the bounty I'm giving out is quite high.
If someone gets the full ABE / AESS / Driver setup to work, I'm happy to pay 2000 EUR as bounty!
Of course, everyone else here is welcome to add something to the money pile if he / she likes!
Oh, and:
I DID ask at the mailing list first if someone of the persons working originally on the driver / audio setup would be offended if I offer such bounties but I didn't receive any replies.
But once again: If someone is helping out with improving the software already on the Pyra (not just audio stuff) and you would like to receive some payment for your work, let me know.
I'm sure we can set something up here. As the hardware development for the Pyra has been finished, I have some spare money for software development now.
The audio driver is part of that.
What's the issue with audio on the Pyra?
At the moment, we're using a very basic audio driver, which causes quite a few problems.
* I provides ONE audio device with four channels (two are for the headset and two for the speakers) instead of providing multiple devices with two channels each.
* These channels are even mixed up somehow so that Left / Right are mixed together in the speakers. aTc made some workaround in PulseAudio - but that also doesn't fix this 100% it seems.
* The TWL6040 runs with 96kHz default audio quality. Every audio stream that is NOT 96kHz natively is being SOFTWARE-converted at the moment (which needs a lot of CPU power)
* It also is a bit unstable whereas the stream can suddenly crash and you only hear noise. This especially happens with higher volumes.
How should it be?
The TWL6040 provides hardware acceleration for resampling, etc. It is also able to create multiple audio devices (PCM streams) so that we don't need to mess around with these 4 channels-split-up issue anymore.
That accelaration needs to have a working ABE / AESS firmware. Sadly, I'm not knowledgeable enough to give exact technical details about that.
The problem is that the TI didn't update the firmware / driver anymore since an ancient kernel version - and the firmware formats in Linux has changed since then. So it needs to be ported to a more recent kernel version.
Here's part of a reply from hns:
AFAIR the last almost working version did have a working driver, but firmware file format modern Linux kernels do accept have changed. There had been attempts by Peter Ujfalusi and Marek Belisko (who is much more experienced with Audio than me) to recompile it from source but they did not succeed completely.
AES/AESS integration is available in the latest Letux kernels. But incomplete.
It compiles, does not harm but does not have the expected functionalities (because I don't know how to set up the DAI links and widgets correctly).
And as said above, the AES firmware is not in a good shape.
If you take letux-5.10 as the basis it should work.
Otherwise the latest AESS patch set is here:
So some work has been done - but for some reaosn, it doesn't work yet.
Here are some more links I was able to dig out:
And here's the old driver:
GitHub - omap-audio/linux-audio: Linux audio drivers for OMAP processors.
Linux audio drivers for OMAP processors. Contribute to omap-audio/linux-audio development by creating an account on GitHub.
github.com
ABE / AESS Firmware:
GitHub - omap-audio/abefw: ABE AESS firmware and configuration generation tools.
ABE AESS firmware and configuration generation tools. - GitHub - omap-audio/abefw: ABE AESS firmware and configuration generation tools.
github.com
The bounty
Since this is a pretty important thing to fix in my opinion and it doesn't seem to be that easy, the bounty I'm giving out is quite high.
If someone gets the full ABE / AESS / Driver setup to work, I'm happy to pay 2000 EUR as bounty!
Of course, everyone else here is welcome to add something to the money pile if he / she likes!
Oh, and:
I DID ask at the mailing list first if someone of the persons working originally on the driver / audio setup would be offended if I offer such bounties but I didn't receive any replies.
But once again: If someone is helping out with improving the software already on the Pyra (not just audio stuff) and you would like to receive some payment for your work, let me know.
I'm sure we can set something up here. As the hardware development for the Pyra has been finished, I have some spare money for software development now.