Audio playback support added to Android Lollipop 5.0 for the Fairphone 1

(@moderators: Could you please add this post as a comment to my original topic? As I will also need to update the instructions, could you give me write permissions to modify that original topic? Thanks! :slight_smile: )

Do you hear that? It is the sound of a Fairphone 1 running Android Lollipop 5.0 and playing music :slight_smile: And the best part? It is fully FOSS :smiley:

I wrote a new kernel driver for the Fairphone 1 audio system using the ALSA SoC platform and paired it in user space with one of the already existing audio HALs for ALSA SoC (for the time being I just modified the audio HAL for the Samsung Galaxy 3 from CyanogenMod 11.0, but I am still studying other options). It was way harder than I initially expected, as the original MediaTek kernel driver turned out to be just a rather thin wrapper for the hardware while most of the logic is done in their proprietary user space binary blobs (and besides not having access to the source code I obviously had no access either to a hardware datasheet), and the original Linux 3.4 kernel lacked several ALSA SoC features that I had to backport too.

But enough with the details; the important thing is that audio playback works now :slight_smile: I have not uploaded yet the changes to my repository, because I still have to clean up the code, solve some issues and settle on the audio HAL implementation to adapt, but I will try to do it in the next days; I will update the original instructions when everything is ready.

You may have noticed that I have been talking about audio playback, but not audio capture (recording). Well, as you may suspect that is because I have not implemented audio capture yet :stuck_out_tongue: There is nothing special about capture, though; I have not implemented it due to a lack of time (reverse-engineering, even a basic one, is very time consuming :frowning: ), but it would be just a matter of extending the new kernel driver and the audio HAL implementation. However, I do not know when I will be able to do that, as I must focus on other important real life commitments, like finding a job :wink: Anyway, I am probably the only person ever that will use this system, so I am not in a hurry :stuck_out_tongue:


A post was merged into an existing topic: Android Lollipop 5.0 for the Fairphone 1