[yocto] [meta-raspberrypi][PATCH v3 0/2] Add support for 4.2 kernel with vc4 DRM/KMS driver

Javier Martinez Canillas javier at osg.samsung.com
Tue Nov 10 06:45:18 PST 2015


Hello Andrei,

This series adds support for Eric Anholt's v4.2 kernel, that has support
for the vc4 DRM/KMS driver, which is the new open source graphics driver
stack for the Raspberry Pi to be used instead of the userland driver.

This is a third version of the series which addresses feedback provided
by Andreas Müller, Khem Raj and you. The first version and second version
of the series can be found at [0] and [1]. Some of the v2 patches have
been dropped since are no longer necessary so the delta is smaller in v3.

The v4.2 kernel is under heavy development so is a work-in-progress and
should not be used in production. That's why it's not set as the default
virtual/kernel provider but the user can change the default providers in
case that wants to use the VC4 DRM/KMS driver.

But even when it's still a development kernel, having the recipe in the
meta-raspberrypi will allow people to test it. We have been using it in
the Tizen RPi2 port [2] for some time. The patches in the series are:

Patch 1/2 adds a recipe for the 4.2 and some patches to make it build.

Patch 2/2 Adds a section to the README that explains that two gfx stacks
are available and that the user can change the default providers.

To test it, besides this series I picked some patches from Andreas' git
tree that are in his vc4-3 branch [3]:

f5865b4b1bc4 libsdl2: enable glesv2
c8666982c1bc xserver-xf86-config: setup for VC4 hardware acceleration
b1082f5aeebe rpi-base.inc: add xf86-video-modesetting and xserver-xorg-extension-glx to XSERVER
5568cd057d07 xserver-xorg: align to vc4 needs
d9881d3ccb58 mesa: align to vc4 needs

and also needed to bump the mesa SRCREV to master HEAD (commit sha1
51694072218b5ae84b5d8f98ee2172d7c5d61b31).

X starts and also I'm able to run the glmark2-es benchmark and the VC4
EGL rendering is used:

root at raspberrypi2:~# glmark2-es2
=======================================================
    glmark2 2014.03
=======================================================
    OpenGL Information
    GL_VENDOR:     Broadcom
    GL_RENDERER:   Gallium 0.4 on VC4
    GL_VERSION:    OpenGL ES 2.0 Mesa 11.1.0-devel (git-51694072218b)
=======================================================
[build] use-vbo=false: FPS: 36 FrameTime: 27.778 ms
[build] use-vbo=true: FPS: 38 FrameTime: 26.316 ms
[texture] texture-filter=nearest: FPS: 39 FrameTime: 25.641 ms
[texture] texture-filter=linear: FPS: 38 FrameTime: 26.316 ms
[texture] texture-filter=mipmap: FPS: 38 FrameTime: 26.316 ms

In theory this kernel should have KMS support but setting a different mode
than the one configured in the firmware config.txt did not work for me.
Only xrandr --output HDMI-0 --auto works and xrandr --output HDMI-0 --mode
using a different mode than the config.txt does not work.

But I think that could be solved as a follow up once these patches are
merged.

[0]: https://www.mail-archive.com/yocto@yoctoproject.org/msg25164.html
[1]: https://lists.yoctoproject.org/pipermail/yocto/2015-August/026151.html
[2]: http://blogs.s-osg.org/tizen-rpi2-now-supporting-3d-acceleration/
[3]: git://github.com/schnitzeltony/meta-raspberrypi.git

Best regards,
Javier

Changes in v3:
- Update to latest vc4-kms-v3d-rpi2 branch sha1. Suggested by Andreas Müller.
- Drop patches that were already merged in the vc4-kms-v3d-rpi2 branch.
- Bump Linux version from 4.1 to 4.2.
- Add explanation in the README graphics section how to choose the kernel
  that has vc4 DRM/KMS support. Suggested by Khem Raj and Andrei Gherzan.

Changes in v2:
- Add a linux-raspberrypi-vc4 recipe insted of a linux-raspberrypi one.
  Suggested by Petter Mabäcker, Andreas Müller and Andrei Gherzan.
- Split the readme change in a separate patch. Suggested by Andrei Gherzan.
- Don't make the vc4 patches inclusion conditional since will always be
  needed when choosing the recipe. Suggested by Andrei Gherzan.

Derek Foreman (1):
  linux-raspberrypi: Add a 4.2.3 linux kernel with vc4 support

Javier Martinez Canillas (1):
  README: Add a section about graphic stacks

 README                                             | 17 +++++++++
 ..._defconfig-Enable-config-options-for-vc4-.patch | 40 ++++++++++++++++++++++
 .../0002-bcm2708-Fix-DTC-build-error.patch         | 38 ++++++++++++++++++++
 .../linux/linux-raspberrypi-vc4/defconfig          |  1 +
 recipes-kernel/linux/linux-raspberrypi-vc4_4.2.bb  |  9 +++++
 5 files changed, 105 insertions(+)
 create mode 100644 recipes-kernel/linux/linux-raspberrypi-vc4/0001-ARM-bcm2709_defconfig-Enable-config-options-for-vc4-.patch
 create mode 100644 recipes-kernel/linux/linux-raspberrypi-vc4/0002-bcm2708-Fix-DTC-build-error.patch
 create mode 100644 recipes-kernel/linux/linux-raspberrypi-vc4/defconfig
 create mode 100644 recipes-kernel/linux/linux-raspberrypi-vc4_4.2.bb

-- 
2.4.3




More information about the yocto mailing list