[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