Вот сценарий: я написал gui с использованием рамки python Kivy, и я хочу запустить его на малине pi с помощью this touchscreen. Я отлично выполнил установку, и TSLIB_FBDEVICE=/dev/fb1 TSLIB_TSDEVICE=/dev/input/touchscreen FRAMEBUFFER=/dev/fb1 nohup startx &
получает превосходный рабочий стол xwindow. Тем не менее, я не мог заставить работать киви-ги. Я смог получить тестовое приложение tkinter, работающее нормально, на , задав переменную окружения DISPLAY
.Touchscreen Kivy app для Raspberry Pi
Я попытался положить следующую строку в верхней части моего 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 Я могу попробовать
У меня было трудно найти что-либо непосредственно на это гораздо позже, чем апреле прошлого года.
Любая помощь была бы принята с благодарностью. Заранее спасибо!
Kivy поддержка RPi является неполной, но основы действительно работают.Я могу запускать примеры на своем RPi - окно просто рисует поверх всего остального, курсор мыши не показывает (но работает на кликах), а ввод с клавиатуры не работает (поэтому мне нужно добавить Alt-Tab к моему терминал, а затем нажмите Ctrl-C, чтобы убить приложение). –
Вы используете raspbian? И вы обновлены (sudo apt-get update && sudo apt-get dist-upgrade)? BTW - вам не нужно устанавливать какие-либо из этих переменных среды SDL, они все равно будут проигнорированы. Kivy использует библиотеку VideoCore EGL на RPi. –
Я на raspbian, и я в курсе, запустив kivy-dev v1.8.1. Спасибо за освещение на материале SDL. Я перепутал с использованием разных поставщиков окон в источнике kivy, но все они ошибались хуже. Поставщиком окна, который кажется лучшим (и по умолчанию), является egl_rpi. Я не получаю никаких ошибок при настройке по умолчанию, окно просто не отображается. – jstaab