Kivy: Raspberry 3B+์˜ ๋ถ„ํ•  ์˜ค๋ฅ˜

์— ๋งŒ๋“  2018๋…„ 10์›” 22์ผ  ยท  44์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: kivy/kivy

๋ฒ„์ „

  • ํŒŒ์ด์ฌ: 3.5.3
  • OS: ๋ผ์ฆˆ๋น„์•ˆ GNU/๋ฆฌ๋ˆ…์Šค 9.4(ํ™•์žฅ)
  • ํ‚ค๋น„: v1.11.0.dev0, git-916b77b, 20181022
  • Kivy ์„ค์น˜ ๋ฐฉ๋ฒ•: sudo pip3 install git+ https://github.com/kivy/kivy.git@master

์„ค๋ช…

app_with_kv.py ๋ฐ๋ชจ๋ฅผ ์‹คํ–‰ํ•˜๋ ค๊ณ  ํ•˜๋Š”๋ฐ ํ•ญ์ƒ segmentation fault ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ ์—์„œ TFT ํ™”๋ฉด์„ ์‚ฌ์šฉํ•˜๊ณ 

์ฝ”๋“œ ๋ฐ ๋กœ๊ทธ

[INFO   ] [Logger      ] Record log in /home/pi/.kivy/logs/kivy_18-10-22_12.txt
[INFO   ] [Kivy        ] v1.11.0.dev0, git-916b77b, 20181022
[INFO   ] [Python      ] v3.5.3 (default, Sep 27 2018, 17:25:39) 
[GCC 6.3.0 20170516]
[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
[INFO   ] [Window      ] Provider: egl_rpi
[INFO   ] [GL          ] Using the "OpenGL ES 2" graphics system
[INFO   ] [GL          ] Backend used <sdl2>
Segmentation fault
RPi High SDL2 Confirmed

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๊ทธ๊ฒƒ๊ณผ ๋น„์Šทํ•œ ๋ฌธ์ œ๊ฐ€์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์ด์œ ๋กœ ๋ฐฑ์—”๋“œ์— ๋Œ€ํ•ด gl ๋Œ€์‹  sdl2 ๊ฐ€ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ์˜๊ตฌ์ ์ธ ์ˆ˜์ • ์‚ฌํ•ญ์ด ์žˆ๋Š”์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ฐพ์œผ๋ ค๊ณ  ์‹œ๊ฐ„์„ ๋ณด๋‚ธ ํ›„ ๋‚ด๊ฐ€ ์ƒ๊ฐํ•ด๋‚ผ ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ํ•ด๊ฒฐ์ฑ…์€ Kivy๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์ „์— ์•ฑ ์ƒ๋‹จ์— 2์ค„์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

import os
os.environ['KIVY_GL_BACKEND'] = 'gl'
import kivy

๋„์›€์ด ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ํ–‰์šด์„ ๋น•๋‹ˆ๋‹ค!

์ถ”์‹  Windows์—์„œ ์•ฑ์„ ์‹คํ–‰ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ os.environ['KIVY_GL_BACKEND'] = 'gl' ์— ์ฃผ์„์„ ๋‹ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  44 ๋Œ“๊ธ€

๊ทธ๊ฒƒ๊ณผ ๋น„์Šทํ•œ ๋ฌธ์ œ๊ฐ€์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์ด์œ ๋กœ ๋ฐฑ์—”๋“œ์— ๋Œ€ํ•ด gl ๋Œ€์‹  sdl2 ๊ฐ€ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ์˜๊ตฌ์ ์ธ ์ˆ˜์ • ์‚ฌํ•ญ์ด ์žˆ๋Š”์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ฐพ์œผ๋ ค๊ณ  ์‹œ๊ฐ„์„ ๋ณด๋‚ธ ํ›„ ๋‚ด๊ฐ€ ์ƒ๊ฐํ•ด๋‚ผ ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ํ•ด๊ฒฐ์ฑ…์€ Kivy๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์ „์— ์•ฑ ์ƒ๋‹จ์— 2์ค„์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

import os
os.environ['KIVY_GL_BACKEND'] = 'gl'
import kivy

๋„์›€์ด ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ํ–‰์šด์„ ๋น•๋‹ˆ๋‹ค!

์ถ”์‹  Windows์—์„œ ์•ฑ์„ ์‹คํ–‰ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ os.environ['KIVY_GL_BACKEND'] = 'gl' ์— ์ฃผ์„์„ ๋‹ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Zero W์—์„œ ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. @goadik ์˜ ์ œ์•ˆ์— ๋”ฐ๋ผ 3B+๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์ง€๋งŒ Zero์—์„œ๋Š” ์•„์ง ์‹œ๋„ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ @goadik ์˜ ์†”๋ฃจ์…˜์ด ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค! ๋˜ํ•œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋ฌธ์ œ์ด๋ฏ€๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€์ˆ˜๋ฅผ ๊ฐ„๋‹จํžˆ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ์Œ์„ ์ง€์ ํ•ฉ๋‹ˆ๋‹ค.

export KIVY_GL_BACKEND=gl

๊ทธ๋Ÿฐ ๋‹ค์Œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

SDL2๋Š” ์‹ฌ๋ณผ์„ ๋™์ ์œผ๋กœ ์กฐํšŒํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
๋ฌธ์ œ๋ฅผ ์ดํ•ดํ•˜๊ณ  ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด ์—ญ์ถ”์ ์„ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
rpi์šฉ GL ๋ฐฑ์—”๋“œ๋กœ์˜ ์ด๋™์€ ํ”Œ๋žซํผ์— ๋”ฐ๋ผ ๊ตฌํ˜„๋  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ฐจ๋ผ๋ฆฌ ์–ธ๋”๋ ˆ์ด ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

gdb --args python main.py ํ•˜๊ณ  r ๋ฅผ ์ž…๋ ฅํ•œ ๋‹ค์Œ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜๋ฉด bt all . ๋ชจ๋“  ๊ฒƒ์„ ๊ฒŒ์‹œํ•˜์‹ญ์‹œ์˜ค.

๊ดœ์ฐฎ์•„. gdb --args python main.py ๋Œ€ํ•œ ์ถœ๋ ฅ์ž…๋‹ˆ๋‹ค.

GNU gdb (Raspbian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 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 main.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_18-10-27_0.txt
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
[INFO   ] [Kivy        ] v1.11.0.dev0, git-916b77b, 20181022
[INFO   ] [Python      ] v3.5.3 (default, Sep 27 2018, 17:25:39) 
[GCC 6.3.0 20170516]
[INFO   ] [Factory     ] 184 symbols loaded
[DEBUG  ] [App         ] Loading kv <./main.kv>
[DEBUG  ] [App         ] kv <./main.kv> not found
[INFO   ] [Window      ] Provider: egl_rpi
[New Thread 0x74758470 (LWP 973)]
[New Thread 0x73dff470 (LWP 974)]
[New Thread 0x735ff470 (LWP 975)]
[New Thread 0x72dff470 (LWP 976)]
[DEBUG  ] [Window      ] Actual display size: 800x480
[INFO   ] [GL          ] Using the "OpenGL ES 2" graphics system
[DEBUG  ] [GL          ] glActiveTexture is not available
[DEBUG  ] [GL          ] glAttachShader is not available
[DEBUG  ] [GL          ] glBindAttribLocation is not available
[DEBUG  ] [GL          ] glBindBuffer is not available
[DEBUG  ] [GL          ] glBindFramebuffer is not available
[DEBUG  ] [GL          ] glBindRenderbuffer is not available
[DEBUG  ] [GL          ] glBindTexture is not available
[DEBUG  ] [GL          ] glBlendColor is not available
[DEBUG  ] [GL          ] glBlendEquation is not available
[DEBUG  ] [GL          ] glBlendEquationSeparate is not available
[DEBUG  ] [GL          ] glBlendFunc is not available
[DEBUG  ] [GL          ] glBlendFuncSeparate is not available
[DEBUG  ] [GL          ] glBufferData is not available
[DEBUG  ] [GL          ] glBufferSubData is not available
[DEBUG  ] [GL          ] glCheckFramebufferStatus is not available
[DEBUG  ] [GL          ] glClear is not available
[DEBUG  ] [GL          ] glClearColor is not available
[DEBUG  ] [GL          ] glClearStencil is not available
[DEBUG  ] [GL          ] glColorMask is not available
[DEBUG  ] [GL          ] glCompileShader is not available
[DEBUG  ] [GL          ] glCompressedTexImage2D is not available
[DEBUG  ] [GL          ] glCompressedTexSubImage2D is not available
[DEBUG  ] [GL          ] glCopyTexImage2D is not available
[DEBUG  ] [GL          ] glCopyTexSubImage2D is not available
[DEBUG  ] [GL          ] glCreateProgram is not available
[DEBUG  ] [GL          ] glCreateShader is not available
[DEBUG  ] [GL          ] glCullFace is not available
[DEBUG  ] [GL          ] glDeleteBuffers is not available
[DEBUG  ] [GL          ] glDeleteFramebuffers is not available
[DEBUG  ] [GL          ] glDeleteProgram is not available
[DEBUG  ] [GL          ] glDeleteRenderbuffers is not available
[DEBUG  ] [GL          ] glDeleteShader is not available
[DEBUG  ] [GL          ] glDeleteTextures is not available
[DEBUG  ] [GL          ] glDepthFunc is not available
[DEBUG  ] [GL          ] glDepthMask is not available
[DEBUG  ] [GL          ] glDetachShader is not available
[DEBUG  ] [GL          ] glDisable is not available
[DEBUG  ] [GL          ] glDisableVertexAttribArray is not available
[DEBUG  ] [GL          ] glDrawArrays is not available
[DEBUG  ] [GL          ] glDrawElements is not available
[DEBUG  ] [GL          ] glEnable is not available
[DEBUG  ] [GL          ] glEnableVertexAttribArray is not available
[DEBUG  ] [GL          ] glFinish is not available
[DEBUG  ] [GL          ] glFlush is not available
[DEBUG  ] [GL          ] glFramebufferRenderbuffer is not available
[DEBUG  ] [GL          ] glFramebufferTexture2D is not available
[DEBUG  ] [GL          ] glFrontFace is not available
[DEBUG  ] [GL          ] glGenBuffers is not available
[DEBUG  ] [GL          ] glGenerateMipmap is not available
[DEBUG  ] [GL          ] glGenFramebuffers is not available
[DEBUG  ] [GL          ] glGenRenderbuffers is not available
[DEBUG  ] [GL          ] glGenTextures is not available
[DEBUG  ] [GL          ] glGetActiveAttrib is not available
[DEBUG  ] [GL          ] glGetActiveUniform is not available
[DEBUG  ] [GL          ] glGetAttachedShaders is not available
[DEBUG  ] [GL          ] glGetAttribLocation is not available
[DEBUG  ] [GL          ] glGetBooleanv is not available
[DEBUG  ] [GL          ] glGetBufferParameteriv is not available
[DEBUG  ] [GL          ] glGetError is not available
[DEBUG  ] [GL          ] glGetFloatv is not available
[DEBUG  ] [GL          ] glGetFramebufferAttachmentParameteriv is not available
[DEBUG  ] [GL          ] glGetIntegerv is not available
[DEBUG  ] [GL          ] glGetProgramInfoLog is not available
[DEBUG  ] [GL          ] glGetProgramiv is not available
[DEBUG  ] [GL          ] glGetRenderbufferParameteriv is not available
[DEBUG  ] [GL          ] glGetShaderInfoLog is not available
[DEBUG  ] [GL          ] glGetShaderiv is not available
[DEBUG  ] [GL          ] glGetShaderSource is not available
[DEBUG  ] [GL          ] glGetString is not available
[DEBUG  ] [GL          ] glGetTexParameterfv is not available
[DEBUG  ] [GL          ] glGetTexParameteriv is not available
[DEBUG  ] [GL          ] glGetUniformfv is not available
[DEBUG  ] [GL          ] glGetUniformiv is not available
[DEBUG  ] [GL          ] glGetUniformLocation is not available
[DEBUG  ] [GL          ] glGetVertexAttribfv is not available
[DEBUG  ] [GL          ] glGetVertexAttribiv is not available
[DEBUG  ] [GL          ] glHint is not available
[DEBUG  ] [GL          ] glIsBuffer is not available
[DEBUG  ] [GL          ] glIsEnabled is not available
[DEBUG  ] [GL          ] glIsFramebuffer is not available
[DEBUG  ] [GL          ] glIsProgram is not available
[DEBUG  ] [GL          ] glIsRenderbuffer is not available
[DEBUG  ] [GL          ] glIsShader is not available
[DEBUG  ] [GL          ] glIsTexture is not available
[DEBUG  ] [GL          ] glLineWidth is not available
[DEBUG  ] [GL          ] glLinkProgram is not available
[DEBUG  ] [GL          ] glPixelStorei is not available
[DEBUG  ] [GL          ] glPolygonOffset is not available
[DEBUG  ] [GL          ] glReadPixels is not available
[DEBUG  ] [GL          ] glRenderbufferStorage is not available
[DEBUG  ] [GL          ] glSampleCoverage is not available
[DEBUG  ] [GL          ] glScissor is not available
[DEBUG  ] [GL          ] glShaderBinary is not available
[DEBUG  ] [GL          ] glShaderSource is not available
[DEBUG  ] [GL          ] glStencilFunc is not available
[DEBUG  ] [GL          ] glStencilFuncSeparate is not available
[DEBUG  ] [GL          ] glStencilMask is not available
[DEBUG  ] [GL          ] glStencilMaskSeparate is not available
[DEBUG  ] [GL          ] glStencilOp is not available
[DEBUG  ] [GL          ] glStencilOpSeparate is not available
[DEBUG  ] [GL          ] glTexImage2D is not available
[DEBUG  ] [GL          ] glTexParameterf is not available
[DEBUG  ] [GL          ] glTexParameteri is not available
[DEBUG  ] [GL          ] glTexSubImage2D is not available
[DEBUG  ] [GL          ] glUniform1f is not available
[DEBUG  ] [GL          ] glUniform1fv is not available
[DEBUG  ] [GL          ] glUniform1i is not available
[DEBUG  ] [GL          ] glUniform1iv is not available
[DEBUG  ] [GL          ] glUniform2f is not available
[DEBUG  ] [GL          ] glUniform2fv is not available
[DEBUG  ] [GL          ] glUniform2i is not available
[DEBUG  ] [GL          ] glUniform2iv is not available
[DEBUG  ] [GL          ] glUniform3f is not available
[DEBUG  ] [GL          ] glUniform3fv is not available
[DEBUG  ] [GL          ] glUniform3i is not available
[DEBUG  ] [GL          ] glUniform3iv is not available
[DEBUG  ] [GL          ] glUniform4f is not available
[DEBUG  ] [GL          ] glUniform4fv is not available
[DEBUG  ] [GL          ] glUniform4i is not available
[DEBUG  ] [GL          ] glUniform4iv is not available
[DEBUG  ] [GL          ] glUniformMatrix4fv is not available
[DEBUG  ] [GL          ] glUseProgram is not available
[DEBUG  ] [GL          ] glValidateProgram is not available
[DEBUG  ] [GL          ] glVertexAttrib1f is not available
[DEBUG  ] [GL          ] glVertexAttrib2f is not available
[DEBUG  ] [GL          ] glVertexAttrib3f is not available
[DEBUG  ] [GL          ] glVertexAttrib4f is not available
[DEBUG  ] [GL          ] glVertexAttribPointer is not available
[DEBUG  ] [GL          ] glViewport is not available
[INFO   ] [GL          ] Backend used <sdl2>

Thread 1 "python3" received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()

๋˜ํ•œ bt all ๋Š” "ํ˜„์žฌ ์ปจํ…์ŠคํŠธ์—์„œ "๋ชจ๋‘" ๊ธฐํ˜ธ ์—†์Œ"์„ ๋ฐœ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค. ๋ฉ”์‹œ์ง€, ๋‹ค์Œ๊ณผ ๊ฐ™์€ thread apply all bt ์˜ ์ถœ๋ ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

Thread 5 (Thread 0x72dff470 (LWP 976)):
#0  0x76f88014 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, 
    expected=1, futex_word=0x748885ec <cecservice_notify_available_event+24>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
#1  do_futex_wait (sem=sem@entry=0x748885ec <cecservice_notify_available_event+24>, 
    abstime=0x0) at sem_waitcommon.c:115
#2  0x76f88158 in __new_sem_wait_slow (
    sem=0x748885ec <cecservice_notify_available_event+24>, abstime=0x0)
    at sem_waitcommon.c:282
