Mainline linux kernel - does fairphone 2 work with Freedreno?

I would like to see the fairphone 2 running just free software (free as in freedom). How good is the fairphone 2 working with freedreno?
The Fairphone 2 have as we know an adreno 330 gpu inside. The freedreno supports the A3xx series (including Adreno 330).
The drivers are there, the android layer to bound the drivers with the android eco system is also there, why isnt there even any testing image out there that includes the mainline kernel?

Software layer talk for android working with free drivers: h tt ps://media.ccc.de/v/ASG2018-164-running_android_on_the_mainline_graphics_stack

Freedreno open gpu driver: h tt ps://media.ccc.de/v/dg-88

1 Like

@z3ntu played around with the upstream kernel a bit. Freedreno is only one piece of the graphics puzzle. There’s the display controller and driver, for which @z3ntu threw together an initial driver which seemed to work but had some problems with running the display at full capacity (full HD at 60Hz). See his repository on Github for progress. There’s also the IOMMU that needs to be controlled for good GPU performance. From the top of my head the freedreno developer (Rob Clark) still struggles with integrating this IOMMU work into the kernel…

The reason why there isn’t a testing image out is because graphics isn’t the biggest problem. Trouble arises mainly with the baseband, which is in control of audio in unconventional ways. Having a public image out there that can’t connect to your mobile network seems a bit useless for a smartphone. You’d just risk people installing stuff and requiring support on things that should be deemed unsupported. Furthermore, each component needs to be hand-enabled in a file describing the hardware parameters (the device tree), and that requires extensive testing. Some bits have been done and are made upstream, but many peripherals don’t work yet.

Also! See this topic for more information!


Thanks a lot for the information. Did not know that the sound chipset is been managed by the baseband. Thats really bad for privacy.

It would still be nice to have a daily build system with mainline images that just boots and where you can connect your atheros usb wifi adapter over usb and use the phone as an fully opensource surf tablet to test out the latest freedreno code.
For connecting the wifi, this can be used https://f-droid.org/en/packages/fil.libre.repwifiapp/

Well, this is all off the top of my head, so don’t take my word on this… but I think it had something to do with reducing latency for phone calls.

(depends on what’s defined / what you define by “baseband”). There are several subprocessors on qcom Chipsets. One is the “adsp” one, “wcnss” and probably more. Wcnss is for wifi, Bluetooth and FM. adsp is (at least) for audio. Modem is something else again.

I have no idea though if they have access to each other’s memory or whatever.


Nexus 5 has modem and audio working on a mainline-based kernel (has a few out-of-tree patches) so it should be doable on the FP2. Unfortunately I currently don’t have much time as I’m doing my Zivildienst
(forgot to send this message but discourse saved it for me :slight_smile:)


This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.