У кого-нибудь работает Kivy на Raspberry Pi4 / r aspios (Raspbian) Buster Lite - PullRequest
0 голосов
/ 11 июля 2020

У меня приложение Kivy удовлетворительно работает на Raspberry Pi3 / Arch Linux (без рабочего стола). Сейчас я пытаюсь переместить приложение на Pi4, на котором работает Buster Lite. Я следил за руководством / примечаниями (честно, я верю), размещенными на kivy.org здесь , особенно в части о компиляции sdl2 из исходного кода с установленной опцией kmsdrm.

Однако kivy сообщает, что «не удается найти какого-либо ценного поставщика окон».

[INFO   ] [Logger      ] Record log in /root/.kivy/logs/kivy_20-07-11_22.txt
[INFO   ] [Kivy        ] v1.11.1
[INFO   ] [Kivy        ] Installed at "/root/.local/lib/python3.7/site-packages/kivy/__init__.py"
[INFO   ] [Python      ] v3.7.3 (default, Dec 20 2019, 18:57:59) 
[GCC 8.3.0]
[INFO   ] [Python      ] Interpreter at "/usr/bin/python3"
[INFO   ] [Factory     ] 184 symbols loaded
[DEBUG  ] [Cache       ] register <kv.lang> with limit=None, timeout=None
[DEBUG  ] [Cache       ] register <kv.image> with limit=None, timeout=60
[DEBUG  ] [Cache       ] register <kv.atlas> with limit=None, timeout=None
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
[DEBUG  ] [Cache       ] register <kv.texture> with limit=1000, timeout=60
[DEBUG  ] [Cache       ] register <kv.shader> with limit=1000, timeout=3600
[DEBUG  ] [Text        ] Provider <pango> ignored by config
[INFO   ] [Text        ] Provider: sdl2(['text_pango'] ignored)
[DEBUG  ] [Window      ] Provider <egl_rpi> ignored by config
[INFO   ] [Window      ] Provider: sdl2(['window_egl_rpi'] ignored)
[DEBUG  ] [Window      ] Provider <x11> ignored by config
[CRITICAL] [Window      ] Unable to find any valuable Window provider. Please enable debug logging (e.g. add -d if running from the command line, or change the log level in the config) and re-run your app to identify potential causes
sdl2 - RuntimeError: b'No available video device'
  File "/root/.local/lib/python3.7/site-packages/kivy/core/__init__.py", line 71, in core_select_lib
    cls = cls()
  File "/root/.local/lib/python3.7/site-packages/kivy/core/window/window_sdl2.py", line 152, in __init__
    super(WindowSDL, self).__init__()
  File "/root/.local/lib/python3.7/site-packages/kivy/core/window/__init__.py", line 981, in __init__
    self.create_window()
  File "/root/.local/lib/python3.7/site-packages/kivy/core/window/window_sdl2.py", line 290, in create_window
    self.get_gl_backend_name())
  File "kivy/core/window/_window_sdl2.pyx", line 110, in kivy.core.window._window_sdl2._WindowSDL2Storage.setup_window
  File "kivy/core/window/_window_sdl2.pyx", line 74, in kivy.core.window._window_sdl2._WindowSDL2Storage.die

[CRITICAL] [App         ] Unable to get a Window, abort.

Я пробовал две доступные настройки для драйвера gl в raspi-config - G1 Legacy и G2 GL (Fake KMS), но ни один из вариантов не предлагает улучшения.

Если кто-нибудь может определить, что я сделал не так, или дать совет, как решить проблему, я был бы очень благодарен.

Изменить:

Сообщения INFO немного сбивают с толку - это:

[INFO ] [Window ] Provider: sdl2(['window_egl_rpi'] ignored)

означает, что провайдер sdl2 Window полностью игнорируется? Если так, то это объяснило бы мою проблему. Как мне предотвратить игнорирование sdl2?

1 Ответ

0 голосов
/ 30 июля 2020

Предлагаю вам попробовать Kivy 2.0. Думаю, последняя версия - Kivy 2.0.0rc3. Проверить: https://kivy.org/doc/master/installation/installation-rpi.html.

...