#3  0x7486ec44 in cecservice_notify_func () from /opt/vc/lib/libbcm_host.so
#4  0x747d7cc4 in vcos_thread_entry (arg=0x74888600 <cecservice_notify_task>)
    at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_pthreads.c:144
#5  0x76f7efc4 in start_thread (arg=0x72dff470) at pthread_create.c:335
#6  0x76e0cbc8 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:76
   from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 4 (Thread 0x735ff470 (LWP 975)):
#0  0x76f88014 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, 
    expected=1, futex_word=0x74887864 <tvservice_notify_available_event+24>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
#1  do_futex_wait (sem=sem@entry=0x74887864 <tvservice_notify_available_event+24>, 
    abstime=0x0) at sem_waitcommon.c:115
#2  0x76f88158 in __new_sem_wait_slow (
    sem=0x74887864 <tvservice_notify_available_event+24>, abstime=0x0)
---Type <return> to continue, or q <return> to quit---
    at sem_waitcommon.c:282
#3  0x7486e084 in tvservice_notify_func () from /opt/vc/lib/libbcm_host.so
#4  0x747d7cc4 in vcos_thread_entry (arg=0x74887878 <tvservice_notify_task>)
    at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_pthreads.c:144
#5  0x76f7efc4 in start_thread (arg=0x735ff470) at pthread_create.c:335
#6  0x76e0cbc8 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:76
   from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 3 (Thread 0x73dff470 (LWP 974)):
