gpt4 book ai didi

raspberry-pi - 适用于 Raspberry Pi 的触摸屏 Kivy 应用

转载 作者:行者123 更新时间:2023-12-02 03:28:24 25 4
gpt4 key购买 nike

场景如下:我使用 python 框架编写了一个 gui Kivy ,我想在树莓派上运行它 this touchscreen 。我已经完成安装,并且 TSLIB_FBDEVICE=/dev/fb1 TSLIB_TSDEVICE=/dev/input/touchscreen FRAMEBUFFER=/dev/fb1 nohup startx & 让 xwindow 桌面 gui 运行良好。不过,我一直无法让我的 kivy gui 工作。我能够让测试 tkinter 应用程序正常工作,通过 设置 DISPLAY 环境变量。

我尝试将以下内容放在我的 kivy 应用程序的顶部,但没有成功:

os.environ['SDL_VIDEODRIVER'] = 'fbcon'
os.environ['SDL_FBDEV'] = '/dev/fb1'
os.environ['SDL_MOUSEDRV'] = 'TSLIB'
os.environ['SDL_MOUSEDEV'] = '/dev/input/touchscreen'

当我运行我的应用程序时,这是调试输出:

[INFO   ] [Logger      ] Record log in /home/pi/.kivy/logs/kivy_14-04-21_10.txt
[INFO ] Kivy v1.8.1-dev
[INFO ] [Python ] v2.7.3 (default, Mar 18 2014, 05:13:23)
[GCC 4.6.3]
[INFO ] [Factory ] 157 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_pygame, img_gif (img_pil ignored)
[INFO ] [Text ] Provider: pygame
[INFO ] [Loader ] using a thread pool of 2 workers
[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 ] [GL ] NPOT texture support is available
[INFO ] [OSC ] using <multiprocessing> for socket
[INFO ] [ProbeSysfs ] device match: /dev/input/event0
[INFO ] [HIDInput ] Read event from </dev/input/event0>
[INFO ] [Base ] Start application main loop
[INFO ] [HIDMotionEvent] using <stmpe-ts>

我对帧缓冲区等了解不多(任何事情);我希望有人能指出我正确的方向。看来我提到的上述环境变量对于显示 pygame 应用程序很有用,并且 kivy 是基于 pygame 构建的。

一些链接:

  • This这是我现在正在尝试的事情,以防 DISPLAY 和 FBDEV 都需要设置。我还将检查是否实际安装了 directfb 或 fbcon。
  • 相关的 kivy google 群组 issue
  • A fork我可以尝试一下

比去年四月晚得多的时候,我很难直接找到任何与此相关的内容。

任何帮助将不胜感激。提前致谢!

最佳答案

这不会起作用。 SPI 屏幕在 SPI 上工作,由 CPU 控制:http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus

Kivy 使用 Raspberry Pi 的 GPU,而不是 SPI 或 X11。据我了解,在 SPI 上显示加速的 GLES 应用程序将不起作用。

即,您可以通过从 X11 之外的命令行执行任何 GLES 软件来确认此行为

关于raspberry-pi - 适用于 Raspberry Pi 的触摸屏 Kivy 应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23204591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com