kivy: Build fails on Raspbian Lite Stretch, Cython 0.29.12: "kivy/lib/vidcore_lite/egl.pyx:4:8: 'bcm.pxd' not found"

Trying to build Kivy with EGL/GLES2 backend on a Pi3 with Raspbian Stretch, Python 3.5.3 and Cython 0.29.12. Here’s what I’ve done:

$ sudo pip3 install Cython
$ sudo pip3 install pillow

$ mkdir sources
$ cd sources
$ git clone https://github.com/kivy/kivy
$ cd kivy

$ USE_SDL2=0 CFLAGS="-I/opt/vc/include/" make

This runs for a while, then errors out with:

cythoning kivy/lib/vidcore_lite/egl.pyx to kivy/lib/vidcore_lite/egl.c
 
 Error compiling Cython file:
 ------------------------------------------------------------
 ...
 
 from libc.stdlib cimport malloc, free
 from .bcm cimport DISPMANX_ELEMENT_HANDLE_T, ElementHandle
 cimport bcm
        ^
 ------------------------------------------------------------
 
 kivy/lib/vidcore_lite/egl.pyx:4:8: 'bcm.pxd' not found

Ominously, an Internet search for kivy/lib/vidcore_lite/egl.pyx:4:8: 'bcm.pxd' not found gives zero results. Any ideas?

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 20 (8 by maintainers)

Most upvoted comments

Also, sdl2 is probably the best provider in any case because the egl provider is not a real window which means you may have issues where touch events are passed to stuff behind the kivy window in addition to kivy. I’m not sure what other people do about this. If you do use the egl window, you should probably enable the touchring module so that touches are shown.

What you probably want is the egl window provider then, KIVY_WINDOW=egl_rpi.