#0  0x76f88014 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, 
    expected=1, futex_word=0x748886e8 <dispmanx_notify_available_event+24>)
    at ../sysdeps/unix/sysv/linux/futex-internal.h:205
#1  do_futex_wait (sem=sem@entry=0x748886e8 <dispmanx_notify_available_event+24>, 
    abstime=0x0) at sem_waitcommon.c:115
#2  0x76f88158 in __new_sem_wait_slow (
    sem=0x748886e8 <dispmanx_notify_available_event+24>, abstime=0x0)
    at sem_waitcommon.c:282
#3  0x74872150 in dispmanx_notify_func () from /opt/vc/lib/libbcm_host.so
#4  0x747d7cc4 in vcos_thread_entry (arg=0x74889428 <dispmanx_notify_task>)
    at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_pthreads.c:144
#5  0x76f7efc4 in start_thread (arg=0x73dff470) at pthread_create.c:335
#6  0x76e0cbc8 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:76
   from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
---Type <return> to continue, or q <return> to quit---

Thread 2 (Thread 0x74758470 (LWP 973)):
#0  0x76e0580c in ioctl () at ../sysdeps/unix/syscall-template.S:84
#1  0x747f1010 in completion_thread () from /opt/vc/lib/libvchiq_arm.so
#2  0x747d7cc4 in vcos_thread_entry (arg=0x74804318 <vchiq_instance+16>)
    at /home/dc4/projects/staging/userland/interface/vcos/pthreads/vcos_pthreads.c:144
#3  0x76f7efc4 in start_thread (arg=0x74758470) at pthread_create.c:335
#4  0x76e0cbc8 in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:76
   from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 1 (Thread 0x76ff7010 (LWP 967)):
#0  0x00000000 in ?? ()

#1  0x74bb28d0 in __pyx_pf_4kivy_8graphics_6opengl_138glGetString (
    __pyx_self=<optimized out>, __pyx_v_name=<optimized out>)
    at /tmp/pip-bp1kpwjd-build/kivy/graphics/opengl.c:12436
#2  __pyx_pw_4kivy_8graphics_6opengl_139glGetString (__pyx_self=<optimized out>, 
    __pyx_arg_name=<optimized out>)
    at /tmp/pip-bp1kpwjd-build/kivy/graphics/opengl.c:12415
#3  0x000b1df8 in PyEval_EvalFrameEx ()
#4  0x000b1a7c in PyEval_EvalFrameEx ()
#5  0x000b1a7c in PyEval_EvalFrameEx ()
#6  0x001985c8 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

์ž, SDL_GL_GetProcAddress๊ฐ€ ์•„๋ฌด๊ฒƒ๋„ ์ฐพ์„ ์ˆ˜ ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค :(์ด์ œ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค.
opengl์„ ๊ฐ์ง€ํ•˜๊ณ  ๋กœ๋“œํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์‚ฌ์šฉ๋œ ์ฐฝ ๊ณต๊ธ‰์ž์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ์ด ๊ฒฝ์šฐ SDL2๊ฐ€ ์•„๋‹Œ egl_rpi ๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ SDL2 ๊ธฐ๋Šฅ์ด ๋™์ž‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ˆ˜์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์‹ ๊ณ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์—ฌ๊ธฐ์— ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ์ด ์žˆ๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ ์ƒˆ ๋ฒ„์ „์˜ Raspbian๊ณผ ๊ด€๋ จ์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋” ์˜ค๋ž˜๋œ ๊ฒƒ์„ ์‹œ๋„ํ–ˆ๊ณ  (๋‚˜๋Š” ์ด๋ฏธ์ง€๊ฐ€ ์žˆ์Œ) ๋งค๋ ฅ์ฒ˜๋Ÿผ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

์•ฑ ์‹œ์ž‘ ์‹œ ๋ถ„ํ•  ์˜ค๋ฅ˜ ๋ฌธ์ œ๋Š” ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ํ‘œ์‹œํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์€ ๊ทธ๋ž˜ํ”„๋ฅผ ๋กœ๋“œํ•  ๋•Œ๋งˆ๋‹ค ๋™์ผํ•œ ๋ถ„ํ•  ์˜ค๋ฅ˜๋กœ ์ถฉ๋Œํ•ฉ๋‹ˆ๋‹ค.

GDB์˜ ๋ฌธ์ œ๋Š” gdb --args python main.py ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๊ณ  ์ถฉ๋Œ์„ ๋ณต์ œํ•˜๋ ค๊ณ  ํ•˜๋ฉด RPI๊ฐ€ ๋ฉˆ์ถ”๊ณ  ์ด ์‹œ์ ์—์„œ ํ•  ์ผ์€ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ๋ฟ์ด๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•˜๋ฉด ๋น„์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์— ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๊ณ  @goadik ์ฒ˜๋Ÿผ ์ด์ „ ์ด๋ฏธ์ง€(Raspberry3, kivy v1.11.0.dev0, python v3.4.2)์—์„œ kivy ์•ฑ์ด ์ œ๋Œ€๋กœ ์‹คํ–‰๋˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ƒˆ raspbian ๋ฒ„์ „์˜ ๋ฒ„๊ทธ์ผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ๋ฌธ์ œ๋Š” ์—ฌ๊ธฐ์— ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. https://stackoverflow.com/questions/53122908/kivy-opengl-segmentation-fault-on-raspberry

@krrrammbuli

๋‚ด ์ด์ „ ์ด๋ฏธ์ง€(Raspberry3, kivy v1.11.0.dev0, python v3.4.2)์—์„œ kivy ์•ฑ์ด ์ œ๋Œ€๋กœ ์‹คํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์ด์ „ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

RPi Dev's๋Š” ๋ชจ๋“  ์ข…๋ฅ˜์˜ ๊ฒƒ์„ ๊นจ๋œจ๋ฆฌ๋Š” ์ƒˆ๋กœ์šด "์—…๋ฐ์ดํŠธ"๋ฅผ ์ถœ์‹œํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์•…๋ช…์ด ๋†’์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ๋“ค์— ๋Œ€ํ•ด ๋„ˆ๋ฌด ๋งŽ์€ ๋ถˆ์พŒํ•œ ๊ฒฝํ—˜์„ ํ•ด์„œ RPi org์—์„œ ์˜ค๋Š” ๋ชจ๋“  OS ๊ด€๋ จ ์—…๋ฐ์ดํŠธ๋ฅผ ์™„์ „ํžˆ ๋น„ํ™œ์„ฑํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.

@E3V3A

๊ทธ๋ ‡๋‹ค๋ฉด ์ด์ „ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์ตœ์‹  raspbian ์—…๋ฐ์ดํŠธ๋กœ ์ด๋ฏธ ๊ตฌ์„ฑ๋œ RPI๊ฐ€ ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด์ „๊ณผ ๋˜‘๊ฐ™์€ ์ผ์„ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์™œ kivy๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š๋Š”์ง€ ๊ถ๊ธˆํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ด์ „ ์ด๋ฏธ์ง€๋กœ ๋ณ€๊ฒฝํ–ˆ๊ณ  ์ž˜ ์‹คํ–‰๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค!

์ด์ œ๋ถ€ํ„ฐ ๋น ๋ฅธ ์—…๋ฐ์ดํŠธ๋กœ ๋ณด๋‹ตํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค ;)

