[yocto] [meta-raspberrypi][PATCH v4 00/12] Support for VC4 graphics driver

Herve Jourdain herve.jourdain at neuf.fr
Thu Jul 21 05:32:05 PDT 2016


v4 series:
a. rebased
b. Upstream-Status added to the patch to the VC4 driver (needed only for kernel 4.4, accepted upstream in 4.7)

v3 series:
a. patch rebased
b. new revision of kernel, to get a version of the VC4 graphics driver that handles render nodes
c. patch to the VC4 driver to enable proper working of the render nodes (need to add authorization for IOCTLs)

v2 series:
a. Fix the 4.4.10 kernel revision
b. Effectively add vc4-kms-v3d overlay to the list of overlays to build (forgotten previously)
c. Make the parameter to the v4c-kms-v3d overlay configurable
d. Add default values for the cma parameter to the v4c-kms-v3d overlay, depending on the board (and the memory it has)

This patch series enables the support for the VC4 graphics driver from Eric Anholt.
There was a previous patch series by Javier Martinez Canillas, but it required use of a different kernel.
VC4 is now supported in the raspberrypi official kernel, at least for 4.4.9+.
The support in 4.1 exists, but it is NOT STABLE, so it has been deemed unreasonable to support VC4 with 4.1 kernels.

THEREFORE, VC4 graphics is supported ONLY for kernel versions 4.4.9 and later.

This patch series proposes to support VC4 by only adding 'vc4graphics' to MACHINE_FEATURES, for raspberrypi. If this is set, it will trigger all the necessary configuration/changes to use the VC4 driver, including mesa/wayland/weston currently, and adding the overlay required.
In order for this series to work, some previous patches are needed (support for .dtbo, and fix of the mesa packaging when there is no DRI driver).
The memory reserved for the VC4 driver has default values depending on the version of the board used, but it can be configured by setting VC4_CMA_SIZE to a value supported by the overlay ('cma-256', 'cma-192', 'cma-128', 'cma-96', 'cma-64').
'cma-256' is the recommended value, but it might not be possible on boards with 512MB or DRAM, or less...
'cma-64' is known to not being able to support FHD/1080p.

It was tested with wayland/weston, without the support for X11.

This patch series depends on two other patch series previously posted, that enable the support for .dtbo overlay files.

Herve Jourdain (12):
  rpi-default-providers.inc: change default providers to support
    vc4graphics
  rpi-base.inc: add vc4-kms-v3d to the overlays to support vc4graphics
  raspberrypi.conf: set the default value of VC4_CMA_SIZE to support
    vc4graphics
  raspberrypi0.conf: set the default value of VC4_CMA_SIZE to support
    vc4graphics
  raspberrypi2.conf: set the default value of VC4_CMA_SIZE to support
    vc4graphics
  raspberrypi3.conf: set the default value of VC4_CMA_SIZE to support
    vc4graphics
  rpi-config_git.bb: add v4c overlay to config.txt to support
    vc4graphics
  wayland/weston_%.bbappend: modify configuration options to support
    vc4graphics
  weston/weston_%.bbappend: modify configuration options to support
    vc4graphics
  mesa_%.bbappend: new file to add the correct configuration options to
    support vc4graphics
  linux-rpi.inc: add the configuration options required to support
    vc4graphics
  linux-raspberrypi-4.4: add patch to enable proper operation of
    renderD128 device

 conf/machine/include/rpi-base.inc                  |  1 +
 conf/machine/include/rpi-default-providers.inc     |  8 +++---
 conf/machine/raspberrypi.conf                      |  2 ++
 conf/machine/raspberrypi0.conf                     |  2 ++
 conf/machine/raspberrypi2.conf                     |  2 ++
 conf/machine/raspberrypi3.conf                     |  2 ++
 recipes-bsp/bootfiles/rpi-config_git.bb            | 10 +++++++-
 recipes-graphics/mesa/mesa_%.bbappend              |  4 +++
 recipes-graphics/wayland/weston_%.bbappend         |  6 ++---
 recipes-graphics/weston/weston_%.bbappend          | 13 +++++-----
 .../0002-vc4-ioctl-rendering-allow.patch           | 29 ++++++++++++++++++++++
 recipes-kernel/linux/linux-raspberrypi_4.4.bb      |  1 +
 recipes-kernel/linux/linux-rpi.inc                 | 10 ++++++++
 13 files changed, 75 insertions(+), 15 deletions(-)
 create mode 100644 recipes-graphics/mesa/mesa_%.bbappend
 create mode 100644 recipes-kernel/linux/linux-raspberrypi-4.4/0002-vc4-ioctl-rendering-allow.patch

-- 
2.7.4




More information about the yocto mailing list