This is a #wiki post, feel free to edit your findings and information in!
Following up on an earlier thread for FP3 brainstorming, I am curious whether people are up for the challenge of building an FP Open OS build around the upstream kernel. Why?
- Upstream has security fixes first.
- Upstream drivers have a bigger chance of being audited: you know what you run!
- Upstream gets most attention from ARM (through their Linaro people) in terms of code optimisation and arch-wide bugfixes.
- Upstream has more open source drivers thanks to Qualcomm and Red Hat. You’ll have a more open experience and make FP a showcase for the success of SoC vendor upstream efforts, hopefully incentivising other SoC vendors to push through with this too, contributing to the long-term security of the Android platform…
Qualcomm and Red Hat have made significant progress for upstream Linux support of the Qualcomm Snapdragon 801 and most of its devices (including the GPU). They’re quite helpful too (say “hi!” in the Freenode ##linux-msm IRC channel ;-))!
- UART (serial console)
- Hardware volume up/down & camera buttons (… but you need a user-space for them to do anything)
- Internal storage
Challenges left include:
- Adding device-specific device tree bindings (anything you can extract from Fairphone’s kernel tree) to the kernel. For display, see this page, panel information here.
- Configuring the kernel for an Android environment rather than desktop Linux.
- Replacing the closed source user-space OpenGL (ES) driver with Mesa freedreno.
- Making the adsp (Hexagon DSP) do useful stuff with upstream gstreamer, perhaps by interacting with the (closed) firmware files.
- Configuring the bootloader to load using device tree.
- Get Qualcomm to release an (open source or otherwise closed source) baseband driver that at least works.
Please visit https://github.com/z3ntu/mainline_fairphone_2