์•„๋งˆ๋„ ์™„์ „ํžˆ ๊ด€๋ จ์ด ์—†์ง€๋งŒ ๋‚ด๊ฐ€ ํ‹€๋ฆฌ์ง€ ์•Š๋Š” ํ•œ Kivy๋Š” SDL2์— ์˜์กดํ•˜๊ณ  SDL2๋Š” cffi ๋ฐ/๋˜๋Š” Cairo์— ์˜์กดํ•˜๋ฉฐ cffi๋Š” ์•„ํ‚คํ…์ฒ˜์™€ ๋…๋ฆฝ์ ์œผ๋กœ ๊ตฌ์ถ•ํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š” ๋‹ค์Œ pip ํŒจํ‚ค์ง€๋ฅผ ๋งŒ๋‚ฌ์Šต๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ์‹œ๋„ํ•ด ๋ณด์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

# pip3 search cairocffi 
cairotft (0.1.2)   - UI library for small tft screens using cairocffi

@E3V3A
๋‚˜๋Š” ์ด๋ฏธ ์ด์ „ ์ด๋ฏธ์ง€๋กœ ์ „ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฏธ๋ž˜๋ฅผ ์œ„ํ•ด ์•Œ์•„๋‘๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š”

์–ด๋–ค ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์–ด๋””์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ์ญค๋ด๋„ ๋ ๊นŒ์š”? Rpi 3 B+ ๋ฐ kivy 1.11.0.dev0์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

@E3V3A
๋‚˜๋Š” ์ด๋ฏธ ์ด์ „ ์ด๋ฏธ์ง€๋กœ ์ „ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฏธ๋ž˜๋ฅผ ์œ„ํ•ด ์•Œ์•„๋‘๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š”

๋‚˜๋Š” raspbian jessie๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๋งˆ์ง€๋ง‰์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ ์—†์ด 11-6-18์— ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Rpi3, Kivy v1.10.1 ๋ฐ Python 3.4.2
๋‚ด ๋กœ๊ทธ:

[์ •๋ณด] ๋กœ๊ฑฐ: /home/pi/.kivy/logs/kivy_18-11-14_11.txt์— ๋กœ๊ทธ์ธ ๊ธฐ๋ก
[์ •๋ณด] ํ‚ค๋น„: v1.10.1
[์ •๋ณด] Python: v3.4.2(๊ธฐ๋ณธ๊ฐ’, 2014๋…„ 10์›” 19์ผ, 13:31:11)
[GCC 4.9.1]
[์ •๋ณด] KivyMD: KivyMD ๋ฒ„์ „: 0.1.2
[INFO ] ๊ณต์žฅ: 194๊ฐœ์˜ ๊ธฐํ˜ธ๊ฐ€ ๋กœ๋“œ๋จ
[INFO ] ์ด๋ฏธ์ง€: ์ œ๊ณต์ž: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer๋Š” ๋ฌด์‹œ๋จ)
[์ •๋ณด] ์ฐฝ: ์ œ๊ณต์ž: egl_rpi
[INFO ] GL: "OpenGL ES 2" ๊ทธ๋ž˜ํ”ฝ ์‹œ์Šคํ…œ ์‚ฌ์šฉ
[INFO ] GL: ๋ฐฑ์—”๋“œ ์‚ฌ์šฉ
[์ •๋ณด] GL: OpenGL ๋ฒ„์ „ [์ •๋ณด] GL: OpenGL ๊ณต๊ธ‰์—…์ฒด [์ •๋ณด] GL: OpenGL ๋ Œ๋”๋Ÿฌ
[์ •๋ณด] GL: OpenGL ๊ตฌ๋ฌธ ๋ถ„์„ ๋ฒ„์ „: 2, 0
[INFO ] GL: ์Œ์˜ ๋ฒ„์ „
[INFO] GL: ํ…์Šค์ฒ˜ ์ตœ๋Œ€ ํฌ๊ธฐ <2048>
[INFO] GL: ํ…์Šค์ฒ˜ ์ตœ๋Œ€ ๋‹จ์œ„ <8>
[INFO] ์ฐฝ: ๊ฐ€์ƒ ํ‚ค๋ณด๋“œ ํ—ˆ์šฉ, ๋‹ค์ค‘ ์‚ฌ์šฉ์ž ๋ชจ๋“œ, ๋„ํ‚น๋˜์ง€ ์•Š์Œ
[์ •๋ณด] ํ…์ŠคํŠธ: ๊ณต๊ธ‰์ž: sdl2
[INFO] GL: NPOT ํ…์Šค์ฒ˜ ์ง€์›์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
[์ •๋ณด] ํด๋ฆฝ๋ณด๋“œ: ์ œ๊ณต์ž: xclip
[INFO] CutBuffer: ์ปท ๋ฒ„ํผ ์ง€์› ํ™œ์„ฑํ™”
[์ •๋ณด] ProbeSysfs: ์žฅ์น˜ ์ผ์น˜: /dev/input/event0
...

๊ณ ๋งˆ์›Œ, ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค.
๋‚ด๋ณด๋‚ด๊ธฐ KIVY_GL_BACKEND=gl
๊ณ ์ณค๋‹ค.

raspberry pi 3b+์—์„œ ์ •ํ™•ํžˆ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Ubuntu ์ฝ”์–ด ๋˜๋Š” ๋‹ค๋ฅธ raspberry pi 3b+ ์ง€์› OS์— kivy๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋˜ํ•œ ํ‚ค๋น„๋ฅผ ์ž‘๋™์‹œํ‚ค๋ ค๋ฉด ๋ผ์ฆˆ๋ฒ ๋ฆฌ ํŒŒ์ด 3b+์—์„œ ์–ด๋–ค ๋ผ์ฆˆ๋น„์•ˆ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋‚˜์š”?

์ด ๋ฌธ์ œ๋Š” ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค
์ˆ˜์ž… OS ์‚ฌ์šฉ
os.environ['KIVY_GL_BACKEND'] = 'gl'
์ˆ˜์ž… ํ‚ค๋น„
์ผ์‹œ์ ์ธ ํ•ด๊ฒฐ์ฑ…์ผ ๋ฟ

์ด ์Šค๋ ˆ๋“œ์—์„œ ์•„์ง ์–ธ๊ธ‰๋˜์ง€ ์•Š์•˜์ง€๋งŒ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ Raspbian์˜ Lite ๋˜๋Š” PIXEL ๋ฒ„์ „์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๋ จ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

screen shot 2018-12-17 at 8 34 11 am

sdl2 ์—๋Š” X Windows ์ข…์†์„ฑ์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ Raspbian Lite์—๋Š” ๋ถ„๋ช…ํžˆ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ›”์ณ๊ฐ€๋Š”๊ฑด ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ...

import os
os.environ['KIVY_GL_BACKEND'] = 'gl'

...๋‚ด Python ์Šคํฌ๋ฆฝํŠธ ์ƒ๋‹จ์— "Hello, Button" ์•ฑ์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” Stretch Lite ๋ฒ„์ „์„ ์‚ฌ์šฉ ์ค‘์ž…๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋ ค๋ฉด ์–ด๋–ค ๋ฒ„์ „์˜ raspbian์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?
๋‚ด OS๋ฅผ Raspbian Jessie 8.0์œผ๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜๋ ค๊ณ  ํ–ˆ์ง€๋งŒ ๋™์ผํ•œ ์„ธ๊ทธ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค...

์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋ ค๋ฉด ์–ด๋–ค ๋ฒ„์ „์˜ raspbian์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?
๋‚ด OS๋ฅผ Raspbian Jessie 8.0์œผ๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜๋ ค๊ณ  ํ–ˆ์ง€๋งŒ ๋™์ผํ•œ ์„ธ๊ทธ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค...

raspberry pi 3b+์™€ ๋™์ผํ•œ ๋ฌธ์ œ:

