Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
The purpose of this page is to

The purpose of this page is to describe how the ARM MALI driver is integrated into Xilinx


Table of Contents

Table of Contents

Overview

Xilinx ZynqMPSoC has the MALI 400MP GPU from ARM. The ARM MALI 400MP is an OpenGLES 2.0 capable GPU.

Driver access and license

The driver for MALI 400MP consists of Linux kernel driver and user library. The user space library is proprietary licensed and will have to be distributed as binaries. The user space library will be provided through Xilinx PetaLinux release. The Linux kernel driver is GPL licensed, and downloadable from http://malideveloper.arm.com/. Until 2016.4, the kernel driver was hosted on Xilinx github. From 2017.1, the kernel driver hosted on Xilinx github is deprecated. This will now be downloaded from ARM website and packaged into the PetaLinux BSP.

...

  • 2019.1
    • Summary
      • The variable to toggle different backend has been decoupled from DISTRO_FEATURES. A new variable "MALI_BACKEND_DEFAULT" is used to select backend.
      • Customer can now toggle libMali backend at runtime using update-alternatives. (details can be found below)

...

Selecting particular backends:

Wayland/GBM backend:

2019.1:

From 2019.1 release, selecting Mali backend is decoupled from 'DISTRO_FEATURES', another variable is introduced 'MALI_BACKEND_DEFAULT' to create proper link. By default, plnx build system will try to package all the backends in the rootfs and depending upon the value of 'MALI_BACKEND_DEFAULT' we create a link to the correct backend. Fbdev, X11, wayland and headless are the choices we have, assigning incorrect name would yield a link to headless.

For example: select libmali and Once you have selected libmali through 'petalinux-config -c rootfs', add following parameters to <plnx-proj-root>/project-spec/meta-user/conf/petalinuxbsp.conf to select wayland. Fbdev, X11, wayland and headless are choices we have, assigning incorrect name would yield a link to headless.(Always check for typo). 

Code Block
themeMidnight
MALI_BACKEND_DEFAULT = "wayland"

Users can still modify DISTRO_FEATURES, in order to reduce the size of rootfs, but remember selecting Mali backend wont be impacted.

2018.3:

From 2018.3 release, Mali will support wayland/GBM backend in addition to fbdev and X11. Inorder to enable wayland backend support, please add following parameters to <plnx-proj-root>/project-spec/meta-user/conf/petalinuxbsp.conf and support wayland/GBM backend in addition to fbdev and X11.

For example: Once you have selected libmali through 'petalinux-config -c rootfs' unselect 'packagegroup-petalinux-matchbox' and 'packagegroup-petalinux-x11' from 'petalinux-config -c rootfs' and perform a 'petalinux-build'and add following parameters to <plnx-proj-root>/project-spec/meta-user/conf/petalinuxbsp.conf 

Code Block
themeMidnight
DISTRO_FEATURES_append = " wayland"
IMAGE_INSTALL_append = " packagegroup-petalinux-weston"

This packagegroup ensures all the essential wayland/weston packages are packaged into the root filesystem rootfs for having a wayland/weston application work out of the box. On boot, export following parameter in your terminal console.

Code Block
themeMidnight
export XDG_RUNTIME_DIR=/run/user/0/

Now, you can run sample benchmarking application glmark2-es2-wayland . Similarly, you can and glmark2-es2-drm application, but ensure that weston is not running as weston also uses drm backend.

X11 backend:

By default, Mali supports X11 backend. Just select libmali-xlnx package from 'petalinux-config -c rootfs'. The root filesystem should now have libmali with X11 support. Also, please select atleast at least one of the window manager for .

For example, : packagegroup-petalinux-matchbox.

Fbdev backend:

2019.1:

To From 2019.1 release,to select fbdev, just add Just select libmali-xlnx package from 'petalinux-config -c rootfs' and add the following lines to <plnx-proj-root>/project-spec/meta-user/conf/petalinuxbsp.conf

Code Block
themeMidnight
MALI_BACKEND_DEFAULT = "fbdev"


2018.3:

Inorder Up to 2018.3, in order to have Mali fbdev backend, please add following lines to <plnx-proj-root>/project-spec/meta-user/conf/petalinuxbsp.conf

...

Headless-EGL backend:

2019.1:

This backend is available from 2018.3 releaseFrom 2019.1 onwards, please add following lines to <plnx-proj-root>/project-spec/meta-user/conf/petalinuxbsp.conf.

...

This backend is available from 2018.3 release, please add following lines to <plnx-proj-root>/project-spec/meta-user/conf/petalinuxbsp.conf. Remember, this backend is suited for the MPSoC without displayport. 

Code Block
themeMidnight
DISTRO_FEATURES_remove = "x11 fbdev"


Benchmark:

To run a benchmark example for any backend (except headless-egl) please add below lines to build/conf/local.conf

...