适用于 Raspberry Pi 的触摸屏 Kivy 应用

2024-04-06

场景如下:我使用 python 框架编写了一个 guiKivy http://kivy.org,我想在树莓派上运行它这个触摸屏 https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi。我已经安装得很好,并且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 http://www.karoltomala.com/blog/?p=679这是我现在正在尝试的事情,以防 DISPLAY 和 FBDEV 都需要设置。我还将检查是否实际安装了 directfb 或 fbcon。
  • 相关的 kivy 谷歌群组issue https://groups.google.com/forum/#!searchin/kivy-users/touchscreen%2420raspberry/kivy-users/lGIvr0uR5Bo/byYWJq00qfcJ
  • A fork https://groups.google.com/forum/#!searchin/kivy-users/touchscreen%2420rpi/kivy-users/MCsoacaPfiY/uC6QcjvNge4J我可以尝试

比去年四月晚得多的时候,我很难直接找到任何关于此的信息。

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


这是行不通的。 SPI 屏幕工作在 SPI 上,由 CPU 控制:http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

适用于 Raspberry Pi 的触摸屏 Kivy 应用 的相关文章

  • PhpSerial:没有可用的 stty——似乎无法让它工作

    我正在开发一个项目 涉及使用 Raspberry Pi 上的 UART 引脚读取和写入串行板 然而 我已经碰壁了 任何时候我尝试使用PhpSerial我总是收到错误 致命错误 没有可用的 stty 无法运行 在 var www PHP Se
  • 编写MDDropdownMenu项

    我尝试在 MDDropdownMenu 中写入所选项目 但是 即使有了这段代码 我也找不到它 我的 menu bind 函数没有任何结果 from kivymd app import MDApp from kivymd uix menu i
  • 无法挂载内存cgroup

    我尝试使用以下命令挂载内存 cgroup sudo mount t cgroup none sys fs cgroup memory o memory 我收到错误 mount sys fs cgroup memory wrong fs ty
  • 如何修复 java.lang.SecurityException:调用者缺乏所需的权限 com.google.android.things.permission.USE_PERIPHERAL_IO 错误?

    我正在尝试在 Raspberry Pi 3 上构建并运行 Android Things 项目 已找到文件here https github com brandmooffin ButtonThings tree part 1 led blin
  • 适用于 Raspberry Pi 的触摸屏 Kivy 应用

    场景如下 我使用 python 框架编写了一个 guiKivy http kivy org 我想在树莓派上运行它这个触摸屏 https learn adafruit com adafruit pitft 28 inch resistive
  • 在 Anaconda 中安装 Kivy

    我正在尝试在 Windows 7 的 Anaconda 3 4 1 1 中安装 Kivy 但我找不到合适的用户指南来指导我如何安装 但到目前为止 我能够在链接上找到在 OS X 上安装它的说明https github com kivy ki
  • 如何通过网络访问Raspberry PI QEMU VM

    我已通过 QEMU 在 Mac OS X 上成功设置了 Raspberry PI VM 现在我想从我的 Mac 访问该虚拟机的文件系统 When I call ifconfig on my VM I get this And here th
  • 浏览图像文件并将其显示在 kivy 窗口中

    我是 Kivy 的初学者 尝试使用 kivy fileChooser 浏览图像文件 然后将其显示在窗口上 下面你找到了我的代码 但它无法完成任务 它只是在控制台上显示 PNG 请和我一起检查一下 import kivy from kivy
  • kivy:可以使用缓冲区作为图像源吗?

    我有如下代码 它可以从一些现有图像中生成新图像 from PIL import Image as pyImage def create compound image back image path fore image path fore
  • 在 Wheezy 7.8 (Raspbian) 上安装 R 3.1.2 失败

    我是 Linux 新手 尝试在我的 Raspberry 上安装最新的 R 版本 我的 Raspberry 在 Wheezy 7 8 上运行 我按照指示操 作on CRAN http cran r project org bin linux
  • Kivy 和 android 共享首选项

    我正在寻找一种从 Kivy 框架在 Android 设备上持久存储设置的方法 我发现 Kivy 文档总体信息丰富 但在这个特定领域含糊不清 它提到了三种方法 抱歉 没有足够的声誉来提供可点击的链接 相对路径kivy org假如 如果有人可以
  • Raspberry Pi 4 上的 .Net Core 和 Raspbian?

    是否可以安装 Net Core树莓派4 with Raspbian 我发现了一些关于 Raspberry Pi 3 上的 Net Core 的说明 例如 https github com dotnet core blob master sa
  • 从命令提示符运行脚本时,PiCamera 无法初始化为类成员

    在我的 Raspberry Pi 上 我遇到了有关使用 PiCamera 模块的奇怪行为 当从 IDLE F5 或从命令提示符 python test py 启动时 以下代码可以顺利运行 import picamera if name ma
  • Kivy:弹出窗口只能有一个小部件作为内容

    我在 kv 文件中使用弹出窗口时遇到问题 我知道弹出窗口只能有一个小部件作为其内容 但是如果我只将 GridLayout 作为包含标签和按钮的子项传递 这不应该起作用吗 这是我的Python代码 import kivy LabelB fro
  • 树莓派蓝牙4.0连接

    我正在尝试使用 CoreBluetooth 蓝牙 4 0 通过 iPhone 连接到 Raspberry Pi 我已经发现了该设备并使用以下代码发出连接请求 if peripheral self foundPeripheral NSLog
  • 重新加载 tslib 触摸屏校准

    背景 我正在开发一个基于 Qt 的大型 GUI 它处理与触摸屏的所有用户交互 该程序的设计使得用户不需要访问命令提示符即可执行任何操作 包括重新校准触摸屏 我写了一个 tslib 的模仿品ts calibrate作为运行的实用程序QWidg
  • FLTK 1.4 小部件位置 w.r.t. X11 根窗口?

    context 我正在和其他人一起编码参考系统 http refpersys org C 17 上的 GPLv3 项目gitlab https gitlab com bstarynk refpersys适用于 GNU Linux x86 6
  • python kivy在矩形内添加文本

    如何在矩形内添加文本 我使用下面的代码并在画布内添加了一个标签 希望它能显示在矩形内 import kivy from kivy app import App from kivy uix anchorlayout import Anchor
  • 如何在 C 应用程序中将鼠标光标设置在 X11 上

    我有一个相当大且相当旧的 C 应用程序 已移植到 Linux 上 我负责让鼠标光标正常工作 但遇到一些问题 我能够将我们需要的大部分光标转换为使用提供的标准光标X字体光标 http tronche com gui x xlib append
  • Yocto“无法运行 qemu:无法初始化 SDL(x11 不 > 可用)”

    所以我在本地构建服务器上安装了 Yocto 因为谁希望大规模构建占用他们的工作区 amirite 主机和服务器是Arch Linux 4 19 44 1 lts 无论如何 我只是从找到的快速构建页面运行示例here https www yo

随机推荐