์‹œ์ž‘ ํ”„๋กœ๊ทธ๋žจ: /usr/bin/python3 /home/pi/sorbito/main.py
[libthread_db๋ฅผ ์‚ฌ์šฉํ•œ ์Šค๋ ˆ๋“œ ๋””๋ฒ„๊น… ํ™œ์„ฑํ™”]
ํ˜ธ์ŠคํŠธ libthread_db ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ "/lib/arm-linux-gnueabihf/libthread_db.so.1" ์‚ฌ์šฉ.
[์ •๋ณด] [๋กœ๊ฑฐ] /home/pi/.kivy/logs/kivy_19-02-13_3.txt์— ๋กœ๊ทธ์ธ ๊ธฐ๋ก
[์ •๋ณด] [ํ‚ค๋น„] v1.11.0.dev0, git-233cdd1, 20190212
[์ •๋ณด] [ํŒŒ์ด์ฌ] v3.5.3 (๊ธฐ๋ณธ๊ฐ’, 2018๋…„ 9์›” 27์ผ, 17:25:39)
[GCC 6.3.0 20170516]
[INFO] [Factory] 184๊ฐœ์˜ ๊ธฐํ˜ธ๊ฐ€ ๋กœ๋“œ๋จ
[์ •๋ณด] [์ด๋ฏธ์ง€] ๊ณต๊ธ‰์ž: img_tex, img_dds, img_pil, img_gif (img_sdl2, img_ffpyplayer ๋ฌด์‹œ)
[์ •๋ณด] [ํ…์ŠคํŠธ] ๊ณต๊ธ‰์ž: sdl2
[์ •๋ณด] [์ฐฝ] ๊ณต๊ธ‰์ž: egl_rpi
[์ƒˆ ์Šค๋ ˆ๋“œ 0x747ff470(LWP 2420)]
[์ƒˆ ์Šค๋ ˆ๋“œ 0x73dff470(LWP 2421)]
[์ƒˆ ์Šค๋ ˆ๋“œ 0x735ff470(LWP 2422)]
[์ƒˆ ์Šค๋ ˆ๋“œ 0x72dff470(LWP 2423)]
[INFO ] [GL ] "OpenGL ES 2" ๊ทธ๋ž˜ํ”ฝ ์‹œ์Šคํ…œ ์‚ฌ์šฉ
[INFO ] [GL ] ๋ฐฑ์—”๋“œ ์‚ฌ์šฉ

์Šค๋ ˆ๋“œ 1 "python3"์ด ์‹ ํ˜ธ SIGSEGV, ๋ถ„ํ•  ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์‹ ํ–ˆ์Šต๋‹ˆ๋‹ค.
0x00000000 ?? ()

ํ†ต๋‚˜๋ฌด:
[์ •๋ณด] ๋กœ๊ฑฐ: /home/pi/.kivy/logs/kivy_19-02-13_3.txt์— ๋กœ๊ทธ์ธ ๊ธฐ๋ก
[์ •๋ณด] ํ‚ค๋น„: v1.11.0.dev0, git-233cdd1, 20190212
[์ •๋ณด] Python: v3.5.3(๊ธฐ๋ณธ๊ฐ’, 2018๋…„ 9์›” 27์ผ, 17:25:39)
[GCC 6.3.0 20170516]
[INFO ] ๊ณต์žฅ: 184๊ฐœ์˜ ๊ธฐํ˜ธ๊ฐ€ ๋กœ๋“œ๋จ
[INFO ] ์ด๋ฏธ์ง€: ์ œ๊ณต์ž: img_tex, img_dds, img_pil, img_gif (img_sdl2, img_ffpyplayer ๋ฌด์‹œ)
[์ •๋ณด] ํ…์ŠคํŠธ: ๊ณต๊ธ‰์ž: sdl2
[์ •๋ณด] ์ฐฝ: ์ œ๊ณต์ž: egl_rpi
[INFO ] GL: "OpenGL ES 2" ๊ทธ๋ž˜ํ”ฝ ์‹œ์Šคํ…œ ์‚ฌ์šฉ
[INFO ] GL: ๋ฐฑ์—”๋“œ ์‚ฌ์šฉ

์•„์ง๋„ ์ด๊ฒƒ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์ด ์—†์Šต๋‹ˆ๊นŒ?

os.environ['KIVY_GL_BACKEND'] = 'gl'์€ v1.11.0.dev0, git-9ebad2d, 20190516์—์„œ ์ „ํ˜€ ๋„์›€์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ฐ€์ ธ์˜ค๊ธฐ: [์ค‘์š”] [์•ฑ ] ์ฐฝ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ค‘๋‹จ

๊ทธ๋ฆฌ๊ณ  1.10.1๊ณผ ๊ฐ™์€ ์ด์ „ ๋ฒ„์ „์—์„œ๋Š” ํˆฌ๋ช… PNG๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค... ๋ชจ๋“  ํˆฌ๋ช… PNG๋Š” ๊ฒ€์€์ƒ‰ ๋ฐฐ๊ฒฝ์œผ๋กœ ๊ทธ๋ ค์ง‘๋‹ˆ๋‹ค... ๋™์ผํ•œ ์ฝ”๋“œ๋Š” Debian 9์—์„œ ์ž˜ ์ž‘๋™ํ•˜์ง€๋งŒ ...

๊ทธ๋ ‡๋‹ค๋ฉด RPi Stretch-Lite๋Š” ๋‹ค์‹œ๋Š” ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

์ด ์Šค๋ ˆ๋“œ์— ๋Œ€ํ•œ ๋‚ด ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€์„ ๋‹ค์‹œ ์ฝ์œผ์‹ญ์‹œ์˜ค. Raspbian Stretch Lite (2018๋…„ 11์›”)์—์„œ ์ž‘๋™ํ•˜๋ฉฐ ๋‚ด 1.10.1์€ ํˆฌ๋ช…ํ•œ ๋ฐฐ๊ฒฝ์—์„œ ์‚ฌ์šฉํ•˜๋Š” 100๊ฐœ ์ •๋„์˜ PNG ๊ทธ๋ž˜ํ”ฝ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  RPI์—์„œ ์ตœ์‹  ์ŠคํŠธ๋ ˆ์น˜ ๋ผ์ดํŠธ ์„ค์น˜์—์„œ ์ตœ์‹  ์•ˆ์ • ๋ฒ„์ „(1.11.0)์„ ์‚ฌ์šฉํ•˜์—ฌ ๋นŒ๋“œ๋ฅผ ํ™•์ธํ•˜๋ ค๋ฉด ์ด ๋ถ„ํ•  ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. RPI์—์„œ ์‹คํ–‰ํ•˜๋ ค๋ฉด stable-1.10.1์„ ๋นŒ๋“œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 6๊ฐœ์›” ์ด์ƒ ์ฃผ์š” ํ”Œ๋žซํผ์—์„œ ์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ ๋งˆ๊ตฌ๊ฐ„์„ ์™œ ์ถœ์‹œํ•˜๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋˜ํ•œ raspbian lite์˜ raspberry 3 B+์—์„œ ์ด ๋ฌธ์ œ๋ฅผ ๊ฒฝํ—˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€๊ธˆ ์ข‹์€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ Pillow ๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•œ ๋‹ค์Œ KIVY_WINDOW=sdl2 kivy๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ sdl2๊ฐ€ ์‚ฌ์šฉ๋˜๋ฏ€๋กœ gl ๋ฐฑ์—”๋“œ๋ฅผ ์„ค์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. egl_rpi ์ฐฝ ๊ณต๊ธ‰์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด gl ๋ฐฑ์—”๋“œ๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ํ™•์‹คํžˆ ํšŒ๊ท€ ๋ฒ„๊ทธ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด RPI 3B+์— ์„ค์น˜

pip install git+https://github.com/kivy/[email protected]

Segmentation ์˜ค๋ฅ˜๋กœ ๋ Œ๋”๋ง๋˜๋Š” ๋ฐ˜๋ฉด

pip install git+https://github.com/kivy/[email protected]

๋งค๋ ฅ์ฒ˜๋Ÿผ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

ํฌ์ŠคํŠธ ๋ฆด๋ฆฌ์Šค์—์„œ ์ˆ˜์ •ํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค.

2019๋…„ 6์›” 12์ผ ์ˆ˜์š”์ผ ์˜คํ›„ 1์‹œ 11๋ถ„ RafalSkolasinski [email protected]
์ผ๋‹ค:

์ด๊ฒƒ์€ ํ™•์‹คํžˆ ํšŒ๊ท€ ๋ฒ„๊ทธ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด RPI 3B+์— ์„ค์น˜

ํ• ์„ค์น˜ git+ https://github.com/kivy/[email protected]

Segmentation ์˜ค๋ฅ˜๋กœ ๋ Œ๋”๋ง๋˜๋Š” ๋ฐ˜๋ฉด

ํ• ์„ค์น˜ git+ https://github.com/kivy/[email protected]

