Mali packaging for Distros

Wookey

<wookey@wookware.org>

Overview

  • This is a discussion
  • What's done
  • What's pending
  • Issues
  • What next?

Happennings

ARM made binaries redistributable (Oct 2016)

Wookey and Guillaume Tucker start with firefly

Hardware

  • utgard (Mali 200,400,450) (Hikey, A20)
  • midgard (Txxx) (RK3288, Juno, Chromebook, Arndale)
  • bifrost (Gxxx) (Hikey960)
  • midgard and bifrost share kernel driver
  • midgard r21 == bifrost r9

Debian Packages

  • There are some!
  • mali-midgard (dkms kernel package) (since Oct 2017)
  • 32 (armhf/armel) & 64 (arm64)
  • mali-midgard-driver (binary, non-free, since Jan 2018)
  • in testing/unstable

Wiki and Mailing list

  • https://wiki.debian.org/MaliGraphics
  • https://wiki.debian.org/MaliMidgard
  • Mailing list: pkg-mali-devel (https://alioth-lists.debian.net)

Packaging Details

  • r16 (last X11 release, Jan 2017)
  • Builds with 4.9-4.17 kernels
  • Only firefly (RK3288) has DTB upstream (4.14)
  • r16 binary wants r13-16 kernel driver
  • r21 binary wants r17-21 kernel driver

In progress

  • Utgard packages (Hikey)
  • Bifrost packages (Hikey960) (r21(=r9), fbdev)
  • (done but not uploaded)

Issues

  • Binaries too specific
  • GPU/platform/version/display-type/bits
  • X support dropped after r16 (Jan 2017)
  • libEGLVND
  • Need DTBs upstream (newer platforms)

Specific Binaries

  • GPU: (T604/T760/T620/T860)
  • Platform: Firefly/Odroid/Juno/Chromebook
  • (esp. power control)
  • Version: r16 (r21 is latest)
  • Display-type: fbdev/X11/wayland/wayland-fbdev
  • 32/64 bit

DTB upstreaming

  • ARM and upstream DTBs slightly different
  • ARM: compatible = "arm,malit6xx", "arm,mali-midgard";
  • Upstream: .compatible = "arm,mali-t604", "arm,mali-t624", "arm,mali-t628",
    	          "arm,mali-t720", "arm,mali-t760",
    	          "arm,mali-t820", "arm,mali-t860", "arm,mali-t880",
    	          "arm,mali-midgard"

Allwinner drivers

  • Released, 32 and 64bit, and X(!)
  • utgard, r6 and r8
  • Arm released fbdev/wayland 32bit r6, wayland 64bit r7
  • Changed licence, but not redistributable (!)
  • https://github.com/bootlin/mali-blobs
  • Apply ARM licence to Allwinner binaries?

Allwinner Licence -pt1

    (i)For Users of GitHub: Allwinner hereby grants to you, subject to the terms and conditions of this Licence,
    a nonexclusive, nontransferable, royalty free, worldwide licence solely for the Authorised Purpose to
    use and copy the Files;
    
    (ii) For Customers: Allwinner hereby grants to you, subject to the terms and conditions of this Licence,
    a nonexclusive, nontransferable, royalty free,    worldwide licence solely for the Authorised Purpose to:
    (a) use the Files; andcopyright@2016 by Allwinner Technology Co., Ltd.
    (b) distribute the Files to Users of GitHub via [https:github.com/tinalinux]; and
    (c) sublicense the Use of the Files to users of GitHub via [https:github.com/tinalinux]; and
    (d) distribute and sublicense the Use of the object code solely for use with silicon manufactured
    by or for Allwinner.
  

Allwinner Licence -pt2

    (ii) FURTHER CONDITIONS ON REDISTRIBUTION AND SUB-LICENSING: If you choose to redistribute or
    sublicence the whole or any part of the Files or derivatives made under the licences granted
    in Clause 2 above, you agree;
    
    (a) to ensure that they are licenced for use only as part of Software Applications;
    (b) not to use Allwinner’s (or its licensors’) name, logo or trademarks to market Software Applications;
    (c) to include valid copyright notices on Software Applications, and preserve any copyright
    notices (whether Allwinner’s or its licensor’s, if any) which are included with, or in, the Files;
    (d) to ensure that your distributors and customers agree that such Files and derivatives
    shall only be used subject to restrictions which are equivalent to those in Clause 3.
  

People

  • Guillaume Tucker
  • ARM release team (Beata Michalska,)
  • ARM MPG (developers)
  • Sumit Garg (Hikey960)
  • Maxime Ripard

Free drivers

  • Panfrost (midgard/bifrost)
  • https://panfrost.freedesktop.org/
  • Lima (utgard)
  • https://gitlab.freedesktop.org/lima/
  • Coming along nicely...

Discuss

  • r16 and r21 drivers (as r9 bifrost)?
  • Concentrate on free drivers?
  • DTBs upstreaming policy
  • Wording of Allwinner licence

  • Join the mailing list!