1904
Comment:
|
1933
link prevention
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
ARM produce designs for a GPU called 'Mali'. This is incorporated in many SoCs and thus devices. It is used in a number of devices that can run Debian. | ARM produce designs for a GPU called 'Mali'. This is incorporated in many !SoCs and thus devices. It is used in a number of devices that can run Debian. |
Line 3: | Line 3: |
There are no free drivers available for Mali yet, but the binary drivers put out by ARM have been redistributable since 2016 and this can be packaged for non-free. A GPLed kernel shim driver is also released by ARM, which is eligible for Debian main (or contrib). | There are abandoned free drivers ([[http://limadriver.org/|lima]]) available for Mali, but the binary drivers put out by ARM have been redistributable since 2016 and this can be packaged for non-free. A GPLed kernel shim driver is also released by ARM, which is eligible for Debian main (or contrib). |
Line 8: | Line 8: |
* Mali-450 (HiKey) * Mali-6x0 (Juno, FireFly, Chromebook) * Mali-7x0 (HiKey960) |
* Mali-450 (!HiKey) * Mali-6x0 (Juno, !FireFly, Chromebook) * Mali-7x0 (!HiKey960) |
Line 16: | Line 16: |
== kernel drivers == | == kernel drivers == |
Line 20: | Line 20: |
* Mali 6x0: 'midgard' [[mali-midgard-dkms|MaliMidgard]] | * Mali 6x0: 'midgard' [[MaliMidgard|mali-midgard-dkms]] |
Line 25: | Line 25: |
== userspace drivers == |
== userspace drivers == |
Line 30: | Line 28: |
ARM produce designs for a GPU called 'Mali'. This is incorporated in many SoCs and thus devices. It is used in a number of devices that can run Debian.
There are abandoned free drivers (lima) available for Mali, but the binary drivers put out by ARM have been redistributable since 2016 and this can be packaged for non-free. A GPLed kernel shim driver is also released by ARM, which is eligible for Debian main (or contrib).
Mali hardware has been produced in several generations, so far Mali 200, 400, 600 and 700, with lots of minor variants. The wikipedia page is a good reference.
In practice relevant hardware is
Mali-450 (HiKey)
Mali-6x0 (Juno, FireFly, Chromebook)
Mali-7x0 (HiKey960)
The kernel drivers and userspace binary drivers are being packaged now (March 2017). That work is co-ordinated on the MaliMidgard page.
Upstream drivers are available from The ARM developer site
kernel drivers
There is a different kernel driver for each major hardware revision, and thus a different debian dkms package:
- Mali 450: 'utgard' mali-utgard-dkms
Mali 6x0: 'midgard' mali-midgard-dkms
- Mali 7x0: 'bifrost' mali-bifrost-dkms
In fact the midgard and bifrost drivers are currently (mid 2017) identical (but have different version numbers!). This may change in the future.
userspace drivers
Each binary driver is built for a specific combination of OS (linux/Android), hardware platform, GPU generation(4x0/6x0/7x0), and graphics technology (fbdev/X/wayland/surfaceflinger). Platforms are sometimes dropped, so you might need to choose an older version to get a driver that will work on older hardware. A few plaftforms have DTB support, so one driver build can work on more than one bit of actual hardware.