๋งค๋ ฅ์ฒ˜๋Ÿผ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

โ€”
๋‹น์‹ ์ด ๋Œ“๊ธ€์„ ๋‹ฌ์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/kivy/kivy/issues/6007?email_source=notifications&email_token=AAMRN7T3A2SZJ5OE4QQ63NDP2EU2XA5CNFSM4F6QJQM2YY3PNVWWK3TUL52HS4DFVEXG43VMXW
๋˜๋Š” ์Šค๋ ˆ๋“œ ์Œ์†Œ๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AAMRN7XWDPCYLGW5QREDN3DP2EU2XANCNFSM4F6QJQMQ
.

https://github.com/kivy/kivy/pull/6384 ๋ฅผ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๊ณ  ์ˆ˜๋™์œผ๋กœ ์„ ํƒํ•˜๋Š” ๊ฒฝ์šฐ ์„ธ ๊ฐ€์ง€ ๋ฐฑ์—”๋“œ(์˜ˆ: ์ปดํŒŒ์ผ๋œ ๊ฒฝ์šฐ egl_rpi, sdl2 ๋ฐ x11) ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ค๋Š˜์ด๋‚˜ ๋‚ด์ผ ๋‚˜์ค‘์— ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2019๋…„ 6์›” 13์ผ ๋ชฉ์š”์ผ 22:52 matham, [email protected]์ด ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค:

#6384 https://github.com/kivy/kivy/pull/6384 ๋ฅผ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์ด๊ฒƒ์€
์ˆ˜์ •ํ•˜๊ณ  ์„ ํƒ ์‹œ ์„ธ ๊ฐ€์ง€ ๋ฐฑ์—”๋“œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
์ˆ˜๋™์œผ๋กœ(์˜ˆ: ์ปดํŒŒ์ผ๋œ ๊ฒฝ์šฐ egl_rpi, sdl2 ๋ฐ x11).

โ€”
๋‹น์‹ ์ด ๋Œ“๊ธ€์„ ๋‹ฌ์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/kivy/kivy/issues/6007?email_source=notifications&email_token=ACTL75LVT74IBQJQ4W5QARTP2K6RXA5CNFSM4F6QJQM2YY3PNVWWissues3TUL52HS4DFVREWSG43VMVBW63
๋˜๋Š” ์Šค๋ ˆ๋“œ ์Œ์†Œ๊ฑฐ
https://github.com/notifications/unsubscribe-auth/ACTL75OGYIBPXEVW33B57KLP2K6RXANCNFSM4F6QJQMQ
.

6384 ๋‚ด๋ณด๋‚ด๊ธฐ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์€ raspbian-lite์—์„œ egl_rpi๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

[์ •๋ณด] ๋กœ๊ฑฐ: /home/pi/.kivy/logs/kivy_19-06-14_1.txt์— ๋กœ๊ทธ์ธ ๊ธฐ๋ก
[INFO ] ์ด๋ฏธ์ง€: ์ œ๊ณต์ž: img_tex, img_dds, img_pil, img_gif (img_sdl2, img_ffpyplayer ๋ฌด์‹œ)
[์ •๋ณด] ํ‚ค๋น„: v2.0.0.dev0, git-dccba95, 20190614
[์ •๋ณด] Kivy: "/home/pi/Stuff/kivy-fix/kivy/__init__.py"์— ์„ค์น˜๋จ
[์ •๋ณด] Python: v3.5.3(๊ธฐ๋ณธ๊ฐ’, 2018๋…„ 9์›” 27์ผ, 17:25:39)
[GCC 6.3.0 20170516]
[์ •๋ณด] Python: "/usr/bin/python3"์˜ ์ธํ„ฐํ”„๋ฆฌํ„ฐ
[INFO ] ๊ณต์žฅ: 184๊ฐœ์˜ ๊ธฐํ˜ธ๊ฐ€ ๋กœ๋“œ๋จ
[์ •๋ณด] ํ…์ŠคํŠธ: ๊ณต๊ธ‰์ž: sdl2
[์ •๋ณด] ์ฐฝ: ์ œ๊ณต์ž: egl_rpi
[INFO ] GL: "OpenGL ES 2" ๊ทธ๋ž˜ํ”ฝ ์‹œ์Šคํ…œ ์‚ฌ์šฉ
[INFO ] GL: ๋ฐฑ์—”๋“œ ์‚ฌ์šฉ
[์ •๋ณด] GL: OpenGL ๋ฒ„์ „ [์ •๋ณด] GL: OpenGL ๊ณต๊ธ‰์—…์ฒด [์ •๋ณด] GL: OpenGL ๋ Œ๋”๋Ÿฌ
[์ •๋ณด] GL: OpenGL ๊ตฌ๋ฌธ ๋ถ„์„ ๋ฒ„์ „: 2, 0
[์ •๋ณด] GL: ์Œ์˜ v

์˜ˆ, ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
์ฒ˜์Œ์—๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๊ณ  ๋ช‡ ๊ฐ€์ง€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

[CRITICAL] [Window      ] Unable to find any valuable Window provider.

๊ทธ๋Ÿฌ๋‚˜ pillow ์ถ”๊ฐ€ํ•œ ํ›„ ์ž‘๋™ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.
pillow ๊ฐ€ 1.11 ์ถ”๊ฐ€๋œ ์ƒˆ๋กœ์šด ์ข…์†์„ฑ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๊นŒ?

ํŽธ์ง‘ํ•˜๋‹ค:
์ด ์ˆ˜์ • ์‚ฌํ•ญ์€ 1.11.1 ์ถœ์‹œ๋ฉ๋‹ˆ๊นŒ? ์•Œ ๊ฒ ์–ด์š”

[INFO ] Kivy: v2.0.0.dev0, git-dccba95, 20190614

๋กœ๊ทธ์—.

