[Freedreno] [GSoC-15] Enabling Freedreno on Android

Rob Clark robdclark at gmail.com
Mon Mar 16 09:11:55 PDT 2015


On Mon, Mar 16, 2015 at 11:27 AM, Varad Gautam <varadgautam at gmail.com> wrote:
> Hi Rob,
>
> I'm gradually coming up to speed with the current state of things, and
> have some more questions about adding Freedreno support to Android.
>
> Since the qcom DRI patches are in, I will look for a suitable LCD to add
> support for. As I understand, I would need to extend drm_gralloc [1] to
> provide freedreno, similar to nouveau and radeon. I can use the
> kernel-msm [2] tree with x86's mesa and drm to build android. Is ifc6410
> the intended target?

+Emil who has done some work on android build system for libdrm/mesa/etc..
note that we were talking on #dri-devel of the idea of pulling
drm_gralloc into mesa git tree, which might be the better long term
plan (assuming it can be made to work w/ the build system..  Emil
knows the issues there better than I do)

If you have access to an ifc6410 board, that would probably be a
pretty good way to start.. on that device, the primary display is HDMI
(which is already well supported in drm/msm), and we can use something
very close to a mainline kernel[1].

Obviously in the long run, it would be nice to get this working on
some phones/tablets.. which would require backporting the upstream drm
+ DSI code, and writing panel drivers for the specific LCD panel in
whichever phone/tablet.. but starting on ifc6410 could allow for some
of that to happen in parallel, depending on exactly how much work is
needed to get drm_gralloc working.


> I am confused by the presence of freedreno in kitkat-x86 [3] - can it
> build with freedreno already? I am digging into Android's build system,
> kernel and graphics stack and will come up with a set of TODOs soon.

so drm.git is libdrm.. so I think they just inherit the freedreno
directory from upstream libdrm[2]


I guess if android-x86 is already working with kitkat, that is a good
sign..  although if simply getting freedreno working on android
somehow works out to be too easy, there are various related tasks that
could be interesting to consider as well:

  1) hwcompositor support to use drm/kms planes to composite layers
using the display controller instead of gpu..  there has been work
happening on the kernel side (the new atomic[3] support).  The msm
drm/kms driver already supports atomic, so this seems like a pretty
logical next-step once the basics work
  2) backporting drm and DSI stuff to some phone/tablet and writing
panel driver is another good one

[1] https://git.linaro.org/?p=landing-teams/working/qualcomm/kernel.git;a=shortlog;h=refs/heads/integration-linux-qcomlt
[2] http://cgit.freedesktop.org/mesa/drm/tree/freedreno
[3] http://blog.ffwll.ch/2015/01/update-for-atomic-display-updates.html

BR,
-R


> [1] http://git.android-x86.org/?p=platform/hardware/drm_gralloc.git;a=tree
> [2] https://github.com/freedreno/kernel-msm/tree/ifc6410-drm
> [3]
> http://git.android-x86.org/?p=platform/external/drm.git;a=tree;f=freedreno;h=46c7378baea9bdc2236e30674c5c4ebd1477bb1e;hb=kitkat-x86
>
> Thanks,
> Varad
> _______________________________________________
> Freedreno mailing list
> Freedreno at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/freedreno


More information about the Freedreno mailing list