Raspberry Pi 4Bãã³ãã³ãã©ã€ã³ã«ãã°ãªã³ããåŸïŒCLIãžã®raspi-config bootã䜿çšïŒãkivyãŠã£ã³ããŠãããã€ããŒïŒegl_rpiãsdl2ãpygameããŸãã¯x11ïŒã䜿çšããããšãããšé倧ãªãšã©ãŒãçºçãããããkivyãå®è¡ã§ããŸããã ãã®åé¡ã¯ããããã®åãŠã£ã³ããŠãããã€ããŒã®è©Šè¡ãšçµæã瀺ããŠããŸãã ãããã®ãããã€ããŒã¯ã次ã®ããŒãžã«ãªã¹ããããŠããŸãã
https://kivy.org/doc/stable/guide/environment.html
KIVY_WINDOW
ãŠã£ã³ããŠã®äœæã«äœ¿çšããå®è£
å€ïŒsdl2ãpygameãx11ãegl_rpi
以äžã«ãªã¹ããããŠããã®ãšåãtest.pyããã°ã©ã ã䜿çšããŠãäžèšã«ãªã¹ããããŠãããã¹ãŠã®ãŠã£ã³ããŠãããã€ããŒããã¹ãããŸããã 2è¡ç®ã¯ããã¹ãçµæããšã«å€æŽãããŸãã
import os
#os.environ['KIVY_WINDOW'] = 'egl_rpi'
from kivy.app import App
from kivy.uix.button import Button
class TestApp(App):
def build(self):
return Button(text='Hello World')
TestApp().run()
KIVY_WINDOWãå®çŸ©ãããŠããªãïŒããã©ã«ãïŒå ŽåïŒäžèšã®test.pyïŒã次ã®çµæãåŸãããŸãã
[DEBUG ] [Window ] Provider <egl_rpi> ignored by config
[DEBUG ] [Window ] Provider <sdl2> ignored by config
[DEBUG ] [Window ] Provider <x11> ignored by config
[CRITICAL] [Window ] Unable to find any valuable Window provider.
[CRITICAL] [App ] Unable to get a Window, abort.
ïŒèšå·ãåé€ããŠ2è¡ç®ãå€æŽãããšã次ã®çµæãåŸãããŸãã
[DEBUG ] [Window ] Ignored <egl_rpi> (import error)
[DEBUG ] [Window ] Provider <sdl2> ignored by config
[DEBUG ] [Window ] Provider <x11> ignored by config
[CRITICAL] [Window ] Unable to find any valuable Window provider.
egl_rpi - ImportError: cannot import name 'bcm' from 'kivy.lib.vidcore_lite' (/usr/local/lib/python3.7/dist-packages/kivy/lib/vidcore_lite/__init__.py)
File "/usr/local/lib/python3.7/dist-packages/kivy/core/__init__.py", line 63, in core_select_lib
fromlist=[modulename], level=0)
File "/usr/local/lib/python3.7/dist-packages/kivy/core/window/window_egl_rpi.py", line 12, in <module>
from kivy.lib.vidcore_lite import bcm, egl
[CRITICAL] [App ] Unable to get a Window, abort.
2è¡ç®ãos.environ['KIVY_WINDOW'] = 'sdl2'
ã«å€æŽãããšã次ã®çµæãåŸãããŸãã
[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'Could not initialize EGL'
File "/usr/local/lib/python3.7/dist-packages/kivy/core/__init__.py", line 71, in core_select_lib
cls = cls()
File "/usr/local/lib/python3.7/dist-packages/kivy/core/window/window_sdl2.py", line 152, in __init__
super(WindowSDL, self).__init__()
File "/usr/local/lib/python3.7/dist-packages/kivy/core/window/__init__.py", line 981, in __init__
self.create_window()
File "/usr/local/lib/python3.7/dist-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 224, 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.
2è¡ç®ãos.environ['KIVY_WINDOW'] = 'pygame'
ã«å€æŽãããšã次ã®çµæãåŸãããŸãã
[DEBUG ] [Window ] Provider <egl_rpi> ignored by config
[DEBUG ] [Window ] Provider <sdl2> ignored by config
[DEBUG ] [Window ] Provider <x11> ignored by config
[CRITICAL] [Window ] Unable to find any valuable Window provider.
[CRITICAL] [App ] Unable to get a Window, abort.
2è¡ç®ãos.environ['KIVY_WINDOW'] = 'x11'
ã«å€æŽãããšã次ã®çµæãåŸãããŸãã
[DEBUG ] [Window ] Provider <sdl2> ignored by config
[DEBUG ] [Window ] Ignored <x11> (import error)
[CRITICAL] [Window ] Unable to find any valuable Window provider.
x11 - ModuleNotFoundError: No module named 'kivy.core.window.window_x11'
File "/usr/local/lib/python3.7/dist-packages/kivy/core/__init__.py", line 63, in core_select_lib
fromlist=[modulename], level=0)
[CRITICAL] [App ] Unable to get a Window, abort.
RPi 4BïŒ1GããŒãžã§ã³ã§èŠãããã®ãšåãåäœã 以åãä»ã®SBCãã©ãŒã©ã ã§ãsdl2ãŠã£ã³ããŠãããã€ããŒã䜿çšããã«ã¯ãKMSãµããŒãã䜿çšããŠsdl2ãåã³ã³ãã€ã«ããå¿
èŠãããããšã確èªããŸããã ããã圹ç«ã€ãã©ããã¯ããããŸããã
ãã£ã³ã«ãŒããŒãïŒ https ïŒ//groups.google.com/forum/m/#ïŒtopic / kivy -users / jwBnYxe969g
Jetson NanoïŒ
https://devtalk.nvidia.com/default/topic/1057120/kivy-app-fails-on-jetson-nano-/
åæ§ã«ãç§ã¯3æ¥éã®ãã¹ãã«è²»ããã4GBRAMãæèŒããRaspberryPi4Bã®SunFounder10 "ã¿ããã¹ã¯ãªãŒã³ïŒæšæºã®Raspberry Pi Foundationãã£ã¹ãã¬ã€ãšåççã«äºææ§ããããŸãïŒã«GUIã衚瀺ããå®è¡å¯èœãªRaspbianLiteæ§æãèŠã€ããããšããŸããã
ãšã©ãŒç¶æ
ïŒå¥ã®ã»ãã·ã§ã³ããã®kill
ãå¿
èŠãšããKivyã¢ããªã®ã¯ã©ãã·ã¥ïŒå¿çãªãïŒ
ãšã©ãŒã¡ãã»ãŒãžïŒããµãŒãã¹ã®è¿œå ã«å€±æããŸãã-ãã§ã«äœ¿çšãããŠããŸããïŒã ïŒãã®åŸã®è©Šè¡åŸã«è¡šç€ºïŒ
ãšã©ãŒïŒèµ·åçŽåŸã«GUIåºåããããŸããïŒã¬ã¬ã·ãŒKMSãªãã·ã§ã³ã䜿çšããŠããå ŽåïŒããäžèŠå¹žããããªãã°åºå
ãããšãæ°ãããã¥ã¢ã«ãã€ã¯ãHDMIããŒããåå ã§HDMIãæ£ããæ©èœããªããšããåé¡ããã§ã«çºçããŠããŸãã 7ã€ã³ãã®å ¬åŒã¿ããã¹ã¯ãªãŒã³ã4Bã¢ãã«ã§ãã¹ãããŠããªãã®ã§ãåé¡ããããšæ³åã§ããŸãããã€ã¯ãHDMIã®åé¡ãå ±åããŸãããDSIã§é 匵ã£ãŠãã ããã
egl_rpi
ããã¯ãšã³ãã䜿çšããããšãããšãã«ããã¹ã¿ãŒãã«ã§failed to add service - already in use?
ã«ééããŸããã /boot/config.txt
dtoverlay=vc4-kms-v3d
ãã³ã¡ã³ãã¢ãŠãããŠä¿®æ£ãããšããšã©ãŒã¯ãªããªããŸããããkivyã¯äœã衚瀺ããŸããã§ããã
ãã¹ã¿ãŒã©ã€ãã§ãåããããïŒ
egl_rpi
ããã¯ãšã³ãã䜿çšããããšãããšãã«ããã¹ã¿ãŒãã«ã§failed to add service - already in use?
ã«ééããŸããã/boot/config.txt
dtoverlay=vc4-kms-v3d
ãã³ã¡ã³ãã¢ãŠãããŠä¿®æ£ãããšããšã©ãŒã¯ãªããªããŸããããkivyã¯äœã衚瀺ããŸããã§ããããã¹ã¿ãŒã©ã€ãã§ãåããããïŒ
åãåé¡ããããŸããããä»ã¯åé¡ããããŸãã raspi-configã§openGLãç¡å¹ã«ããŸãã
x11-ImportErrorïŒwindow_x11ãšããååã®ã¢ãžã¥ãŒã«ããããŸãã
ãã¡ã€ã«ã/home/pi/project/venv/local/lib/python2.7/site-packages/kivy/core/__init__.pyãã59è¡ç®ãcore_select_lib
fromlist = [ã¢ãžã¥ãŒã«å]ãã¬ãã«= 0ïŒ
ã©ãºãã¢ã³ãã¹ã¿ãŒãpython2.7ãvirtualenvãkivy1.10.1ã䜿çšã
@Gawezi KIVY_WINDOW=egl_rpi
èšå®ããŠãx11ã§ã¯ãªãegl_rpiãŠã£ã³ããŠã䜿çšããããã«kivyãèšå®ããå¿
èŠããããŸãã x11ãå®è¡ããã€ããã ã£ãå Žåã¯ãã€ã³ã¹ããŒã«æã«x11ãµããŒãã䜿çšããŠkivyãã³ã³ãã€ã«ããŠãã ããïŒ USE_X11=1
ïŒã
ïŒ6418ã§Busterãå®è¡ããŠããPi 3Bã§åã/åæ§ã®åé¡ãçºçããŠããã®ã§ãé²æç¶æ³ãæçš¿ããŠããã ãããããšãããããŸãã解決çãããã«æ¥ãããšãæ¬åœã«æãã§ããŸãã
@matham USE_X11 = 1ãã©ãã«èšå®ããã詳ãã
@frankgouldã¯kivyãã³ã³ãã€ã«ããåã«VIDEOCOREMESA = 1ç°å¢å€æ°ããšã¯ã¹ããŒãããŸãïŒhttps://github.com/kivy/kivy/commit/fa9932d812afd74f8524d17f5a85365e64ac39d7ïŒ
ãã以å€ã®å Žåã¯ãåžžã«rpiã®ãããã©ã€ãšã¿ãªãã©ã€ããŒã«å¯ŸããŠã³ã³ãã€ã«ãããŸãã
ããã«ãx11ãã€ã³ã¹ããŒã«ããŠã»ãã·ã§ã³ãéå§ããx11ã»ãã·ã§ã³å
ã§kivyã¢ããªãéå§ããå¿
èŠããããŸãã
i3wmã®ãããªæå°éã®ãŠã£ã³ããŠãããŒãžã£ãŒã䜿çšãããšãäœæ¥ãç°¡åã«ãªããŸãã
@rnixxæ å ±ãããããšãã ä»æ¥ã¯ãããæ®åœ±ããŸãã
kivyãã³ã³ãã€ã«ãããšãã¯ã USE_X11=1
ãç°å¢å
ã«ããå¿
èŠããããŸãã
ãã ãããã¹ã¯ããããªãã§kivyãå®è¡ããå ŽåãOSã§xãµããŒããªãã§å®è¡ããŠãããšæšæž¬ããããããkivyã§kivyãå®è¡ããŠãåé¡ã解決ããå¯èœæ§ã¯äœããªããŸãã
egl_rpiã®ã¿ãxãµããŒãafaikãªãã§åäœããããšã«ãªã£ãŠããŸãã
@mathamã«æè¬ããŸãã / etc / environmentã«key = Valã³ã³ãããKIVY_GRAPHICS =â glesâããã³VIDEOCOREMESA = 1ãšãšãã«è¿œå ããŸãããããã¹ã¯ããããªãã§ã¯æ©èœããŸããã§ããã ãŠã£ã³ããŠãéãããšãã§ããŸããã§ããã å€ãRPi3A +ã調ã¹ãŠãALARMã®ãã¹ã¯ããããªãã§å®è¡ããããã«ã©ã®ããã«ã€ã³ã¹ããŒã«ãããã確èªããå¿ èŠããããŸãã
æŽæ°ïŒäžèšã®ãã¹ãã¯ããã¹ã¿ãŒã§ã¯ãªããALARM4.19ã§è¡ãããŸããã ãããã£ãŠããã®ã³ã¡ã³ãã¯ãã®ã¹ã¬ããã®å€ã«ãããŸãããé¢é£æ§ããããŸãã 次ã«ãã¹ã¿ãŒã§ããããã¹ãããŸãã
ä»æ¥ãç§ã¯æ¬¡ã®/ etc / environmentã³ã³ãã³ãã§ã€ã³ã¹ããŒã«ãããRPi4BïŒ4GB Raspbian 4.19kivyããã¹ãããŸããã
USE_X11=1
VIDEOCOREMESA=1
KIVY_GRAPHICS="gles"
ããã©ã«ãã®ç°å¢å€ã䜿çšããå®è¡ã®çµæã¯æ¬¡ã®ãšããã§ãã
pi<strong i="9">@SlideShowPi</strong>:~/SlideShow $ python3 test.py
[INFO ] [Logger ] Record log in /home/pi/.masterpics/logs/SlideShowPi_19-08-23_15.txt
[INFO ] [Kivy ] v1.11.1
[INFO ] [Kivy ] Installed at "/usr/local/lib/python3.7/dist-packages/kivy/__init__.py"
[INFO ] [Python ] v3.7.3 (default, Apr 3 2019, 05:39:12)
[GCC 8.2.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 ] [App ] Loading kv <./test.kv>
[DEBUG ] [App ] kv <./test.kv> not found
[DEBUG ] [Window ] Ignored <egl_rpi> (import error)
[INFO ] [Window ] Provider: sdl2(['window_egl_rpi'] ignored)
[DEBUG ] [Window ] Ignored <x11> (import error)
[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
egl_rpi - ImportError: cannot import name 'bcm' from 'kivy.lib.vidcore_lite' (/usr/local/lib/python3.7/dist-packages/kivy/lib/vidcore_lite/__init__.py)
File "/usr/local/lib/python3.7/dist-packages/kivy/core/__init__.py", line 63, in core_select_lib
fromlist=[modulename], level=0)
File "/usr/local/lib/python3.7/dist-packages/kivy/core/window/window_egl_rpi.py", line 12, in <module>
from kivy.lib.vidcore_lite import bcm, egl
sdl2 - RuntimeError: b'Could not initialize EGL'
File "/usr/local/lib/python3.7/dist-packages/kivy/core/__init__.py", line 71, in core_select_lib
cls = cls()
File "/usr/local/lib/python3.7/dist-packages/kivy/core/window/window_sdl2.py", line 152, in __init__
super(WindowSDL, self).__init__()
File "/usr/local/lib/python3.7/dist-packages/kivy/core/window/__init__.py", line 981, in __init__
self.create_window()
File "/usr/local/lib/python3.7/dist-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 224, 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
x11 - ModuleNotFoundError: No module named 'kivy.core.window.window_x11'
File "/usr/local/lib/python3.7/dist-packages/kivy/core/__init__.py", line 63, in core_select_lib
fromlist=[modulename], level=0)
[CRITICAL] [App ] Unable to get a Window, abort.
ãªã°ã§segmentation fault
ãååŸããŠããŸãã
gdb --args python3 test.py # then press 'r' to run it
GNU gdb (Raspbian 8.2.1-2) 8.2.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from python3...(no debugging symbols found)...done.
(gdb) r
Starting program: /usr/bin/python3 test.py
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
[INFO ] [Logger ] Record log in /home/pi/.kivy/logs/kivy_19-08-23_16.txt
[INFO ] [Kivy ] v1.11.1
[INFO ] [Kivy ] Installed at "/usr/local/lib/python3.7/dist-packages/kivy/__init__.py"
[INFO ] [Python ] v3.7.3 (default, Apr 3 2019, 05:39:12)
[GCC 8.2.0]
[INFO ] [Python ] Interpreter at "/usr/bin/python3"
[Detaching after fork from child process 3301]
[INFO ] [Factory ] 184 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
[INFO ] [Text ] Provider: sdl2(['text_pango'] ignored)
[INFO ] [Window ] Provider: sdl2(['window_egl_rpi'] ignored)
[New Thread 0xb4171460 (LWP 3302)]
[New Thread 0xb37ff460 (LWP 3303)]
[New Thread 0xb2ffe460 (LWP 3304)]
[New Thread 0xb27fd460 (LWP 3305)]
[INFO ] [GL ] Using the "OpenGL ES 2" graphics system
[INFO ] [GL ] Backend used <gl>
Thread 1 "python3" received signal SIGSEGV, Segmentation fault.
0xb6fbc1dc in strlen () from /usr/lib/arm-linux-gnueabihf/libarmmem-v7l.so
ArchLinuxãã«ãã®ãœãªã¥ãŒã·ã§ã³ã¯RPi3A +ã§èŠã€ãããšæããŸãã 以äžã¯ãèªåãã°ã€ã³ãšç§ã®ã¹ã¿ãŒãç»é¢ã®systemdãµãŒãã¹ã§ããŒããå®è¡ãããã®ã§ãã ã ãããããŒããX11ãèµ·åããããã¯ïŒäžã§ã©ã®ããã«kivyãéå§ããŸã衚瀺ãããŸãããŒã¹ããã³ïŒã ãã¹ã¿ãŒã§ããããã¹ãããŠãåãçµæãåŸããããã©ããã確èªããå¿ èŠããããŸãã
.xinitrcã³ã³ãã³ãïŒ
#!/bin/sh
# ~/.xinitrc
# Executed by startx (run your window manager from here)
if [ -d /etc/X11/xinit/xinitrc.d ]; then
for f in /etc/X11/xinit/xinitrc.d/*; do
[ -x "$f" ] && . "$f"
done
unset f
fi
exec startlxde
ç§ã®screen-start.serviceïŒ
[Unit]
Description=Remote Control Screen
Requires=time-sync.target
After=time-sync.target
[Service]
Environment="DISPLAY=:0.0"
ExecStart=/usr/bin/python3 /home/remote/app/main.py
RemainAfterExit=yes
Restart=always
RestartSec=3
[Install]
WantedBy=default.target
èµ·åæã®kivyç°å¢å€ïŒ
#! /usr/bin/python3
import os
os.environ['KIVY_VIDEO']='ffpyplayer'
ããã¯ãPi3B +ã䜿çšãããã¹ã¿ãŒã§åæ¹åã«å®è¡ãããŸã
ããããPi4ã«ã€ããŠã¯ã調æ»ããå¿
èŠã®ããããšãããã€ãèŠã€ãããŸããã ããããããã¯æææ¥ã®@OutsourcedGuruã§ããïŒïŒ
å®éãç§ã¯åææ¥ã«ãã®ãã³ã»ã³ã¹ããã¹ãããããã«ããã«ããŸãã
äžèšãšåãRaspbianLiteãªã°ã«å ããŠãx11ã€ã³ã¿ãŒãã§ã€ã¹ãè¿œå ããããšããŠããŸãã æäœéã®ãã®ãååŸããããšããŸããããGUIãã¹ã¯ãããã衚瀺ãããŸããã§ããã xãéå§ããPièªäœããéå§ãããšã以äžã®ããã«æ©èœããŸãã
sudo apt-get install --no-install-recommends xserver-xorg # Trying for the PIXEL desktop
sudo apt-get install --no-install-recommends xinit # Need the startx script
sudo pip3 install --force-reinstall kivy
python3 test.py # Didn't work - segmentation fault
startx # Didn't work - wouldn't start the desktop
sudo apt-get install --yes raspberrypi-ui-mods # Desktop
python3 test.py # Didn't work - segmentation fault
startx # Worked - then open a terminal from the upper menu
python3 test.py # Works - displays a window
åãRaspbianLiteãªã°ïŒx11 / Desktopãè¿œå ãããŠããïŒã¯ãPython2ã®äžçã§ããŸã åé¡ããããŸãã ããªãŒãºããCtl-Cã«å¿çãããå¥ã®ãŠã£ã³ããŠã衚瀺ããããã以å€ã®å Žåã¯éåžžã©ãããã°ã«èšé²ããŸãã
@OutsourcedGuruæåããpython2
䜿çšã¯ç¡èŠããŠãã ããã ãã®ãµããŒãã¯ä»å¹Žã§çµäºããŸãã
ãããã£ãŠãå®è¡ããå¿
èŠãããã®ã¯ã python3
ã®ã¿ã€ã³ã¹ããŒã«ãã pip3
ã®ã¿ã䜿çšããããšã§ãã Raspbian
ãpython3ãããã©ã«ãã®pythonã«ããªãçç±ãããããŸããã Arch Linux
ãã©ããŒã¢ãããããšã python3
ãããã©ã«ãã®ããŒãžã§ã³ã§ããããšãããããŸãã
ããã§ãã1æããOctoPrintã®ãã©ã°ã€ã³ã«åãçµãã§ããŸãã master
ãã©ã³ãã§ã¯ãŸã Py3ããµããŒãããŠããŸããã ç§ã¯ããããã¹ãããããã«ãååäžãã£ãšåœŒãã®devel
ãã©ã³ãã«äœãããªã®ã³ã°ããã®ã«è²»ãããŸããã ãã©ã°ã€ã³ãå®è¡å¯èœãªãã©ãããã©ãŒã ã«ããã·ã¥ãããŠããªããã®ã§åäœãããããã«ããã©ã°ã€ã³ãå€æŽããã®ã«äœæ¥ãè²»ããå¯èœæ§ããããŸãã ãããŠãç§ã¯èªåã®æã亀差ãããŠã圌ãã®éçºäžã®ã³ãŒããç§èªèº«ã®ãã®ãå£ããªãããšãé¡ã£ãŠããŸãã ïŒããã¯æ¬çªããªã³ã¿ãŒã«ãªãããã®ãã®ã§ãããããŒã¿ã³ãŒãã¯éåžžããã®ãããªå Žåã«å¥œããã®ã§ã¯ãããŸãããïŒ
ããããããããããªãšãªãã¯ãç§ã¯åœŒãããç¥ã£ãŠãããã
@OutsourcedGuru ãç§ã¯ãã€ãŠRaspberry Piã®ã¢ãã¬ãŒã¿ãŒããããžãã¹ã¢ãã«ãRaspbianãŸãã¯RaspberryPiã«åºã¥ããŠã¯ãããªããšèšã£ãŠããã®ãèªã¿ãŸããã 圌ã¯ãã®æã¯æ£ãããããããŸããããæéãçµã€ã«ã€ããŠã圌ãã¯ããå€ãã®å¯èœæ§ã®ããã«é²æ©ããŸãã äžèšã®ããã«ãALARMãã¢ããªã§åäœãããããšãã§ããŸããã ãã ãããã以éãHDMIãªãŒãã£ãªã¯ç¡å¹ã«ãªã£ãŠããŸãã Pythonã³ãã³ãã©ã€ã³ã§ã¯ã¯ãªãŒã³ã§ãããsystemdããå®è¡ãããšãŽãã«ãªããŸãã
ã€ãŸããéçºè ãè¿œããããŠããã®ã¯æè¡æ²ç·ã§ãã ç§ãä»æ¥ããããã«ãããªãã¯äžæ¥äžãããå©ãããšãã§ããŸãããããŠããã§ãçµæãåŸãããšãã§ããŸããã ãããããªãã«ãšã£ãŠäŸ¡å€ããããªãããã ãããããç¶ããŠãã ããã
誰ãããã®ææ¡ãè©ŠããŸãããïŒ åœŒãKIVY_TEXTãå€æŽããŠããããã§ãã æ©äŒãããã°ä»é±æ«ã«ãã£ãŠã¿ãŸãã
ã ãã誰ãããŸã ãã¹ã¿ãŒã§Kivyãå®è¡ãããããšãã§ããŸãã..ïŒ
ãã¹ã¯ãããçã§Kivyããã°ã©ã ãå®è¡ããã®ã¯ç°¡åã§ãããããã§ãã³ã³ãœãŒã«ããŒãã§èµ·åããæ¹æ³ãèŠã€ãããŸããã§ããã
ä»ã®èª°ãïŒ
ããããšããããä»ãããè©ŠããŠããªãã®ã¯ããªã銬鹿ããŠããŸã...ç§ã¯sshãè©ŠããŠã¿ãã ãã§ããããvncãè©ŠããŠã¿ãã ãã§ãå®éã«æ©èœããŸããã èå³ãããå Žåã¯ãtkinterïŒä»ã®Python UIã©ã€ãã©ãªïŒãã³ã³ãœãŒã«ã§ã¯æ©èœããŸãããããã¹ã¯ãããã§ã¯æ©èœããŸãã
ã³ã³ãœãŒã«ããéå§ããããå°ãªããšãèµ·åããããã®ä¿¡é Œã§ããæ¹æ³ãæ¬åœã«å¿ èŠã§ãããããã«ã€ããŠèšåããŠããã ãããããšãããããŸããæçµçã«åé¿çããããŸãã
@masynthetic ALARMã§ã¯ã.xinitrcãWindowsãèµ·åããWindowsãèµ·åããåŸã«Kivyã¢ããªãèªåå®è¡ãããŸãã ããªãããããå¿ èŠãšãããªãã°ãç§ã¯ããå€ãã®æ å ±ãäžããããšãã§ããŸãã ç§ã¯çŸåšãªãã£ã¹ã«ããªãã®ã§ãã¿ãã¬ãããèµ·åããŠãã©ã®ããã«å®è£ ããããæ£ç¢ºã«ç¢ºèªããå¿ èŠããããŸãã
ããã¯éåžžã«åœ¹ã«ç«ã¡ãŸããç§ã¯ã»ãšãã©å¿
èŠãªã ããªã®ã§æ¥ãã§ããŸãã
ãã®æã®éçºç°å¢
åã2019幎9æ14æ¥ã«ã¯ãåå3æ17åAMãã©ã³ã¯ã»ã°ãŒã«ã[email protected]ã¯æžããŸããïŒ
@masynthetic https://github.com/masynthetic ALARMã§ã¯ãç§ã®.xinitrc
Windowsãèµ·åããWindowsãèµ·åããåŸãKivyã¢ããªãèªåå®è¡ãããŸãã ç§ã¯äžããããšãã§ããŸã
ããªãããããå¿ èŠãšãããªãã°ãããå€ãã®æ å ±ã ç§ã¯ä»ç§ã®ãªãã£ã¹ã«ããªãã®ã§ãèµ·åããå¿ èŠããããŸã
ã¿ãã¬ããã䜿çšããŠãã©ã®ããã«å®è£ ããããæ£ç¢ºã«ç¢ºèªããŸããâ
ããªããèšåãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/kivy/kivy/issues/6474?email_source=notifications&email_token=AEOWUVKTRWPPLKDVSMG2ERDQJS25HA5CNFSM4IL7DFSKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORWS
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AEOWUVMTOIQUCNBD7EKOK3TQJS25HANCNFSM4IL7DFSA
ã
ããã¯äŸ¿å©ã§ãããã @frankgould
ããã®ãã¹ã¯ãããã¬ã¹ããŒãžã§ã³ã«ã¯ãåªãããœãªã¥ãŒã·ã§ã³ãå¿ èŠã ãšæããŸãã åŸã§ããã«æ»ãããšãæãã§ãããåºç€ãšãªããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãšãã©ã€ããŒã»ããã¯ä»¥åãšåãããã«æ©èœããŸãã å·ç¬çã§ãç§ã¯ãããå°ãçã£ãŠããŸãã
ç§ãããããªãã§debianJessieã«åãçµãããã«kivyãæã«å
¥ããããšã¯ãããŸããã ããããeglã®äœ¿çšã«åé¡ããªãå Žåã¯ãéå»ã«æ¬¡ã®ããã«çœ®ãæããŠã kivy/core/window/window_egl_rpi.py
ã®ã€ãã·ã£ã©ã€ã¶ã«ããããé©çšãããšäŸ¿å©ã§ããããšãããããŸããã
- def create_window(self):
+ def create_window(self, *args):
ç§ã¯æ°ã¶æåã«å€ãããŒãžã§ã³ã®kivyã§åæ§ã®åé¡ãæ±ããŠããŸããããããã§ããŸããããŸããã
ç§ã®èšæ¶ãæ£ãããã°ãè¿œå ã®åŒæ°ãæž¡ããããããeglã䜿çšãããŠã£ã³ããŠã®äœæã¯ããã©ã«ãã§å€±æããŸãã äŸå€ã¯ã©ããã§ãã£ãããããç¡èŠãããŸãã
Debian Jessieã§ã¯ããã®ãããã§ãã¹ãŠã®åé¡ã解決ããŸããããBusterã§ã¯ãã¹ãããŠããŸããã
ãã®ã³ãããã®ããã«eglãªãã·ã§ã³ãç¡èŠãããå¯èœæ§ããããŸãïŒ333a4cc9c7b4b3168f7427d27f4fdea2a69bc52bã
ãšã«ãããymmvã
@ahendriksenä»®æ³ç°å¢ãæ³å®ãããšããã¡ã€ã«ã«ããããé©çšããã ãã§ããããããšãããããé©çšããåŸã«åã€ã³ã¹ããŒã«ãå¿ èŠã§ããïŒ ïŒããããšããïŒ
ãã®å Žã§ãããè¡ãããšãã§ããŸããããã¹ã¿ãŒã®åé¡ã«æçš¿ããããã¬ãŒã¹ããã¯ã§ãããèŠãããšããªãã®ã§ããããããã§ã®åé¡ã§ãããšã¯æããŸããã ãã ãããã®ãšã©ãŒã瀺ããã¬ãŒã¹ããã¯ãããå Žåã¯ãæçš¿ãããšåœ¹ç«ã€ã®ã§ãä¿®æ£ããŸãã
@OutsourcedGuruç§ã®çµéšã§ã¯ãã€ã³ãã¬ãŒã¹ã§ã®ãããé©çšã¯æ©èœããã¯ãã§ãã
@matham ãã©ãºããªãŒãã€ã«ãã¹ã¿ãŒãã€ã³ã¹ããŒã«ããŸããã ããã«æçš¿ããŸãã
ãã¹ã¿ãŒãåããPi3ã¢ãã«B +ã§ã¯ãçŸåšã®ãã¹ã¿ãŒãã©ã³ãïŒ2.0.0-dev0ïŒãæ£åžžã«æ©èœããŠããããšãå ±åã§ããŸãã
window_egl_rpi.piãžã®ãããã¯å¿
èŠãããŸããã§ããã
ããã¯ç§ã«ãšã£ãŠã¯ããŸããããªãããã§ããããã䟡å€ãããã®ã§ãã ç§ã¯ãããåé¿ããPython3ã®è©Šã¿ã§BusterDesktopã§1æ¥ãéãããŸããã
ãããŸã§ã®ãšãããRaspberry Pi4ã®BusterLiteã®Kivyã«å¯Ÿãã解決çã¯ãããŸãããïŒ
RPi4 4GB
Rpiå
¬åŒãã£ã¹ãã¬ã€
ã©ãºãã¢ã³ãã¹ã¿ãŒ2019-09-26
PythonïŒ3.7.3
KivyïŒv2.0.0.dev0
èµ·ååŸã«åããŠåçŽãªKivyãã¡ã€ã«ãå®è¡ãããšã次ã®ãã°ã衚瀺ãããç»é¢ã衚瀺ãããŸããã
[æ
å ±] [ãã¬ãŒ]ãã°ã/home/pi/.kivy/logs/kivy_19-10-02_7.txtã«èšé²ããŸã
[æ
å ±] [Kivy] v2.0.0.dev0ãgit-f223133ã20191002
[æ
å ±] [Kivy]ã/ usr / local / lib / python3.7 / dist-packages / kivy /__init__ãpyãã«ã€ã³ã¹ããŒã«
[æ
å ±] [Python] v3.7.3ïŒããã©ã«ãã2019幎4æ3æ¥ã05ïŒ39ïŒ12ïŒ
[GCC 8.2.0]
[æ
å ±] [Python]ã/ usr / bin / pythonãã®ã€ã³ã¿ããªã¿
[æ
å ±] [ãã¡ã¯ããª] 184åã®ã·ã³ãã«ãããŒããããŸãã
[ãããã°] [ãã£ãã·ã¥]ã¬ãžã¹ã¿
[ãããã°] [ãã£ãã·ã¥]ã¬ãžã¹ã¿
[ãããã°] [ãã£ãã·ã¥]ã¬ãžã¹ã¿
[æ
å ±] [ç»å]ãããã€ããŒïŒimg_texãimg_ddsãimg_sdl2ãimg_pilãimg_gifïŒimg_ffpyplayerã¯ç¡èŠãããŸãïŒ
[ãããã°] [ãã£ãã·ã¥]ã¬ãžã¹ã¿
[ãããã°] [ãã£ãã·ã¥]ã¬ãžã¹ã¿
[ãããã°] [ã¢ããª] kvã®èªã¿èŸŒã¿<./ test.kv>
[æ
å ±] [ããã¹ã]ãããã€ããŒïŒsdl2
[æ
å ±] [ãŠã£ã³ããŠ]ãããã€ããŒïŒegl_rpi
[ãããã°] [ãŠã£ã³ããŠ]å®éã®è¡šç€ºãµã€ãºïŒ800x480
[æ
å ±] [GL]ãOpenGLES2ãã°ã©ãã£ãã¯ã·ã¹ãã ã®äœ¿çš
[ãããã°] [GL] glShaderBinaryã¯äœ¿çšã§ããŸãã
[INFO] [GL]ããã¯ãšã³ãã䜿çšãããŸãã
[æ
å ±] [GL] OpenGLããŒãžã§ã³ [æ
å ±] [GL] OpenGLãã³ã㌠[æ
å ±] [GL] OpenGLã¬ã³ãã©ãŒ
[æ
å ±] [GL] OpenGL解æããŒãžã§ã³ïŒ2ã0
[æ
å ±] [GL]ã·ã§ãŒãã£ã³ã°ããŒãžã§ã³
[æ
å ±] [GL]ãã¯ã¹ãã£ã®æ倧ãµã€ãº<2048>
[æ
å ±] [GL]ãã¯ã¹ãã£ã®æ倧åäœ<8>
[ãããã°] [ã·ã§ãŒããŒ]ãã©ã°ã¡ã³ããæ£åžžã«ã³ã³ãã€ã«ãããŸãã
[ãããã°] [ã·ã§ãŒããŒ]é ç¹ãæ£åžžã«ã³ã³ãã€ã«ãããŸãã
[ãããã°] [ImageSDL2]ããŒã
[æ
å ±] [ãŠã£ã³ããŠ]ä»®æ³ããŒããŒãã¯èš±å¯ãããŠããŸãããã·ã³ã°ã«ã¢ãŒãããããã³ã°ãããŠããŸãã
[ãããã°] [ãªãœãŒã¹]ãã¹ãªã¹ãã«è¿œå
[ãããã°] [ãªãœãŒã¹]ãã¹ãªã¹ãã«è¿œå
[ãããã°] [ãªãœãŒã¹]ãã¹ãªã¹ãã«è¿œå
[ãããã°] [ãªãœãŒã¹]ãã¹ãªã¹ãã«è¿œå
[ãããã°] [ãªãœãŒã¹]ãã¹ãªã¹ãã«è¿œå
[ãããã°] [ããŒã¹]ããŠã¹ãããããã€ããŒãäœæ
[ãããã°] [ããŒã¹] probesysfsãprovider = mtdevãããããã€ããŒãäœæããŸã
[ãããã°] [ProbeSysfs]ã¯probesysfsã䜿çšããŠããŸãïŒ
[ãããã°] [ProbeSysfs]ãããã€ã¹ãæ€åºããŸããïŒ/ dev / input / event0ã«ããFT5406ã¡ã¢ãªããŒã¹ã®ãã©ã€ããŒ
[æ
å ±] [ProbeSysfs]ããã€ã¹ã®äžèŽïŒ/ dev / input / event0
[æ
å ±] [MTD]ããã®ã€ãã³ãã®èªã¿åã
[ãããã°] [ããŒã¹] probesysfsãprovider = hidinputãããããã€ããŒãäœæããŸã
[ãããã°] [ProbeSysfs]ã¯probesysfsã䜿çšããŠããŸãïŒ
[ãããã°] [ProbeSysfs]ãããã€ã¹ãæ€åºããŸããïŒ/ dev / input / event0ã«ããFT5406ã¡ã¢ãªããŒã¹ã®ãã©ã€ããŒ
[æ
å ±] [ProbeSysfs]ããã€ã¹ã®äžèŽïŒ/ dev / input / event0
[INFO] [HIDInput]ããã€ãã³ããèªã¿åããŸã
[æ
å ±] [ããŒã¹]ã¢ããªã±ãŒã·ã§ã³ã®ã¡ã€ã³ã«ãŒããéå§ããŸã
[æ
å ±] [MTD]ç¯å²äœçœ®Xã¯0ã800ã§ã
[æ
å ±] [MTD]ç¯å²äœçœ®Yã¯0ã480ã§ã
[æ
å ±] [MTD]ç¯å²ã¿ããã¡ãžã£ãŒã¯0-0ã§ã
[æ
å ±] [MTD]ç¯å²ã¿ãããã€ããŒã¯0-0ã§ã
[æ
å ±] [MTD]ç¯å²å§åã¯0ã255ã§ã
[INFO] [MTD]軞ã®å転ïŒXã¯0ãYã¯0
[INFO] [MTD]å転ã0ã«èšå®ãããŸãã
[INFO] [HIDMotionEvent] using
[æ
å ±] [GL] NPOTãã¯ã¹ãã£ãµããŒããå©çšå¯èœã§ã
[æ
å ±] [HIDMotionEvent]
[æ
å ±] [HIDMotionEvent]
[æ
å ±] [HIDMotionEvent]
[æ
å ±] [HIDMotionEvent]
[ãããã°] [ã¢ãã©ã¹]ããŒã
[ãããã°] [ã¢ãã©ã¹] 1ã€ã®ç»åãããŒãããå¿
èŠããããŸã
[ãããã°] [ã¢ãã©ã¹]ããŒã
[ãããã°] [ImageSDL2]ããŒã
2åç®ã¯ç»é¢ããããŸãããããã°ãå°ãããªã£ãŠããŸãã
[æ
å ±] [ãã¬ãŒ]ãã°ã/home/pi/.kivy/logs/kivy_19-10-02_8.txtã«èšé²ããŸã
[æ
å ±] [Kivy] v2.0.0.dev0ãgit-f223133ã20191002
[æ
å ±] [Kivy]ã/ usr / local / lib / python3.7 / dist-packages / kivy /__init__ãpyãã«ã€ã³ã¹ããŒã«
[æ
å ±] [Python] v3.7.3ïŒããã©ã«ãã2019幎4æ3æ¥ã05ïŒ39ïŒ12ïŒ
[GCC 8.2.0]
[æ
å ±] [Python]ã/ usr / bin / pythonãã®ã€ã³ã¿ããªã¿
[æ
å ±] [ãã¡ã¯ããª] 184åã®ã·ã³ãã«ãããŒããããŸãã
[ãããã°] [ãã£ãã·ã¥]ã¬ãžã¹ã¿
[ãããã°] [ãã£ãã·ã¥]ã¬ãžã¹ã¿
[ãããã°] [ãã£ãã·ã¥]ã¬ãžã¹ã¿
[æ
å ±] [ç»å]ãããã€ããŒïŒimg_texãimg_ddsãimg_sdl2ãimg_pilãimg_gifïŒimg_ffpyplayerã¯ç¡èŠãããŸãïŒ
[ãããã°] [ãã£ãã·ã¥]ã¬ãžã¹ã¿
[ãããã°] [ãã£ãã·ã¥]ã¬ãžã¹ã¿
[ãããã°] [ã¢ããª] kvã®èªã¿èŸŒã¿<./ test.kv>
[æ
å ±] [ããã¹ã]ãããã€ããŒïŒsdl2
[æ
å ±] [ãŠã£ã³ããŠ]ãããã€ããŒïŒegl_rpi
[ãããã°] [ãŠã£ã³ããŠ]å®éã®è¡šç€ºãµã€ãºïŒ800x480
誰ãããããæ©èœãããããšãã§ããŸãããïŒ
åãSDã«ãŒããRPi3B +ã§ããŸãæ©èœããŸãã ãããã®ãã°ã¯RPI44GBããã®ãã®ã§ãã
ãã¹ã¯ãããã¬ã¹ã®RaspbianBusterã§åäœãããã®ãååŸã§ããŸããã§ããã ããã¯ãããããRaspbianã®ãã©ã€ããŒã¹ã¿ãã¯ã«ããïŒäºæ³ãããv2ã§ã¯ãªãïŒOpenGL ESv3ã€ã³ã¿ãŒãã§ã€ã¹ãåå ã§ãã ãŸãã¯ããã¥ã¢ã«HDMIã¢ããã¿ãŒãåå ã§å¥åŠãªããšããããŸãã
ãããŸã§ã®ãšãããRaspberry Pi4ã®BusterLiteã®Kivyã«å¯Ÿãã解決çã¯ãããŸãããïŒ
RPi4 4GB
Rpiå ¬åŒãã£ã¹ãã¬ã€
ã©ãºãã¢ã³ãã¹ã¿ãŒ2019-09-26
PythonïŒ3.7.3
KivyïŒv2.0.0.dev0èµ·ååŸã«åããŠåçŽãªKivyãã¡ã€ã«ãå®è¡ãããšã次ã®ãã°ã衚瀺ãããç»é¢ã衚瀺ãããŸããã
[æ å ±] [ãã¬ãŒ]ãã°ã/home/pi/.kivy/logs/kivy_19-10-02_7.txtã«èšé²ããŸã
[æ å ±] [Kivy] v2.0.0.dev0ãgit-f223133ã20191002
[INFO]ã[Kivy] "/usr/local/lib/python3.7/dist-packages/kivy/ã®initã®.py"ã«èšçœ®
[æ å ±] [Python] v3.7.3ïŒããã©ã«ãã2019幎4æ3æ¥ã05ïŒ39ïŒ12ïŒ
[GCC 8.2.0]
[æ å ±] [Python]ã/ usr / bin / pythonãã®ã€ã³ã¿ããªã¿
[æ å ±] [ãã¡ã¯ããª] 184åã®ã·ã³ãã«ãããŒããããŸãã
[ãããã°] [ãã£ãã·ã¥]ã¬ãžã¹ã¿å¶é=ãªããã¿ã€ã ã¢ãŠã=ãªã
[ãããã°] [ãã£ãã·ã¥]ã¬ãžã¹ã¿å¶éä»ã=ãªããã¿ã€ã ã¢ãŠã= 60
[ãããã°] [ãã£ãã·ã¥]ã¬ãžã¹ã¿å¶é=ãªããã¿ã€ã ã¢ãŠã=ãªã
[æ å ±] [ç»å]ãããã€ããŒïŒimg_texãimg_ddsãimg_sdl2ãimg_pilãimg_gifïŒimg_ffpyplayerã¯ç¡èŠãããŸãïŒ
[ãããã°] [ãã£ãã·ã¥]ã¬ãžã¹ã¿å¶é= 1000ãã¿ã€ã ã¢ãŠã= 60
[ãããã°] [ãã£ãã·ã¥]ã¬ãžã¹ã¿å¶é= 1000ãã¿ã€ã ã¢ãŠã= 3600
[ãããã°] [ã¢ããª] kvã®èªã¿èŸŒã¿<./ test.kv>
[æ å ±] [ããã¹ã]ãããã€ããŒïŒsdl2
[æ å ±] [ãŠã£ã³ããŠ]ãããã€ããŒïŒegl_rpi
[ãããã°] [ãŠã£ã³ããŠ]å®éã®è¡šç€ºãµã€ãºïŒ800x480
[æ å ±] [GL]ãOpenGLES2ãã°ã©ãã£ãã¯ã·ã¹ãã ã®äœ¿çš
[ãããã°] [GL] glShaderBinaryã¯äœ¿çšã§ããŸãã
[INFO] [GL]ããã¯ãšã³ãã䜿çšãããŸãã
[æ å ±] [GL] OpenGLããŒãžã§ã³ [æ å ±] [GL] OpenGLãã³ã㌠[æ å ±] [GL] OpenGLã¬ã³ãã©ãŒ
[æ å ±] [GL] OpenGL解æããŒãžã§ã³ïŒ2ã0
[æ å ±] [GL]ã·ã§ãŒãã£ã³ã°ããŒãžã§ã³
[æ å ±] [GL]ãã¯ã¹ãã£ã®æ倧ãµã€ãº<2048>
[æ å ±] [GL]ãã¯ã¹ãã£ã®æ倧åäœ<8>
[ãããã°] [ã·ã§ãŒããŒ]ãã©ã°ã¡ã³ããæ£åžžã«ã³ã³ãã€ã«ãããŸãã
[ãããã°] [ã·ã§ãŒããŒ]é ç¹ãæ£åžžã«ã³ã³ãã€ã«ãããŸãã
[ãããã°] [ImageSDL2]ããŒã
[æ å ±] [ãŠã£ã³ããŠ]ä»®æ³ããŒããŒãã¯èš±å¯ãããŠããŸãããã·ã³ã°ã«ã¢ãŒãããããã³ã°ãããŠããŸãã
[ãããã°] [ãªãœãŒã¹]ãã¹ãªã¹ãã«è¿œå
[ãããã°] [ãªãœãŒã¹]ãã¹ãªã¹ãã«è¿œå
[ãããã°] [ãªãœãŒã¹]ãã¹ãªã¹ãã«è¿œå
[ãããã°] [ãªãœãŒã¹]ãã¹ãªã¹ãã«è¿œå
[ãããã°] [ãªãœãŒã¹]ãã¹ãªã¹ãã«è¿œå
[ãããã°] [ããŒã¹]ããŠã¹ãããããã€ããŒãäœæ
[ãããã°] [ããŒã¹] probesysfsãprovider = mtdevãããããã€ããŒãäœæããŸã
[ãããã°] [ProbeSysfs]ã¯probesysfsã䜿çšããŠããŸãïŒ
[ãããã°] [ProbeSysfs]ãããã€ã¹ãæ€åºããŸããïŒ/ dev / input / event0ã«ããFT5406ã¡ã¢ãªããŒã¹ã®ãã©ã€ããŒ
[æ å ±] [ProbeSysfs]ããã€ã¹ã®äžèŽïŒ/ dev / input / event0
[æ å ±] [MTD]ããã®ã€ãã³ãã®èªã¿åã
[ãããã°] [ããŒã¹] probesysfsãprovider = hidinputãããããã€ããŒãäœæããŸã
[ãããã°] [ProbeSysfs]ã¯probesysfsã䜿çšããŠããŸãïŒ
[ãããã°] [ProbeSysfs]ãããã€ã¹ãæ€åºããŸããïŒ/ dev / input / event0ã«ããFT5406ã¡ã¢ãªããŒã¹ã®ãã©ã€ããŒ
[æ å ±] [ProbeSysfs]ããã€ã¹ã®äžèŽïŒ/ dev / input / event0
[INFO] [HIDInput]ããã€ãã³ããèªã¿åããŸã
[æ å ±] [ããŒã¹]ã¢ããªã±ãŒã·ã§ã³ã®ã¡ã€ã³ã«ãŒããéå§ããŸã
[æ å ±] [MTD]ç¯å²äœçœ®Xã¯0ã800ã§ã
[æ å ±] [MTD]ç¯å²äœçœ®Yã¯0ã480ã§ã
[æ å ±] [MTD]ç¯å²ã¿ããã¡ãžã£ãŒã¯0-0ã§ã
[æ å ±] [MTD]ç¯å²ã¿ãããã€ããŒã¯0-0ã§ã
[æ å ±] [MTD]ç¯å²å§åã¯0ã255ã§ã
[INFO] [MTD]軞ã®å転ïŒXã¯0ãYã¯0
[INFO] [MTD]å転ã0ã«èšå®ãããŸãã
[INFO] [HIDMotionEvent] using
[æ å ±] [GL] NPOTãã¯ã¹ãã£ãµããŒããå©çšå¯èœã§ã
[æ å ±] [HIDMotionEvent]ç¯å²ABSXäœçœ®ã¯0ã800ã§ã
[INFO] [HIDMotionEvent]ç¯å²ABSYäœçœ®ã¯0ã480ã§ã
[æ å ±] [HIDMotionEvent]ç¯å²äœçœ®Xã¯0ã800ã§ã
[æ å ±] [HIDMotionEvent]ç¯å²äœçœ®Yã¯0ã480ã§ã
[ãããã°] [ã¢ãã©ã¹]ããŒã
[ãããã°] [ã¢ãã©ã¹] 1ã€ã®ç»åãããŒãããå¿ èŠããããŸã
[ãããã°] [ã¢ãã©ã¹]ããŒã
[ãããã°] [ImageSDL2]ããŒã2åç®ã¯ç»é¢ããããŸãããããã°ãå°ãããªã£ãŠããŸãã
[æ å ±] [ãã¬ãŒ]ãã°ã/home/pi/.kivy/logs/kivy_19-10-02_8.txtã«èšé²ããŸã
[æ å ±] [Kivy] v2.0.0.dev0ãgit-f223133ã20191002
[INFO]ã[Kivy] "/usr/local/lib/python3.7/dist-packages/kivy/ã®initã®.py"ã«èšçœ®
[æ å ±] [Python] v3.7.3ïŒããã©ã«ãã2019幎4æ3æ¥ã05ïŒ39ïŒ12ïŒ
[GCC 8.2.0]
[æ å ±] [Python]ã/ usr / bin / pythonãã®ã€ã³ã¿ããªã¿
[æ å ±] [ãã¡ã¯ããª] 184åã®ã·ã³ãã«ãããŒããããŸãã
[ãããã°] [ãã£ãã·ã¥]ã¬ãžã¹ã¿å¶é=ãªããã¿ã€ã ã¢ãŠã=ãªã
[ãããã°] [ãã£ãã·ã¥]ã¬ãžã¹ã¿å¶éä»ã=ãªããã¿ã€ã ã¢ãŠã= 60
[ãããã°] [ãã£ãã·ã¥]ã¬ãžã¹ã¿å¶é=ãªããã¿ã€ã ã¢ãŠã=ãªã
[æ å ±] [ç»å]ãããã€ããŒïŒimg_texãimg_ddsãimg_sdl2ãimg_pilãimg_gifïŒimg_ffpyplayerã¯ç¡èŠãããŸãïŒ
[ãããã°] [ãã£ãã·ã¥]ã¬ãžã¹ã¿å¶é= 1000ãã¿ã€ã ã¢ãŠã= 60
[ãããã°] [ãã£ãã·ã¥]ã¬ãžã¹ã¿å¶é= 1000ãã¿ã€ã ã¢ãŠã= 3600
[ãããã°] [ã¢ããª] kvã®èªã¿èŸŒã¿<./ test.kv>
[æ å ±] [ããã¹ã]ãããã€ããŒïŒsdl2
[æ å ±] [ãŠã£ã³ããŠ]ãããã€ããŒïŒegl_rpi
[ãããã°] [ãŠã£ã³ããŠ]å®éã®è¡šç€ºãµã€ãºïŒ800x480誰ãããããæ©èœãããããšãã§ããŸãããïŒ
åãSDã«ãŒããRPi3B +ã§ããŸãæ©èœããŸãã ãããã®ãã°ã¯RPI44GBããã®ãã®ã§ãã
ä»ã®ãšããããã¹ã¯ãããã®ãªãRPi4ã§kivyã¢ããªãå®è¡ããããšã¯äžå¯èœã§ãã ããã¯ãã©ã€ããŒã®é害ã§ããããã次ã®kivyãªãªãŒã¹ïŒãŸãã¯ãã¹ã¿ãŒïŒã§ããããé©çšãããã®ãåŸ ã€å¿ èŠããããŸãã
[INFO ] [Window ] Provider: egl_rpi
Kivyã¯gles3.h
ãšããååã®ãŠãã³ãŒã³ã§ã¯ãªãã gles2.h
ãªã³ã¯ãããŠãããããKivyïŒä»»æã®ããŒãžã§ã³ïŒã«egl_rpi
ãŠã£ã³ããŠãããã€ããŒãšéä¿¡ãããã€ããã¯ãªããšæããŸããç§ãèŠãããšãã§ãããã®ããã¯ååšããŸããã Pi4Bã¯OpenGLESv3ã䜿çšããŸãã
Kivyãsdl2
ãªã©ãèŠæ±ããããã«æ§æã調æŽããŠã¿ãŠãã ããã ããã§ãã©ã³ã¯ã®æçš¿ãèªãã§ãã ããã
Google Angleã³ãŒããPiã«ã€ã³ã¹ããŒã«ããŠïŒããããOpenGL ES 3.0ããããŒãååŸããããã«ïŒãKivy egl_rpiãããã€ããŒã«ããããé©çšããŠgles2.hïŒãŸãã¯åæ§ã®ãã®ïŒã§ã¯ãªãgles3.hããã«ããæ¹æ³ã¯ãããŸããïŒ
Busterliteã®èµ·åæã«Kivyã¢ããªãã€ã³ã¹ããŒã«ããŠå®è¡ããæ¹æ³ã®èª¬æã¯æ¬¡ã®ãšããã§ãã
å®éã®ãŠã£ã³ããŠã衚瀺ããããã«å¿ èŠãªã®ã§ãæåã«xserver-orgãã€ã³ã¹ããŒã«ããŸãã
sudo apt-get -y install xserver-xorg
次ã«ããœãŒã¹ããnodmãã€ã³ã¹ããŒã«ããã®ã§ã次ã®ä¿®æ£ãå«ãŸããŠããŸãïŒ https ïŒ
sudo apt-get -y install libpam0g-dev help2man libx11-dev debhelper
git clone https://github.com/slashblog/nodm.git
pushd nodm
git checkout d48a8f6266d3f464138e0e95b65896917c35c89f
source /etc/os-release # Will set the 'VERSION' variable
if [ "$(echo $VERSION | sed -En 's/[0-9]+ \(([a-z]+)\)/\1/p')" == "buster" ]; then
wget http://deb.debian.org/debian/pool/main/n/nodm/nodm_0.13-5.debian.tar.xz
else
wget http://deb.debian.org/debian/pool/main/n/nodm/nodm_0.13-1.3.debian.tar.xz
fi
tar xf nodm_0.13-*.debian.tar.xz
sudo dpkg-buildpackage -us -uc -b
popd
sudo dpkg -i nodm_0.13-*_armhf.deb
sudo rm -rf nodm*
次ã«ãã°ã©ãã£ã«ã«ãã°ã€ã³ãæå¹ã«ããŸãã
sudo systemctl set-default graphical.target
nodmãæ§æããèµ·åæã«ã¢ããªãèµ·åããŸãã
# Has the same effect as calling 'sudo dpkg-reconfigure nodm'
sudo sh -c 'echo "NODM_ENABLED=true" > /etc/default/nodm'
sudo sh -c 'echo "NODM_USER=$SUDO_USER" >> /etc/default/nodm' # Note that the variable SUDO_USER is used
sudo sh -c 'echo "NODM_FIRST_VT='\''7'\''" >> /etc/default/nodm'
sudo sh -c 'echo "NODM_XSESSION=/etc/X11/Xsession" >> /etc/default/nodm'
sudo sh -c 'echo "NODM_X_OPTIONS='\''-nolisten tcp'\''" >> /etc/default/nodm'
sudo sh -c 'echo "NODM_MIN_SESSION_TIME=60" >> /etc/default/nodm'
sudo sh -c 'echo "NODM_X_TIMEOUT=300" >> /etc/default/nodm'
# Start the app using nodm
echo '#!/bin/bash' > ~/.xsession
echo 'export DISPLAY=:0.0' >> ~/.xsession
echo "~/venv-kivy/bin/python3 ~/app.py" >> ~/.xsession
ä»®æ³ç°å¢ãã»ããã¢ããããŸãã
sudo apt-get -y install python3-pip python3-venv
sudo pip3 install -U pip
python3 -m venv venv-kivy
source ~/venv-kivy/bin/activate
Kivyã®äŸåé¢ä¿ãã€ã³ã¹ããŒã«ããŸãïŒ
sudo apt-get -y install python3-dev libmtdev1 libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev
sudo apt-get -y install pkg-config libgl1-mesa-dev libgles2-mesa-dev libgstreamer1.0-dev gstreamer1.0-plugins-{bad,base,good,ugly} gstreamer1.0-{omx,alsa} libmtdev-dev
pip3 install -U pygments docutils Cython==0.29.10 wheel
ããã§ã¯ãKivyãã³ã³ãã€ã«ããŠã€ã³ã¹ããŒã«ããŸãã ãã©ãŒã¯ã«ããããé©çšããŠãããããRaspberry Pi 4ïŒhttps://github.com/Lauszus/kivy/commit/9cdcada34a6149b7fd6bd4c57285afc828d69948ïŒã§å©çšã§ããªãç¬èªã®Broadcomãã©ã€ããŒã䜿çšããŠããªãããšã«æ³šæããŠãã ããã
export VIDEOCOREMESA=1; pip3 install git+https://github.com/Lauszus/kivy.git@rpi4_auto#egg=kivy
æåŸã«ãå°ããªãã¹ãã¢ããªãäœæããŸãã
cat <<EOF > ~/app.py
from kivy.app import App
from kivy.uix.button import Button
class TestApp(App):
def build(self):
return Button(text='hello world')
if __name__ == '__main__':
TestApp().run()
EOF
ä»ããåèµ·åããŠã楜ãã¿ãã ãã:)
RPi4 4GB
7ãã£ãŒãHDMIãã£ã¹ãã¬ã€ïŒã¿ã€ãCã®è¿ãã®1ã€ã®ãã€ã¯ãhdmiã§åäœïŒ
config.ini
max_usb_current = 1
hdmi_group = 2
hdmi_mode = 87
hdmi_cvt 1024600 60 6 0 0 0
hdmi_drive = 1
ã©ãºãã¢ã³ãã¹ã¿ãŒ2019-09-26ãã«
pi @ raspberrypi ïŒã/ kivy-examples / 3Drendering $ python main.py
[æ
å ±] [ãã¬ãŒ]ãã°ã/home/pi/.kivy/logs/kivy_19-10-19_10.txtã«èšé²ããŸã
[æ
å ±] [Kivy] v1.11.0
[æ
å ±] [Kivy]ã/ usr / local / lib / python2.7 / dist-packages / kivy / __init __ãpycãã«ã€ã³ã¹ããŒã«
[æ
å ±] [Python] v2.7.16ïŒããã©ã«ãã2019幎4æ6æ¥ã01ïŒ42ïŒ57ïŒ
[GCC 8.2.0]
[æ
å ±] [Python]ã/ usr / bin / pythonãã®ã€ã³ã¿ããªã¿
[èŠå] [éæšå¥š] Python 2Kivyã®ãµããŒãã¯éââæšå¥šã«ãªããŸããã 1.11.0以éã®KivyãªãªãŒã¹ã¯Python2ããµããŒãããªããªããŸã
[æ
å ±] [ãã¡ã¯ããª] 184åã®ã·ã³ãã«ãããŒããããŸãã
[æ
å ±] [ç»å]ãããã€ããŒïŒimg_texãimg_ddsãimg_sdl2ãimg_pilãimg_gifïŒimg_ffpyplayerã¯ç¡èŠãããŸãïŒ
[æ
å ±] [ãŠã£ã³ããŠ]ãããã€ããŒïŒegl_rpi
@Lauszusç§ã¯ä»é±æ«ãã€ãããããã¹ãããŸãã ããã«ã€ããŠããªãã®å©ããããããšãã :)
@ diamond2nv ã... RaspbianBusterããã£ã±ãã§ãããããRaspbianBuster _Desktop_ãæå³ããå Žåãæé ã¯ããã®KivyIssueã«ãã
ã©ããããããšã ïŒ
ãã®æ瀺ã«ãã£ãŠè§£æ±ºãããåé¡ã
PSã "2019-09-26-raspbian-buster-full.img"
@LauszusããŠãç§ã¯ããããã¹ãããŸãã...
sudo apt-get update && sudo apt-get -y upgrade
sudo raspi-config
ããŒã«ãªãŒãŒã·ã§ã³ãCLIãžã®èªåèµ·åãããã³ã€ã³ã¹ããŒã«ã®å Žåãã€ã³ã¿ãŒãã§ã€ã¹ã®å€æŽïŒI2C / UART /ã«ã¡ã©ïŒ_ãããæ©èœãããããã«ä»¥åã«
rpi-update
ãå®è¡ããã®ã§ãRaspbianãªã«ããªããã»ã¹ãå®è¡ããŠããããã¹ãŠãæºåããããšã«æ³šæããŠãã ããã ããã¯ãããã«ä¿åãããŠãããã¡ãŒã ãŠã§ã¢ãå€æŽããããšãç¥ãããŠããã®ã§ããªãªãŒã¹ãããããŒãžã§ã³ã«æ»ããŸããã
ããã§ãªããã°ãç§ã¯ããªãã®æ瀺ã«åŸããŸããã ããã«ãã¿ããã¹ã¯ãªãŒã³ããã€ã¹ãæ©èœããããã«æ§æãæŽæ°ããŸããã
~/.kivy/config.ini
ç·šéïŒ[input]
mouse = mouse
#%(name)s = probesysfs,provider=hidinput
mtdev_%(name)s = probesysfs,provider=mtdev
hid_%(name)s = probesysfs,provider=hidinput
ããã«ã¹ã¯ãªãŒã³ãã«ã¯ãªããªãã®ã§ãå°ãèšå®ããããå¿
èŠããããšæããŸãã äºæ³ããã1280x800ã§ã¯ãªãããããã800x640ã§ãã ããã¯ãRaspbian /boot/config.txt
ãKivy ~/.kivy/config.ini
ãã¡ã€ã«ããŸãã¯xsessionæ§æã«ããå¯èœæ§ããããŸã...
ãã ããããã«ãäžéšã«æ¬¡ã®ãã®ãå«ããŠãã¹ãã¢ããªã調æŽããŸããã
from kivy.core.window import Window
Window.fullscreen = True
ããã¯ãäºæ³ã©ãããã¢ããªããã«ã¹ã¯ãªãŒã³ã«èª¿æŽããããã®ããªãã¯ãå®è¡ããŠããããã§ãã
ã©ããããããšãïŒ ãããKivyèªäœã®master
ãã©ã³ãã«ãã€åŒã蟌ãŸããããç¥ããããšæããŸãã
@OutsourcedGuruç§ãéããPRãåç §ããŠãã ããïŒ https ïŒ
VIDEOCOREMESA=0
ãšVIDEOCOREMESA=1
ã§è©ŠããŠãããã©ãŒãã³ã¹ã«éãããããã©ããã確èªã§ããã°çŽ æŽããããšæããŸãã
@Lauszus ïŒçŽ æŽãããä»äº-ãšãŠãããŸãæ©èœããŸãã
@OutsourcedGuruã«ãã
@Lauszus以åã«åãã¹ãã«è¡ããŸãããããã®ãã©ã³ããåé€ãããšæã£ãã®ã§...ïŒïŒïŒã§ããŸããã§ããã
以åæžããããã«@OutsourcedGuru ã Raspberry Pi 4ã§å®è¡ãããŠãããšãã«èªåæ€åºãããæ°ãããã®ãéãããšã«ãªããŸããããšã«ããããã€ãŒã«ãã¯ãã¹ã³ã³ãã€ã«ããæ¹æ³ãèŠã€ããã®ã§ããŠãŒã¶ãŒã¯Kivyãèªåã§ã³ã³ãã€ã«ããå¿ èŠã¯ãããŸããã ããã§ã¯ããã€ãŒã«ããŠã³ããŒãããŠãã ããïŒ https://github.com/Lauszus/kivy/suites/285162135/artifacts/197175ãããŠãããªãã¯ããããã¹ãããŠããå Žåã¯ã以äžã®PRã«ã³ã¡ã³ãïŒ https://github.com/kivy/kivy/ãã«/ 6568ã
@Lauszusããªãã®å©ãã®ãããã§ãç§ã¯ããªãã®nodmã¡ãœããã§RPI4äžã§å®è¡ãããŠããRPI3B +ããå€ãã¢ããªãæã«å
¥ããŸããã
ããã¯èµ·åæã«èªåçã«éå§ããããã¯çŽ æŽãããã§ããããã¯ç§ãããã䜿çšããããšãèšç»ããŠããæ¹æ³ã§ãã
ãããããããã°ããå¿
èŠã®ããã¢ããªã«ä»ã®åé¡ãããããpython3 app.pyãã®ããã«ãCLIããã¢ããªãèµ·åãããšãã®ããã«ãã¢ããªããéåžžã®åºåãååŸããæ¹æ³ãããããŸããã
ãããéæããããã®ãã³ãã¯ãããŸããïŒ
ãããããé¡ãããŸãã
ã©ããããããšãããããŸãããããªãã®æçš¿ããªããã°ããããŸã§å°éã§ããªãã£ãã§ãããã
也æ¯ïŒ
@lucasnzoneç§ã¯åã«printã¹ããŒãã¡ã³ãã®ä»£ããã«ãã¬ãŒæ©èœã䜿çšããŠããŸãïŒ //kivy.org/doc/stable/api-kivy.logger.html ã
次ã«ã次ã®ã¹ã¯ãªããã䜿çšããŠKivyãåèµ·åãããã°ã远跡ããŸãã
#!/bin/bash -e
if [[ $* == *--restart* ]]; then
sudo service nodm restart
inotifywait -q ~/.kivy/logs -e create --format %w%f | xargs tail -f
else
ls -t -d ~/.kivy/logs/* | head -n1 | xargs tail -f
fi
ç§ã¯ããããã¹ãããããšãã§ããŸããã§ãããé ããŠç³ãèš³ãããŸããã FormNextã¯çŽ2é±éãªã®ã§ãããã§ã¹ã¯ã©ã³ãã«ããããŠããŸãã
以åã®ãã¹ãã§æãåºããããã«ãå°ããªKivyãã¹ãããã°ã©ã ã¯æ©èœããŸããããKivyã䜿çšããOctoPrintãã©ã°ã€ã³ã¯æºè¶³ããŠããªãããã§ããã OctoPrintã®ããŒãæ¹æ³ãå€æŽããããšããªãã®æéãè²»ãããŸããïŒ nodm
ããã®ãµãŒãã¹ãå¶åŸ¡ã§ããããã«ããããïŒã OctoPrintãã©ã°ã€ã³ã¯ä»®æ³ç°å¢å
ã§ããŒãããå¿
èŠããããéåžžã¯ãµãŒãã¹ãšããŠå®è¡ãããŸãã ãã®ããããç©Žã®åºãŸã§è¿œããããæéã¯ãããŸããã§ããã
@Lauszusã©ããããããšãããããŸãããç§ã¯ãããèããŠããŸããã§ãããç§ã¯ãããè©ŠããŠã¿ãŸãã
ããäžåºŠããããšã
Frabjousæ¥ã ç§ã¯ãªããšã次ã®äœæ¥ãã©ãããã©ãŒã ãæã«å ¥ããããšãã§ããŸããïŒ
èµ·åæãšåèµ·åæã«ãã«ã¹ã¯ãªãŒã³GUIãæ£åžžã«è¡šç€ºãããŸãã
if pi_type == '4B':
os.environ['VIDEOCOREMESA'] = '1'
os.environ['KIVY_WINDOW'] = 'sdl2'
os.environ['KIVY_GL_BACKEND'] = 'gl'
os.environ['rpi'] = '0'
from kivy.core.window import Window
Window.fullscreen = True
config.iniã«ã¯ãç»é¢ã®å¯žæ³ãå«ããã ãã§ãªããTFTç»é¢ã®å ¥åããã€ã¹ã調æŽããå¿ èŠããããŸãã
RaspbianBusterããã£ã±ãã®RPi4Bã®ã€ã³ã¹ããŒã«æé ãå¿ èŠ
ãã¹ãïŒ
RPi4 4GB
7ãã£ãŒãHDMIãã£ã¹ãã¬ã€ïŒã¿ã€ãCã®è¿ãã®1ã€ã®ãã€ã¯ãhdmiã§åäœïŒ
config.inimax_usb_current = 1
hdmi_group = 2
hdmi_mode = 87
hdmi_cvt 1024600 60 6 0 0 0
hdmi_drive = 1ã©ãºãã¢ã³ãã¹ã¿ãŒ2019-09-26ãã«
ãã°ïŒãšã©ãŒã*ãµãŒãã¹ã®è¿œå ã«å€±æããŸãã-ãã§ã«äœ¿çšãããŠããŸããïŒã
pi @ raspberrypi ïŒã/ kivy-examples / 3Drendering $ python main.py
[æ å ±] [ãã¬ãŒ]ãã°ã/home/pi/.kivy/logs/kivy_19-10-19_10.txtã«èšé²ããŸã
[æ å ±] [Kivy] v1.11.0
[INFO]ã[Kivy] "/usr/local/lib/python2.7/dist-packages/kivy/åæåãã.pyc"ã«èšçœ®
[æ å ±] [Python] v2.7.16ïŒããã©ã«ãã2019幎4æ6æ¥ã01ïŒ42ïŒ57ïŒ
[GCC 8.2.0]
[æ å ±] [Python]ã/ usr / bin / pythonãã®ã€ã³ã¿ããªã¿
[èŠå] [éæšå¥š] Python 2Kivyã®ãµããŒãã¯éââæšå¥šã«ãªããŸããã 1.11.0以éã®KivyãªãªãŒã¹ã¯Python2ããµããŒãããªããªããŸã
[æ å ±] [ãã¡ã¯ããª] 184åã®ã·ã³ãã«ãããŒããããŸãã
[æ å ±] [ç»å]ãããã€ããŒïŒimg_texãimg_ddsãimg_sdl2ãimg_pilãimg_gifïŒimg_ffpyplayerã¯ç¡èŠãããŸãïŒ
[æ å ±] [ãŠã£ã³ããŠ]ãããã€ããŒïŒegl_rpi
- ãµãŒãã¹ã®è¿œå ã«å€±æããŸãã-ãã§ã«äœ¿çšãããŠããŸããïŒ
ããã«ã¡ã¯@ diamond2nv ãCLIããkivyãå®è¡ã§ããŸããïŒ
@elisandromç§ã®ã³ã¡ã³ããã芧ãã ããïŒ https ïŒ
@elisandromç§ã®ã³ã¡ã³ããã芧ãã ããïŒ ïŒ6474ïŒã³ã¡ã³ãïŒ
ããããšã ïŒïŒïŒïŒïŒïŒ å®ç§ã«åäœããŸã!!!
èå³ã®ããæ¹ã¯ãã¯ãã¹ã³ã³ãã€ã«ããããã€ãŒã«ãhttps://github.com/kivy/kivy/suites/364981942/artifacts/751103ããããŠã³ããŒãã§ã
ãã¹ãŠã®äŸåé¢ä¿ãã€ã³ã¹ããŒã«ããæ¹æ³ã«ã€ããŠã¯ã次ã®æé ã«åŸã£ãŠãã ããïŒ https ïŒ
pip install Kivy-2.0.0.dev0-cp37-cp37m-linux_armv7l.whl
æ°äººã§ããããã¹ãããŠããããïŒ6568ãããŒãžã§ãããšããã§ããã
@Lauszusãã®ãã€ãŒã«ã®KivyããŒãžã§ã³ã確èªã§ããŸããïŒ ãã€ãŒã«ã®ã¿ã€ãã«ãã2.0.0.dev0ã§ãããšæ³å®ããå¿ èŠããããŸãã äœãå ¥ã£ãŠããã®ãããããããŸããã ãã ããä»®æ³ç°å¢ã«ã¯Python3ãå¿ èŠã ãšæããŸãã
@OutsourcedGuruã¯ãããã®éãã§ãã åºæ¬çã«ã¯ãïŒ6568ã§ã³ãããããããã¹ã¿ãŒãã©ã³ãã«ãããŸããã ãã«ããããã¢ã¯ã·ã§ã³ã¯æ¬¡ã®ãšããã§ãïŒ https ïŒ
ã¯ãããã¹ã¿ãŒã®æšæºã§ããPython3.7ãå¿ èŠã§ãã ã°ããŒãã«ã«ã€ã³ã¹ããŒã«ããããšããä»®æ³ç°å¢ã«ã€ã³ã¹ããŒã«ããããšãã§ããŸããããã¯ããªã次第ã§ãã
äœããã®äŸ¡å€ã®ããã«ãç§ã¯ã€ã³ã¹ããŒã«ãããRaspbian Liteã®äžã®Python 3 + Kivy 1.11.1ã«ç§ã®çç£ãã©ãããã©ãŒã ãã¢ããã°ã¬ãŒãããããã«ç®¡çããŠããŸããnodm
å¶éãããXãŠã£ã³ããŠãäžã«èŠãããããã«ãµããŒãããŠããŸãã Pi4Bã§ã¯æåŸ
ã©ããã«åäœããŸãã ã€ã³ã¹ããŒã«ã¯ãä»®æ³ç°å¢ã§ã¯åçŽã«pip install kivy==1.11.1
ãã
sudo apt-get -y install xserver-xorg libpam0g-dev help2man libx11-dev debhelper
https://github.com/kivy/kivy/issues/6474#issuecomment -542679712ãèãããšããããŸã§ã®Raspberry Pi4ã§ã®å¯äžã®è§£æ±ºçã¯X11ã䜿çšããããšã§ããããã§ãã 以åã®RPisã«ãã£ããããªéXãã¬ãŒã ãããã¡ã®ãµããŒãã¯ãããããŸãããïŒ ãããžã§ã¯ããRaspberryPi 3B +ããRaspberryPi 4ã«ã¢ããã°ã¬ãŒãããããšããŠããŸããã衚瀺ããããã ãã«X11ã®ã€ã³ã¹ããŒã«ãéå§ããããããŸããã
@whitelynx Raspberry Pi 4ã§Xãªãã§SDL2ãã³ã³ãã€ã«ããŠã¿ãŸãããããŠã£ã³ããŠãèŠã€ãããªããšäžå¹³ãèšãç¶ããŸããïŒ https ïŒ//github.com/kivy/kivy/pull/6662#issuecomment-573423540ã ãããŸã§ã®ãšãããnodmã®ãããªãŠã£ã³ããŠãããŒãžã£ãŒã䜿çšããå Žåã«ã®ã¿æ©èœãããããšãã§ããŸãã
Xãªãã§rpi4ã«openglesãŠã£ã³ããŠãäœæããã³ãŒãäŸã次ã«ç€ºããŸãã
https://github.com/matusnovak/rpi-opengl-without-x/blob/master/triangle_rpi4.c
https://www.raspberrypi.org/forums/viewtopic.php?t=243707#p1499181
ããã€ãã®åæ§ã®ã³ãŒãã䜿çšããŠãkivyãŠã£ã³ããŠãæç»ããããšã¯å¯èœã§ããïŒ
æåã®äŸã§ã¯gl2.hãåã蟌ãŸããããšã«æ³šæããŠãã ããã ç§ã®ç¥ãéããPi4Bã¯gl3ã䜿çšããŠããŸãã
ç§ã¯rpi4bã§äž¡æ¹ããã¹ãããŸããããåé¡ãªãåäœããŸããã æåã®äŸã¯rawãã¡ã€ã«ã«æžã蟌ã¿ãè¡384ã®ã³ã¡ã³ããå€ãããšã§ç»é¢äžã«äžè§åœ¢ã衚瀺ã§ããŸãã
@Lauszus X11ãªãã§SDL2ãå®è¡ããŠãããšãã«ãŠã£ã³ããŠãèŠã€ãããªããšããåé¡ã¯ãSDL2ã®ãŠã£ã³ããŠäœæã³ãŒãããŠã£ã³ããŠã«8ã€ã®ã¢ã«ãã¡ããããæå®ããŠããããã§ãã kivy.core.window._window_sdl2.pyxã§ã¢ã«ãã¡ãããã0ã«å€æŽãããŠããå Žåã¯ãæ©èœããŸãã
@ddimensiaå€æŽããŠã¿ãŸãã
138ïŒ SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8)
ã«
138ïŒ SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 0)
ãããããŠã£ã³ããŠãäœæããããšãããšãåããšã©ãŒãçºçããŸãã
[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: Could not initialize EGL
File "/usr/local/lib/python2.7/dist-packages/Kivy-1.11.0-py2.7-linux-armv7l.egg/kivy/core/__init__.py", line 71, in core_select_lib
cls = cls()
File "/usr/local/lib/python2.7/dist-packages/Kivy-1.11.0-py2.7-linux-armv7l.egg/kivy/core/window/window_sdl2.py", line 152, in __init__
super(WindowSDL, self).__init__()
File "/usr/local/lib/python2.7/dist-packages/Kivy-1.11.0-py2.7-linux-armv7l.egg/kivy/core/window/__init__.py", line 969, in __init__
self.create_window()
File "/usr/local/lib/python2.7/dist-packages/Kivy-1.11.0-py2.7-linux-armv7l.egg/kivy/core/window/window_sdl2.py", line 289, in create_window
self.fullscreen, resizable, state)
File "kivy/core/window/_window_sdl2.pyx", line 225, in kivy.core.window._window_sdl2._WindowSDL2Storage.setup_window
File "kivy/core/window/_window_sdl2.pyx", line 75, in kivy.core.window._window_sdl2._WindowSDL2Storage.die
Xãªãã§sdl2 + kivyãrpi4ã§åäœãããããã«å¿ èŠãªãã¹ãŠã®å€æŽãå«ããªããžããªã¯ãããŸããïŒ
ç§ã¯åºæ¬çã«ãæå°èŠä»¶ã§SDL2ïŒhttps://github.com/midwan/amiberry/wiki/Compile-SDL2-from-sourceïŒãã³ã³ãã€ã«ããããã®Amiberryã®æ瀺ã«åŸãããœãŒã¹ããSDL2_mixerãã³ã³ãã€ã«ããŸãã mp3ãflacãªã©ã®ãµããŒããå¿
èŠã§ãã 次ã«ã_window_sdl2.pyxãã¡ã€ã«ã®Alphaãããã0ã«å€æŽããŸããã æåŸã«ãsetup.pyãå€æŽããŠuse_x11ãFalseã«åŒ·å¶ãïŒ1ã€ã®å Žæã§Trueã«èšå®ïŒã export VIDEOCOREMESA=1
ãå®è¡ããŠããpip install .
ã ããã ãã ãšæããŸãã ãã¹ãŠã®SDL2ã©ã€ãã©ãªãã³ã³ãã€ã«ãããšãã«ç§ãç°ãªã£ãããšã®1ã€ã¯ãconfigureãå®è¡ãããšãã«ãåŒæ°ã«--prefix=/usr
ãè¿œå ããŠã/ usr / local / libã§ã¯ãªãéåžžã®å Žæã«ã©ã€ãã©ãªãã€ã³ã¹ããŒã«ããããšã§ãã
@ddimensiaããããšãããããŸãïŒ ããã¯ããŸããããŸãã:)
@ddimensiaå€æŽãå ããŠPRãéããŸããïŒ https ïŒ
@ddimensia VIDEOCOREMESA=1
ã¯å¿
èŠãªãã£ãã®ã§ãçç¥ããŸããã
@Lauszusããã«ã¡ã¯ãŸã仲éã
https://hub.docker.com/u/lauszusã§ããªãã®kivyã³ã³ãããèŠã€ããŸãã
ã³ã³ããã®äžã§ãããŒãèµ°ãããŠãæ£ããæ¹åã«åããŠãããªãããšæã£ãŠããŸããã
ã€ãŸããæ£åžžã«åäœããã¿ããã¹ã¯ãªãŒã³ã«è¡šç€ºãããŸãã
ããããç§ãäœãããŠããã³ã³ããå
ã§ã¿ããã¹ã¯ãªãŒã³ãæ©èœãããããšã¯ã§ããŸããã
ããã«ã€ããŠäœãç¥ã£ãŠããŸããïŒ
åãã£ãŠæè¬ããŸãã
也æ¯
@lucasnzoneã¯ããã«ããé«éåããããã«Kivyã®ã¯ãã¹ã³ã³ãã€ã«ãå®éšãããšãã«äœ¿çšããå€ãã³ã³ãããŒã§ãã ç§ã¯å®éã«Kivyãcontrainerå ã§å®è¡ããããšã¯ãªããã³ã³ãã€ã«ã«äœ¿çšããã ãã§ãã
ãšã«ãããã¯ã€ãã¯æ€çŽ¢ã¯ãã³ã³ãããå®è¡ãããšãã«--device
åŒæ°ã䜿çšããŠå¯èœã§ããã¯ãã ãšæããŠãããŸãã
--device /dev/input/event0
ã¿ããã¹ã¯ãªãŒã³ãã³ã³ããã«è¿œå ããå¿ èŠããããŸãã
åç §ïŒ https ïŒ
@Lauszusã¡ãã£ãšä»²éãããªãã®çããããããšãã
ããã¯ç§ã®dockerrunã³ãã³ãã«ãããŸã--privileged --net host --device /dev/gpiomem:/dev/gpiomem --device /dev/ttyAMA0:/dev/ttyAMA0 -v /boot/overlay:/boot/overlay
--device /dev/input/event0
ãè¿œå ããŠãã¹ãããŸãã
ããããããã§ãéã¯ãããŸããã
ã³ã³ãããäžç·ã«è©Šãã®ããããããããšããŠããŸãã kivyãµã³ãã«ãåäœãããããšããã§ããŸããã
--privileged
ã§ã³ã³ãããå®è¡ããŠããã®ã§ãããéããããŸããã
ããã¯Dockeræ§æã®åé¡ã§ããããããšãKivyæ§æã®åé¡ã§ããïŒ
ç§ã¯æ£çŽã«è¿·ã£ãŠããŸããç§ã¯ããã«äžé±éãè²»ãããŸããããããŠãããç解ããããšãã§ããŸããã§ããã
è¿ä¿¡çžæã«ããäžåºŠæè¬ããŸããæ¬åœã«æè¬ããŠããŸã
ã¿ããã¹ã¯ãªãŒã³ãå®éã«/dev/input/event0
ããšã確èªããŸãããïŒ
äŸãããã£ãŠããã ããªã®ã«ããªãã³ã³ããã§å®è¡ãããã®ã§ããïŒ Pythonä»®æ³ç°å¢ã䜿çšããããã±ãŒãžç®¡çïŒ apt
ãªã©ïŒã䜿çšããŠOSã«å¿
èŠãªäŸåé¢ä¿ãã€ã³ã¹ããŒã«ããã ãã§ãã
@lucasnzone Raspberry PiãŸãã¯ä»ã®ãã©ãããã©ãŒã ã䜿çšããŠãããã©ãããå°ããã®ãå¿ããŸãããïŒ ãŸããã©ã®OSã䜿çšããŠããŸããïŒ
@ LauszusRPI4ãšã©ãºãã¢ã³ã©ã€ã
ããããããç§ã¯ã³ã³ããã§å®è¡ãããå®éã®ã¢ããªãæã£ãŠããŸããããã¯é
åžãšããŒãžã§ã³ç®¡çããã£ãšç°¡åã«ããããã§ãã
äŸãè©ŠããŠã¿ãŸãããããããæ©èœããããšãkivyã¢ããªã§ãåãããšãã§ããããã§ãã
ã¿ããã¹ã¯ãªãŒã³ã/ dev / inputã«ããããã€ã¹ã確èªããã«ã¯ã©ãããã°ããã§ããïŒ ç§ã¯ãããããŠããŸãã
@lucasnzoneãããç§ã®ã·ã¹ãã ã®åºåã§ãïŒ
$ cat /proc/bus/input/devices | grep -P '^[NH]: ' | paste - -
N: Name="eGalax Inc. eGalaxTouch EXC3110-3883-08.00.00" H: Handlers=mouse0 event0
ããã¯ãã¿ããã¹ã¯ãªãŒã³ã/dev/input/event0
ããšãæå³ããŸãã
ãããç§ã®ãã®ã¯ã€ãã³ãã§ã-åæ§ã«N: Name="ADS7846 Touchscreen" H: Handlers=mouse0 event0
ããã£ãã ã¢ããªã¯ã³ã³ããã®å€åŽã®ã¿ããã¹ã¯ãªãŒã³ã§åäœããŸããïŒ
@Lauszus
ã¯ãã Kivy-2.0.0rc1-cp37-cp37m-linux_armv7l.whl
ãã€ãŒã«ã§ãããŸãã
ããšããšã¯broadcomãã©ã€ããŒã䜿çšããªããã©ãŒã¯ã§
ããã£ãã ã©ã®ãããªãšã©ãŒãçºçããŠããŸããïŒ /dev/input/event0
ã§ããïŒ ã³ã³ããå
ã«ããã€ã¹ããããŸããïŒ
ã¯ã@Lauszus
ã³ã³ããå
ã«crw-rw---- 1 root i2c 13, 64 Mar 12 22:56 event0
ãšcrw-rw---- 1 root i2c 13, 64 Mar 12 22:56 mouse0
ããããŸã
åºåãã€ãŸãcat /dev/input/event0
ãã£ããããããã«ããŠãã ããã ç»é¢ãã¿ãããããšäœãå°å·ãããŸããïŒ
@Lauszusããã¯ãã©ã³ãã ãªæå
ä»ãç§ã¯ä»¥åãããæ··ä¹±ããŠããŸã
ã¹ãŒããŒã¯ãã³ã³ãããå ¥åãååŸããŠããããšãæå³ããŸãã ããªããèŠãŠããã®ã¯çã®ãã€ãã¹ããªãŒã ãªã®ã§ãããã¯ããªãã«ã¯æå³ããããŸããã ãšã«ãããããã¯ããªãã®Kivyèšå®ã®äœããæ£ãããªãããšãæå³ããŸãã
ãã®Cã³ãŒããã³ã³ãã€ã«ããŠå®è¡ããŠã¿ãŠãã ããïŒç»é¢ã®ãããã°ã«äœ¿çšããå€ãã³ãŒãã§ãïŒã
#include <stdio.h>
#include <linux/input.h>
#include <signal.h>
#include <fcntl.h>
#include <unistd.h>
static volatile sig_atomic_t run = 1;
void sigint(int sig) {
run = 0;
}
int main() {
signal(SIGINT, sigint);
int fd = open("/dev/input/event0", /*O_NONBLOCK |*/ O_RDONLY);
if (fd < 0) {
printf("Failed to open device\n");
return 1;
}
while (run) {
struct input_event ev;
int num_bytes = read(fd, &ev, sizeof(ev));
if (num_bytes != sizeof(ev)) {
printf("Failed to read device\n");
return 1;
}
printf("%u, %u, %u, %u, %d\n", ev.time.tv_sec, ev.time.tv_usec, ev.type, ev.code, ev.value);
}
printf("Closing device\n");
close(fd);
return 0;
}
次ã®ããã«ã³ã³ãã€ã«ããŠå®è¡ã§ããŸãã
gcc touch.c -o touch && ./touch
@Lauszus
ã¿ããããããã€ãã®åºåãååŸããŸãã
1584058230ã998152ã1ã330ã1
1584058230ã998152ã3ã0ã477
1584058230ã998152ã3ã1ã3477
1584058230ã998152ã3ã24ã64790
1584058230ã998152ã0ã0ã0
1584058231ã15687ã1ã330ã0
1584058231ã15687ã3ã24ã0
1584058231ã15687ã0ã0ã0
ããã¯å·Šäžé ã§ã
ããã£ãã ã³ãŒãã®äžçªäžã«ä»¥äžãè¿œå ããŠã¿ãŠãã ããïŒä»ã®ã€ã³ããŒããããäžã«ããããšãéèŠã§ãïŒã
from kivy.config import Config
Config.set('input', 'mtdev_%(name)s', 'probesysfs,provider=mtdev')
ããããŸãããããã¯ãã¢ããªãå®è¡ãããšãã®åºåã§ããããã®ã³ãŒããäžçªäžã«ãããŸãã
[æ
å ±]ãã¬ãŒïŒãã°ã/root/.kivy/logs/kivy_20-03-13_3.txtã«èšé²ããŸã
[æ
å ±] KivyïŒv2.0.0.dev0ãgit-cef99e4ã20191024
[æ
å ±] KivyïŒã/ root / venv-kivy / lib / python3.7 / site-packages / kivy / __ init__.pyãã«ã€ã³ã¹ããŒã«ãããŠããŸã
[æ
å ±] PythonïŒv3.7.3ïŒããã©ã«ãã2019幎4æ3æ¥ã05ïŒ39ïŒ12ïŒ
[GCC 8.2.0]
[æ
å ±] PythonïŒã/ root / venv-kivy / bin / python3ãã®ã€ã³ã¿ããªã¿
[æ
å ±]ãã¡ã¯ããªïŒ184åã®ã·ã³ãã«ãããŒããããŸãã
[æ
å ±]ç»åïŒãããã€ããŒïŒimg_texãimg_ddsãimg_sdl2ãimg_gifïŒimg_pilãimg_ffpyplayerã¯ç¡èŠãããŸãïŒ
[æ
å ±]ããã¹ãïŒãããã€ããŒïŒsdl2
[æ
å ±]ãŠã£ã³ããŠïŒãããã€ããŒïŒsdl2ïŒ['window_egl_rpi']ã¯ç¡èŠãããŸãïŒ
[æ
å ±] GLïŒãOpenGLES2ãã°ã©ãã£ãã¯ã·ã¹ãã ã䜿çš
[æ
å ±] GLïŒããã¯ãšã³ãã䜿çš
[æ
å ±] GLïŒOpenGLããŒãžã§ã³ [æ
å ±] GLïŒOpenGLãã³ã㌠[æ
å ±] GLïŒOpenGLã¬ã³ãã©ãŒ
[æ
å ±] GLïŒOpenGL解æããŒãžã§ã³ïŒ2ã1
[æ
å ±] GLïŒã·ã§ãŒãã£ã³ã°ããŒãžã§ã³
[æ
å ±] GLïŒãã¯ã¹ãã£ã®æ倧ãµã€ãº<4096>
[æ
å ±] GLïŒãã¯ã¹ãã£ã®æ倧åäœ<16>
[æ
å ±]ãŠã£ã³ããŠïŒsdl2å
¥åãããã€ããŒã®èªåè¿œå
[æ
å ±]ãŠã£ã³ããŠïŒä»®æ³ããŒããŒãã¯èš±å¯ãããŠããŸãããã·ã³ã°ã«ã¢ãŒãããããã³ã°ãããŠããŸãã
[æ
å ±]ããŒã¹ïŒã¢ããªã±ãŒã·ã§ã³ã®ã¡ã€ã³ã«ãŒããéå§ããŸã
[æ
å ±] GLïŒNPOTãã¯ã¹ãã£ãµããŒããå©çšå¯èœã§ã
ããã§ãã¿ããã«åå¿ããŸãã
libmtdev1
ããã±ãŒãžãã€ã³ã¹ããŒã«ããŠã¿ãŠãã ããã
確ãã«ã§ããŸããä»ããè©ŠããŠããäžåºŠå®è¡ããŸã
@Lauszusãã§ã«ã€ã³ã¹ããŒã«ãããŠããŸããåãåé¡
@LauszusåäœããŸããïŒ å©ããŠãããŠããããšãïŒ
%(name)s = hidinput,/dev/input/event0
ãã®è¡ã.kivy / config.iniã®[input]
ã»ã¯ã·ã§ã³ã«è¿œå ããŸãã
ããäžåºŠããããšãïŒ
@lucasnzoneãããèããŠçŽ æŽããã:)
ãããèªãã§ãã人ã®ããã«; https://github.com/kivy/kivy/pull/6769ãããŒãžããããããKivyãå€æŽããå¿ èŠã¯ãããŸãããããœãŒã¹ããSDL2ãã³ã³ãã€ã«ããå¿ èŠããããŸãã æé ã¯å ¬åŒããã¥ã¡ã³ãã«ãããŸãïŒ https ïŒ
@Lauszus ã
2020-02-13 LiteOSãæèŒãã1GbããŒãžã§ã³ã®Raspberrypi4ã§æ瀺ã«åŸããŸããã ããããããã§ã貎éãªãŠã£ã³ããŠãããã€ããŒãèŠã€ããããšãã§ããŸããã äœãèãã¯ãããŸããïŒ
äžçªã
@ somber02å ¬åŒãµããŒããã£ãã«ïŒäžåãªã©ïŒã§ããã«ãµããŒããäŸé Œããæ¹ãããã§ãããã githubã®åé¡ã¯ããµããŒãã§ã¯ãªããäž»ã«å®éã®ãã°ã«äœ¿çšããããšããå§ãããŸãã
@mathamã®åé¡ã¯ãããã¥ã¡ã³ããçæããCIã¯ãŒã¯ãããŒã«åé¡ããããããWebãµã€ãïŒ https://github.com/kivy/kivy/runs/506000991ïŒã§ã¯æŽæ°ãããªãããš
@ somber02ä»ã®ãšãããããã¥ã¡ã³ãã¯ããã«ãããŸãïŒ https ïŒ
ããããŸãããç§ã®æªããç§ã¯https://github.com/kivy/kivy-server/pull/17ãããŒãžããã®ãå¿ããŸãã
@mathamããããšãã https://github.com/kivy/kivy/pull/6775ãåç §ããŠãã ãããããã«ãããããã¥ã¡ã³ãã®äœæã劚ããããŸãã
@Lauszus ãããã«ã¡ã¯Lauszusã æ瀺ããããšãããããŸãã æŽæ°ãããæ å ±ã§ãªã³ã¯ããã©ããŸããããããã§ãããŠã£ã³ããŠãããã€ããŒãèŠã€ãããŸãããã§å€±æããŸããã ããã³ãsdl2-runtimeErrorãã¯EGLãåæåã§ããŸããã§ããããã¹ãæ¡ä»¶ïŒ
ç§ã¯äœãééã£ãããšãããŠããŸããïŒ
@ somber02ãã¹ã¿ãŒãã©ã³ãããKivyãã³ã³ãã€ã«ããŸãããïŒ äºåã«äœæããããã€ãŒã«ã¯ãŸã æŽæ°ãããŠããªããããããã§ãªãå Žåã¯ããããŠãã ããã
@ somber02ã¯ãaptã䜿çšããŠãããã®äŸåé¢ä¿ãã€ã³ã¹ããŒã«ããŠã¯ãªããªãããšã«ã泚æããŠãã ããã
libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev
èªåã§ã³ã³ãã€ã«ããããŒãžã§ã³ã䜿ãããã®ã§ã
@LauszusããããšãããããŸãã äŸåé¢ä¿ã詳ãã調ã¹ãã«ã³ããŒããŸããããããçç±ã§ããããããšãããããŸãã ãããã®ããã±ãŒãžãåé€ããã³ã³ãã€ã«ãããsdl2ããã±ãŒãžãåã€ã³ã¹ããŒã«ãããšãæ©èœããŸãã
倧å€ãäžè©±ã«ãªããŸããã
@Lauszus ãããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ã§ããããšã確èªã§ããŸãã ããããšãããããŸãã
@Lauszus
aptã䜿çšããŠãããã®äŸåé¢ä¿ãã€ã³ã¹ããŒã«ããªãããã«æ³šæããŠãã ããïŒ
ãã®ãããªKivyã®ã€ã³ã¹ããŒã«æé ã®å ŽåããŠãŒã¶ãŒãsdl2
ã³ã³ãã€ã«ããåã«ãæåã«ãã®çããªã¹ãã«å¯ŸããŠsudo apt-get remove ...
ãŸãã¯sudo apt-get purge ...
ãç©æ¥µçã«å®è¡ããããšãææ¡ããããšãã§ããŸãã ç§ãã¡ã®ã»ãšãã©ã«ãšã£ãŠãç§ãã¡ã¯ãããã以åã®è©Šã¿ãä¿®æ£ããããšããŠããã®ã§ãããã©ã«ãã®ããã±ãŒãžããŒãžã§ã³ãã€ã³ã¹ããŒã«ããŠããã§ãããã
@Lauszusãã°ãããä»äº-ããã«ããããã¹ã¿ãŒã©ã€ãã§kivyãå®è¡ããéã®ãã¹ãŠã®åé¡ã解決ããŸããã
pi 4ã§ãã¹ã¿ãŒã©ã€ãã®ã»ããã¢ãããè¡ã£ãŠããå Žåãã¬ã€ãã«ã¹ããã2ãå®å šã«ã¹ãããããããšèšèŒãããŠããããšãæ確ã«ããããã«ææ¡ã§ããŸããïŒ
ããã«ãæ§æã®ããã«åããå転ã§ããããã«ããããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ãç¶æããããã®åé¿çã¯ãããŸããïŒ ãããæ©èœããããšã確èªã§ããå¯äžã®æ¹æ³ã¯ãx11ã䜿çšããããV3Dãã©ã€ããŒãç¡å¹ã«ããããšã§ãã
Buster liteã䜿çšããŠããå Žåã¯ã @ pwdavariã®æé 2ãã¹ãããããªãã§ãã ãããSDL2ããã±ãŒãžãæŽæ°ãããŠããªãéãããœãŒã¹ããSDL2ãã³ã³ãã€ã«ããå¿ èŠããããŸããïŒ
/boot/cmdline.txt
次ã®ã«ãŒãã«ã³ãã³ããè¿œå ããããšã§ããã£ã¹ãã¬ã€ãå転ãããããšãã§ããŸãã
video=HDMI-A-1:1920x1080M<strong i="9">@60</strong>,margin_left=0,margin_right=0,margin_top=0,margin_bottom=0,rotate=90,reflect_x
åç §ïŒ https ïŒ
Kivyã§ãã£ã¹ãã¬ã€ãå転ãããã ãã®å ŽåïŒ
from kivy.config import Config
Config.set('input', 'mtdev_%(name)s', 'probesysfs,provider=mtdev,param=rotation=90,param=invert_y=1')
@Lauszusè¿ä¿¡ããããšãããããŸã
ããã¥ã¡ã³ãã®ã¹ããã3ãããã®ç¹ãåç §ããŠããŸããã
3. Now simply follow the Raspberry Pi 1-4 installation instructions to install Kivy, but do NOT install the SDL2 packages using apt.
ãœãŒã¹ããsdlããã±ãŒãžããã§ã«ã€ã³ã¹ããŒã«ããŠããŠãããããã®æé -> sudo make installãå®è¡ããŠããå Žåã¯ãéåžžã®Pi 1-4ã»ããã¢ããã®æé 2ãã¹ãããããã ãã§ã¯ãããŸãããïŒ
ãŸãã¯ãæé ã«åŸãå¿ èŠãããããaptã䜿çšããŠã€ã³ã¹ããŒã«ããªãã§ãã ããã
install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev
@Lauszus
ç§ã¯video =ãã©ã¡ãŒã¿ãåãè¡ã«é 眮ããŠããŸããã§ããã ãã¹ãŠã®cmdline.txtãã©ã¡ãŒã¿ãŒ/æ§æã1è¡ã«ããå¿ èŠãããããšãéåžžã«æ確ã«è¿°ã¹ãŠããããšã«æ°ä»ããã®ã¯ãããã¥ã¡ã³ãã«æ»ããŸã§ã¯ãããŸããã§ããã æ°äººã®ééãã
ãååããã ãããããšãããããŸãïŒ
@pwdavariã¯ãããRaspberryPi1-4ã®ã€ã³ã¹ããŒã«ãã®æé 2ãã¹ãããããå¿ èŠããããŸãã
æãåèã«ãªãã³ã¡ã³ã
Busterliteã®èµ·åæã«Kivyã¢ããªãã€ã³ã¹ããŒã«ããŠå®è¡ããæ¹æ³ã®èª¬æã¯æ¬¡ã®ãšããã§ãã
å®éã®ãŠã£ã³ããŠã衚瀺ããããã«å¿ èŠãªã®ã§ãæåã«xserver-orgãã€ã³ã¹ããŒã«ããŸãã
次ã«ããœãŒã¹ããnodmãã€ã³ã¹ããŒã«ããã®ã§ã次ã®ä¿®æ£ãå«ãŸããŠããŸãïŒ https ïŒ
次ã«ãã°ã©ãã£ã«ã«ãã°ã€ã³ãæå¹ã«ããŸãã
nodmãæ§æããèµ·åæã«ã¢ããªãèµ·åããŸãã
ä»®æ³ç°å¢ãã»ããã¢ããããŸãã
Kivyã®äŸåé¢ä¿ãã€ã³ã¹ããŒã«ããŸãïŒ
ããã§ã¯ãKivyãã³ã³ãã€ã«ããŠã€ã³ã¹ããŒã«ããŸãã ãã©ãŒã¯ã«ããããé©çšããŠãããããRaspberry Pi 4ïŒhttps://github.com/Lauszus/kivy/commit/9cdcada34a6149b7fd6bd4c57285afc828d69948ïŒã§å©çšã§ããªãç¬èªã®Broadcomãã©ã€ããŒã䜿çšããŠããªãããšã«æ³šæããŠãã ããã
æåŸã«ãå°ããªãã¹ãã¢ããªãäœæããŸãã
ä»ããåèµ·åããŠã楜ãã¿ãã ãã:)