์ด๊ฒƒ์€ 1.11.0.post0 (https://github.com/kivy/kivy/pull/6357)์˜ ํฌ์ŠคํŠธ ๋ฆด๋ฆฌ์Šค์— ์ฒด๋ฆฌ ์„ ํƒ๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์„ค์น˜ํ•  ๋•Œ 1.11.0์„ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ์ž๋™์œผ๋กœ ๊ณ ์ • ๋ฒ„์ „์„ ์–ป๊ฒŒ ๋ฉ๋‹ˆ๋‹ค(pip๊ฐ€ ์—ฌ๊ธฐ์—์„œ ์˜ฌ๋ฐ”๋ฅธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ณ  1.11.0 ๊ฐ€ ์š”์ฒญ๋  ๋•Œ 1.11.0.post0 ์„ค์น˜ํ•œ๋‹ค๊ณ  ๊ฐ€์ •).

์ผ๋ฐ˜์ ์œผ๋กœ 1.11.1๋กœ ์ด๋™ํ•˜์ง€๋งŒ 2.0.0์œผ๋กœ ์ ํ”„ํ•˜๊ณ  ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์—์„œ Python 2 ์ง€์›๊ณผ ๊ฐ™์€ ์ฃผ์š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Š” ์›Œํฌํ”Œ๋กœ์—์„œ ์ž˜ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋ฆด๋ฆฌ์Šค๋Š” ๋งค์šฐ ๋นจ๋ฆฌ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฒ ๊ฐœ์— ๊ด€ํ•ด์„œ, ๋‚˜๋Š” ๋ฌด์Šจ ์ผ์ธ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. sdl2_image ๊ฐ€ ์ž‘๋™ํ–ˆ์–ด์•ผ ํ–ˆ๋Š”๋ฐ(๊ณผ๊ฑฐ์— ์ž‘๋™ํ–ˆ๋˜ ๊ฒƒ ๊ฐ™์•„์š”?), ์–ด๋–ค ์ด์œ ๋กœ ์ด๋ฏธ์ง€๋ฅผ ๋กœ๋“œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค(PR ํ™˜์˜). ์–ด์จŒ๋“  ๋ฒ ๊ฐœ๋ฅผ ์ข…์†์„ฑ์œผ๋กœ ๋‚˜์—ดํ•˜๋„๋ก ๋ฌธ์„œ๋ฅผ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฒ„๊ทธ ์ˆ˜์ •์ด ํฌํ•จ๋˜์–ด ์žˆ์Œ์ด ๋ถ„๋ช…ํ•˜๋ฏ€๋กœ 1.11.1๋กœ ๊ฐˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜์ž
์šฐ๋ฆฌ๊ฐ€ ์˜ณ์€ ์ผ์„ ํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

2019๋…„ 6์›” 14์ผ ๊ธˆ์š”์ผ 17:11 matham, [email protected]์ด ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค:

์ด๊ฒƒ์€ 1.11.0.post0(#6357
https://github.com/kivy/kivy/pull/6357 ). ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋Œ€์ƒ์„ ์ง€์ •ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด
1.11.0์„ ์„ค์น˜ํ•  ๋•Œ ์ž๋™์œผ๋กœ ๊ณ ์ • ๋ฒ„์ „์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค(๊ฐ€์ •
pip๋Š” ์—ฌ๊ธฐ์—์„œ ์˜ฌ๋ฐ”๋ฅธ ์ผ์„ ํ•˜๊ณ  1.11.0์ด 1.11.0์ผ ๋•Œ 1.11.0.post0์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
์š”์ฒญ).

์ผ๋ฐ˜์ ์œผ๋กœ 1.11.1๋กœ ์ด๋™ํ•˜์ง€๋งŒ ์ด๊ฒƒ์€ ์šฐ๋ฆฌ์˜
์›Œํฌํ”Œ๋กœ, 2.0.0์œผ๋กœ์˜ ๋„์•ฝ๊ณผ ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์—์„œ
ํŒŒ์ด์ฌ 2 ์ง€์›์œผ๋กœ. ์ด ๋ฆด๋ฆฌ์Šค๋Š” ๋งค์šฐ ๋นจ๋ฆฌ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฒ ๊ฐœ์— ๊ด€ํ•ด์„œ, ๋‚˜๋Š” ๋ฌด์Šจ ์ผ์ธ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. sdl2_image๊ฐ€ ์ž‘๋™ํ–ˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
(๊ณผ๊ฑฐ์—๋Š” ์ž‘๋™ํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๊นŒ?) ํ•˜์ง€๋งŒ ์–ด๋–ค ์ด์œ ๋กœ ๋กœ๋“œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
์ด๋ฏธ์ง€. ์ถ”๊ฐ€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค(PR ํ™˜์˜). ์—
์–ด์จŒ๋“  ๋ฒ ๊ฐœ๋ฅผ ์ข…์†์„ฑ์œผ๋กœ ๋‚˜์—ดํ•˜๋„๋ก ๋ฌธ์„œ๋ฅผ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

โ€”
์ด ์Šค๋ ˆ๋“œ์— ๊ฐ€์ž…ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/kivy/kivy/issues/6007?email_source=notifications&email_token=ACTL75LMHH3Q2FDKYW4HTUTP2O7LDA5CNFSM4F6QJQM2YY3PNVWWissueK3TUL52HS4DFVEXG43VMVBW63
๋˜๋Š” ์Šค๋ ˆ๋“œ ์Œ์†Œ๊ฑฐ
https://github.com/notifications/unsubscribe-auth/ACTL75NBY6O6KBPR4QT3LPDP2O7LDANCNFSM4F6QJQMQ
.

1.11.0 ๋ฅผ ์š”์ฒญํ•˜๋ฉด pip๋Š” 1.11.1 ์„ค์น˜ํ•˜์ง€ ์•Š์ง€๋งŒ ์ •ํ™•ํžˆ 1.11.0์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. 1.11 ์š”์ฒญํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

์•„, ์šฐ๋ฆฌ๊ฐ€ "1.11.0"์„ ์š”์ฒญํ•  ๋•Œ ํŒจ์น˜๋œ ".post0"์„ ์„ค์น˜ํ•œ๋‹ค๋Š” ๋œป์ด์—ˆ์Šต๋‹ˆ๋‹ค. :)

2019๋…„ 6์›” 14์ผ ๊ธˆ์š”์ผ 19:29 matham์—์„œ ์•Œ๋ฆผ @github.com์ด ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

1.11.0์„ ์š”์ฒญํ•˜๋ฉด pip๋Š” 1.11.1์„ ์„ค์น˜ํ•˜์ง€ ์•Š๊ณ  1.11.0์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
๋ฐ”๋กœ ๊ทธ๊ฑฐ์ฃ . 1.11์„ ์š”์ฒญํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

โ€”
์ด ์Šค๋ ˆ๋“œ์— ๊ฐ€์ž…ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/kivy/kivy/issues/6007?email_source=notifications&email_token=ACTL75JZDOPPHORTC3LEVZTP2PPPNA5CNFSM4F6QJQM2YY3PNVWWK3TUL52HS4DFVREXG43VMXVBW63LDNMV
๋˜๋Š” ์Šค๋ ˆ๋“œ ์Œ์†Œ๊ฑฐ
https://github.com/notifications/unsubscribe-auth/ACTL75KC3BTJGUQTTBMAHLDP2PPPNANCNFSM4F6QJQMQ
.

์œ„์—์„œ ๋…ผ์˜ํ•œ ๋ฐ”์™€ ๊ฐ™์ด ๊ฒฝ๋กœ์— export KIVY_GL_BACKEND=gl ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์œผ๋ฉฐ ์ด์ œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋˜ ๋‹ค๋ฅธ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
create_window() takes 1 positional argument but 2 were given

์ด ์˜ค๋ฅ˜์—์„œ ์ €๋ฅผ ๋„์™€์ฃผ์„ธ์š”.
๋ผ์ฆˆ๋ฒ ๋ฆฌ ํŒŒ์ด์—์„œ ๋‚ด ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ

sudo python3 main.py
[๊ฒฝ๊ณ ] [๊ตฌ์„ฑ] ์ด์ „ ๊ตฌ์„ฑ ๋ฒ„์ „์ด ๊ฐ์ง€๋˜์—ˆ์Šต๋‹ˆ๋‹ค(14 ๋Œ€์‹  0).
[๊ฒฝ๊ณ ] [๊ตฌ์„ฑ ] ๊ตฌ์„ฑ ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ์ง„ํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค.
[INFO ] [Logger ] /root/.kivy/logs/kivy_19-06-17_0.txt์— ๋กœ๊ทธ์ธ ๊ธฐ๋ก
[์ •๋ณด] [ํ‚ค๋น„] v1.9.1
[์ •๋ณด] [ํŒŒ์ด์ฌ] v3.5.3 (๊ธฐ๋ณธ๊ฐ’, 2018๋…„ 9์›” 27์ผ, 17:25:39)
[GCC 6.3.0 20170516]
[INFO ] [Factory] 179๊ฐœ์˜ ๊ธฐํ˜ธ๊ฐ€ ๋กœ๋“œ๋จ
[์ •๋ณด] [์ด๋ฏธ์ง€] ๊ณต๊ธ‰์ž: img_tex, img_dds, img_gif, img_sdl2, img_pil (img_ffpyplayer ๋ฌด์‹œ)
[์ •๋ณด] [ํ…์ŠคํŠธ] ๊ณต๊ธ‰์ž: sdl2
[์ •๋ณด] [OSC] ์‚ฌ์šฉ์†Œ์ผ“์šฉ
[์ •๋ณด] [์ฐฝ] ๊ณต๊ธ‰์ž: sdl2(['window_egl_rpi'] ๋ฌด์‹œ๋จ)
์˜ค๋ฅ˜: XDG_RUNTIME_DIR์ด ํ™˜๊ฒฝ์— ์„ค์ •๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
[์ค‘์š”] [์ฐฝ] ๊ฐ€์น˜ ์žˆ๋Š” ์ฐฝ ๊ณต๊ธ‰์ž๋ฅผ ์ „ํ˜€ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค!
egl_rpi - ImportError: 'bcm' ์ด๋ฆ„์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
core_select_lib์˜ ํŒŒ์ผ "/usr/lib/python3/dist-packages/kivy/core/__init__.py", 59ํ–‰
fromlist=[๋ชจ๋“ˆ ์ด๋ฆ„], ๋ ˆ๋ฒจ=0)
ํŒŒ์ผ "/usr/lib/python3/dist-packages/kivy/core/window/window_egl_rpi.py", 12ํ–‰,
kivy.lib.vidcore_lite์—์„œ bcm, egl ๊ฐ€์ ธ์˜ค๊ธฐ

