在我的Raspberry Pi上运行Kivy应用程序给我一个这样的输出:
[INFO ] [Logger ] Record log in /home/pi/.kivy/logs/kivy_16-04-26_23.txt
[INFO ] [Kivy ] v1.9.2-dev0
[INFO ] [Python ] v2.7.9 (default, Mar 8 2015, 00:52:26)
[GCC 4.9.2]
[INFO ] [Factory ] 193 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_gif, img_pygame, img_pil (img_ffpyplayer ignored)
[INFO ] [Text ] Provider: pygame
[INFO ] [Window ] Provider: egl_rpi
[INFO ] [GL ] OpenGL version <OpenGL ES 2.0>
[INFO ] [GL ] OpenGL vendor <Broadcom>
[INFO ] [GL ] OpenGL renderer <VideoCore IV HW>
[INFO ] [GL ] OpenGL parsed version: 2, 0
[INFO ] [GL ] Shading version <OpenGL ES GLSL ES 1.00>
[INFO ] [GL ] Texture max size <2048>
[INFO ] [GL ] Texture max units <8>
[INFO ] [Shader ] fragment shader: <Compiled>
[INFO ] [Shader ] vertex shader: <Compiled>
[INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
[INFO ] [OSC ] using <multiprocessing> for socket
[INFO ] [Base ] Start application main loop
[INFO ] [GL ] NPOT texture support is available
但是,没有窗口启动。请注意Provider: egl_rpi
。
在我的Windows Kivy中,提供者是SDL2。此外,我可以使用SDL作为Raspberry Pi上的提供程序启动示例mp3视频:
sudo SDL_VIDEODRIVER=fbcon SDL_FBDEV=/dev/fb1 mplayer -vo sdl -framedrop test.mpg
我的问题是:如何在Pi上将提供商更改为SDL2 for Kivy?
答案 0 :(得分:2)
将以下代码行添加到Python文件的顶部应该将提供程序切换为sdl2
import os
os.environ['KIVY_WINDOW'] = 'sdl2'
参考:here
我遇到与您相同的问题,egl_rpi
没有显示任何窗口。我切换到SDL2
,但应用程序无法加载。我相信这是因为我的3.5&#34; SPI显示。也许你的视频驱动程序会更好运。