ARM Mali Midgard GPU driver packages in Debian (work in progress)
The ARM Mali Midgard GPU series include all the devices from Mali-T604 to Mali-T880. This page covers the available Debian driver packages for these GPUs.
The first phase is to get something that works on one platform, the Firefly board (rk3288 SoC). Current status:
Step |
Status |
Resources |
1. Merge the device tree patches into mainline kernel |
Done |
rockchip for v4.13 now merged in v4.13-rc1 |
2. Add backports for patches in step 1. to the Debian 4.9 and 4.11 kernel packages |
Done |
|
3. Create a mali-midgard-dkms package for Debian kernel v4.9 |
In progress |
|
4. Create a user-space non-free package for RK3288 SoC (Mali-T760 armhf) |
In progress |
Mainline kernel branch with Mali Midgard driver, tested on Firefly: linux-4.13-rc6-mali-firefly
Related bug fix, to get the GPU regulator driver to load automatically on Firefly: regulator driver fix for mainline
Then adding an arm64 platform such as Juno would make sense as a second phase:
- Merge the device tree GPU node for the Juno chip in mainline
- Update the mali-midgard-dkms package if needed so that it builds for arm64
- Add backport from step 1. to the Debian 4.9 kernel package
- Create a user-space non-free package for the Juno SoC (Mali-T624 arm64)
Following that, new platforms and new versions of the kernel and user-space drivers can be added.
placeholder documentation
Linux kernel patches
The only kernel patches required are in the device tree. A patch is needed on each platform type to describe the GPU hardware properties.
Kernel module (dkms)
This will be provided by the mali-midgard-dkms package. This single out-of-tree Linux kernel driver supports all the Midgard GPU device types.
User-space drivers (non-free)
These will depend on the available binary user-space libraries. Each binary targets a specific GPU type, CPU architecture, display sub-system, windowing system (X11, Wayland, ...) and graphics or compute APIs (GLES, Vulkan, OpenCL...).