sdl2 - ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜: b'์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋น„๋””์˜ค ์žฅ์น˜ ์—†์Œ'
core_select_lib์˜ ํŒŒ์ผ "/usr/lib/python3/dist-packages/kivy/core/__init__.py", 67ํ–‰
cls = cls()
ํŒŒ์ผ "/usr/lib/python3/dist-packages/kivy/core/window/window_sdl2.py", 138ํ–‰, __init__
super(WindowsSDL, self).__init__()
ํŒŒ์ผ "/usr/lib/python3/dist-packages/kivy/core/window/__init__.py", ์ค„ 722, __init__
self.create_window()
create_window์˜ ํŒŒ์ผ "/usr/lib/python3/dist-packages/kivy/core/window/window_sdl2.py", 237ํ–‰
self.fullscreen, ํฌ๊ธฐ ์กฐ์ •, ์ƒํƒœ)
ํŒŒ์ผ "kivy/core/window/_window_sdl2.pyx", ์ค„ 80, kivy.core.window._window_sdl2._WindowSDL2Storage.setup_window(kivy/core/window/_window_sdl2.c:1893)
ํŒŒ์ผ "kivy/core/window/_window_sdl2.pyx", ๋ผ์ธ 55, kivy.core.window._window_sdl2._WindowSDL2Storage.die(kivy/core/window/_window_sdl2.c:1479)

x11 - ImportError: 'kivy.core.window.window_x11'์ด๋ผ๋Š” ๋ชจ๋“ˆ์ด ์—†์Šต๋‹ˆ๋‹ค.
core_select_lib์˜ ํŒŒ์ผ "/usr/lib/python3/dist-packages/kivy/core/__init__.py", 59ํ–‰
fromlist=[๋ชจ๋“ˆ ์ด๋ฆ„], ๋ ˆ๋ฒจ=0)

[์ค‘์š”] [์•ฑ ] ์ฐฝ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ค‘๋‹จํ•˜์‹ญ์‹œ์˜ค.
์˜ˆ์™ธ ๋ฌด์‹œ๋จ: 'kivy.properties.dpi2px'
์—ญ์ถ”์ (๊ฐ€์žฅ ์ตœ๊ทผ ํ˜ธ์ถœ ๋งˆ์ง€๋ง‰):
ํŒŒ์ผ "/usr/lib/python3/dist-packages/kivy/utils.py", 513ํ–‰, __get__
retval = self.func(inst)
ํŒŒ์ผ "/usr/lib/python3/dist-packages/kivy/metrics.py", 175ํ–‰, dpi
EventLoop.ensure_window()
ํŒŒ์ผ "/usr/lib/python3/dist-packages/kivy/base.py", 126ํ–‰,sure_window
sys.exit(1)
์‹œ์Šคํ…œ ์ข…๋ฃŒ: 1
[์ค‘์š”] [์•ฑ ] ์ฐฝ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ค‘๋‹จํ•˜์‹ญ์‹œ์˜ค.

๋ˆ„๊ฐ€ ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋Š”์ง€ ์•Œ๋ ค์ฃผ์„ธ์š”.

@jayeshsingh9767 ๋งˆ์Šคํ„ฐ ๋˜๋Š” ๋งˆ์ง€๋ง‰ ๋ฆด๋ฆฌ์Šค๋กœ ์‹œ๋„ ํ–ˆ์Šต๋‹ˆ๊นŒ? ์ด๊ฒƒ์€ ๋งˆ์Šคํ„ฐ์—์„œ ์ˆ˜์ •๋˜์—ˆ์ง€๋งŒ ์ˆ˜์ • ์‚ฌํ•ญ์ด ํฌํ•จ๋œ ์ƒˆ ๋ฆด๋ฆฌ์Šค๋ฅผ ์•„์ง ๋งŒ๋“ค์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

@harshp1301 ์ด ์˜ค๋ฅ˜๋Š” ์ด ๋ฌธ์ œ์™€ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋˜ํ•œ kivy๊ฐ€ ์•„๋‹Œ ์‹œ์Šคํ…œ์˜ ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ง€์›์„ ์œ„ํ•ด discord์— ๋ฌธ์˜ํ•˜์‹ญ์‹œ์˜ค.

@matham ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ฝ”๋“œ์—์„œ Window.size() ๋ฅผ ์ œ๊ฑฐํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค.
๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด์—์„œ kivy ์•ฑ Window ์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๊ทธ ์ด์œ ๋ฅผ ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?
์ฐธ๊ณ  : Wimdow.size() ๋Š” Ubuntu์—์„œ ์™„๋ฒฝํ•˜๊ฒŒ ์‹คํ–‰๋˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค...

์ด๊ฒƒ์€ ์ด ๋ฌธ์ œ์™€ ๊ด€๋ จ์ด ์—†์œผ๋ฏ€๋กœ ์ด์— ๋Œ€ํ•œ ์ƒˆ ๋ฌธ์ œ๋ฅผ ์—ด โ€‹โ€‹์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ(์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ)? ๊ทธ๋Ÿฌ๋‚˜ egl_rpi ์ฐฝ ๋ฐฑ์—”๋“œ์—์„œ๋Š” ๋ถˆ๊ฐ€๋Šฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. sdl2 ๋ฐฑ์—”๋“œ ๋˜๋Š” x11 ์ฐฝ ๋ฐฑ์—”๋“œ๋กœ ์‹œ๋„ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค(๋‘˜ ๋‹ค ํŒŒ์ด์—์„œ๋„ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค).

์‹ค์ œ raspbian lite os(2020-05-27)์™€ ๋น„์Šทํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. --> ์ฒ˜์Œ ๋กœ๋“œํ•œ ํ›„ ๋ถ„ํ•  ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ 'gl'๋กœ ์ „ํ™˜์„ ์‹œ๋„ํ•œ ๊ฒƒ๋ณด๋‹ค. ๊ทธ ํ›„ ๋‚˜๋Š” ๋‚ด GUI์˜ ๋‚ด์šฉ์ด ์—†๋Š” ํ™”๋ฉด๊ณผ ๊ฒ€์€์ƒ‰ ์ปค์„œ๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.
์ด์ „ raspbian ๋ผ์ดํŠธ๋กœ ๋‹ค์‹œ ์ „ํ™˜ํ•˜๋ฉด Kivy 1.11.1์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์‹ค ์ •ํ™•ํžˆ ์–ด๋–ค ์ฐจ์ด์ ์ด ์žˆ๋Š”์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๋Š” ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค(libs, ํŽŒ์›จ์–ด...?). ์šด ์ข‹๊ฒŒ๋„ ์ด์ „ sd ์นด๋“œ๋ฅผ ๋ฐฑ์—…ํ•˜๊ณ  ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๋Š” GUI์šฉ์œผ๋กœ ๋ณต์›ํ–ˆ์Šต๋‹ˆ๋‹ค.
X11์„ ์„ค์น˜ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค๋Š” ์ด์œ ๋กœ Kivy๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚ด GUI๊ฐ€ ์ฝ˜์†”์—์„œ ์‹คํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค...

@AndreasPantle 1.11.1 ๋ฐ Raspberry PI OS(Raspbian์œผ๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ)์—์„œ ๋™์ผํ•œ ๊ฒฝํ—˜์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 1.10.1 ์—๊ฒŒ ์†Œ์šฉ๋Œ์ด๋ฅผ ์ฃผ๊ณ  ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๋Š”์ง€ ์ง€์ผœ๋ณผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. kivy๋Š” Mission Pinball ๋ฏธ๋””์–ด ์ปจํŠธ๋กค๋Ÿฌ์— ๋Œ€ํ•œ ์ข…์†์„ฑ์ด๋ฏ€๋กœ ๋ฒ„์ „์„ ๋’ค์ง‘๋Š” ์˜ต์…˜์ด ์—†์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰
bleepcoder.com์€ ๊ณต๊ฐœ์ ์œผ๋กœ ๋ผ์ด์„ ์Šค ๋œ GitHub ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ „ ์„ธ๊ณ„ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” GitHub, Inc. ๋˜๋Š” ํ”„๋กœ์ ํŠธ์— GitHub๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž์™€ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์„œ๋ฒ„์—์„œ ๋น„๋””์˜ค ๋‚˜ ์ด๋ฏธ์ง€๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ถŒ๋ฆฌ๋Š” ํ•ด๋‹น ์†Œ์œ ์ž์—๊ฒŒ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ํŽ˜์ด์ง€์˜ ์†Œ์Šค: ์ถœ์ฒ˜

์ธ๊ธฐ์žˆ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด
์ธ๊ธฐ์žˆ๋Š” GitHub ํ”„๋กœ์ ํŠธ
๋” ๋งŽ์€ GitHub ํ”„๋กœ์ ํŠธ

ยฉ 2024 bleepcoder.com - Contact
Made with in the Dominican Republic.
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.