這裏是場景:我已經寫了一個使用python框架Kivy的GUI,我想在this touchscreen的覆盆子pi上運行它。我已經做好了安裝,並且TSLIB_FBDEVICE=/dev/fb1 TSLIB_TSDEVICE=/dev/input/touchscreen FRAMEBUFFER=/dev/fb1 nohup startx &
獲得xwindow桌面gui運行良好。不過,我一直無法讓我的kivy gui工作。我能夠通過 設置DISPLAY
環境變量來獲得測試tkinter應用程序正常工作。觸摸屏Kivy應用程序樹莓派
我試圖把我的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構建的。
一些鏈接:
我已經很難直接在這一發現任何明顯較去年四月。
任何幫助將不勝感激。提前致謝!
Kivy對RPi的支持不完整,但基本功能仍然有效。我能夠在我的RPi上運行這些示例 - 窗口只是繪製其他所有內容,鼠標光標不顯示(但點擊工作),並且鍵盤輸入不起作用(所以我必須使用Alt-Tab鍵終端,然後按Ctrl-C殺死該應用程序)。 –
你運行raspbian嗎?你是最新的(sudo apt-get update && sudo apt-get dist-upgrade)?順便說一句 - 你不需要設置任何SDL環境變量,它們將被忽略。 Kivy在RPi上使用VideoCore EGL庫。 –
我是raspbian,我是最新的,運行kivy-dev v1.8.1。感謝SDL內容的照明。我在kivy源代碼中使用了不同的窗口提供程序,但他們都犯了錯誤。似乎最好的(並且是默認的)窗口提供程序是egl_rpi。我沒有得到任何錯誤的默認配置,窗口只是無法顯示。 – jstaab