在 Kivy Android 虚拟机中安装 kivy 时

Posted

技术标签:

【中文标题】在 Kivy Android 虚拟机中安装 kivy 时【英文标题】:when installing kivy in The Kivy Android Virtual Machine 【发布时间】:2017-09-08 06:16:22 【问题描述】:

我在 Kivy android 虚拟机中安装 Kivy 时遇到问题。如果您不能或建议我在 kivy VM 中,这就是终端帮助我的全部内容。

kivy@kivy-VirtualBox:~/Desktop/work/pygame$ python main.py
[INFO   ] [Logger      ] Record log in /home/kivy/.kivy/logs/kivy_17-04-12_14.txt
[INFO   ] [Kivy        ] v1.9.1
[INFO   ] [Python      ] v2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2]
[INFO   ] [Factory     ] 179 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_gif, img_sdl2, img_pil (img_ffpyplayer ignored)
[INFO   ] [Text        ] Provider: sdl2
[INFO   ] [OSC         ] using <multiprocessing> for socket
[INFO   ] [Window      ] Provider: sdl2(['window_egl_rpi'] ignored)
libGL error: pci id for fd 7: 80ee:beef, driver (null)
OpenGL Warning: glFlushVertexArrayRangeNV not found in mesa table
OpenGL Warning: glVertexArrayRangeNV not found in mesa table
OpenGL Warning: glCombinerInputNV not found in mesa table
OpenGL Warning: glCombinerOutputNV not found in mesa table
OpenGL Warning: glCombinerParameterfNV not found in mesa table
OpenGL Warning: glCombinerParameterfvNV not found in mesa table
OpenGL Warning: glCombinerParameteriNV not found in mesa table
OpenGL Warning: glCombinerParameterivNV not found in mesa table
OpenGL Warning: glFinalCombinerInputNV not found in mesa table
OpenGL Warning: glGetCombinerInputParameterfvNV not found in mesa table
OpenGL Warning: glGetCombinerInputParameterivNV not found in mesa table
OpenGL Warning: glGetCombinerOutputParameterfvNV not found in mesa table
OpenGL Warning: glGetCombinerOutputParameterivNV not found in mesa table
OpenGL Warning: glGetFinalCombinerInputParameterfvNV not found in mesa table
OpenGL Warning: glGetFinalCombinerInputParameterivNV not found in mesa table
OpenGL Warning: glDeleteFencesNV not found in mesa table
OpenGL Warning: glFinishFenceNV not found in mesa table
OpenGL Warning: glGenFencesNV not found in mesa table
OpenGL Warning: glGetFenceivNV not found in mesa table
OpenGL Warning: glIsFenceNV not found in mesa table
OpenGL Warning: glSetFenceNV not found in mesa table
OpenGL Warning: glTestFenceNV not found in mesa table
libGL error: core dri or dri2 extension not found
libGL error: failed to load driver: vboxvideo
[INFO   ] [GL          ] OpenGL version <1.1 Chromium 1.9>
[INFO   ] [GL          ] OpenGL vendor <Humper>
[INFO   ] [GL          ] OpenGL renderer <Chromium>
[INFO   ] [GL          ] OpenGL parsed version: 1, 1
[CRITICAL] [GL          ] Minimum required OpenGL version (2.0) NOT found!

OpenGL version detected: 1.1

Version: 1.1 Chromium 1.9
Vendor: Humper
Renderer: Chromium

Try upgrading your graphics drivers and/or your graphics hardware in case of problems.

The application will leave now.
[INFO   ] [GL          ] Shading version <>
[INFO   ] [GL          ] Texture max size <1024>
[INFO   ] [GL          ] Texture max units <154129232>
[CRITICAL] [Window      ] Unable to find any valuable Window provider at all!
egl_rpi - ImportError: cannot import name bcm
  File "/usr/lib/python2.7/dist-packages/kivy/core/__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)
  File "/usr/lib/python2.7/dist-packages/kivy/core/window/window_egl_rpi.py", line 12, in <module>
    from kivy.lib.vidcore_lite import bcm, egl

sdl2 - Exception: Shader didnt link, check info log.
  File "/usr/lib/python2.7/dist-packages/kivy/core/__init__.py", line 67, in core_select_lib
    cls = cls()
  File "/usr/lib/python2.7/dist-packages/kivy/core/window/window_sdl2.py", line 138, in __init__
    super(WindowSDL, self).__init__()
  File "/usr/lib/python2.7/dist-packages/kivy/core/window/__init__.py", line 722, in __init__
    self.create_window()
  File "/usr/lib/python2.7/dist-packages/kivy/core/window/window_sdl2.py", line 255, in create_window
    super(WindowSDL, self).create_window()
  File "/usr/lib/python2.7/dist-packages/kivy/core/window/__init__.py", line 897, in create_window
    self.render_context = RenderContext()
  File "instructions.pyx", line 750, in kivy.graphics.instructions.RenderContext.__init__ (kivy/graphics/instructions.c:10001)
  File "shader.pyx", line 184, in kivy.graphics.shader.Shader.__init__ (kivy/graphics/shader.c:3742)
  File "shader.pyx", line 687, in kivy.graphics.shader.Shader.vs.__set__ (kivy/graphics/shader.c:9979)
  File "shader.pyx", line 549, in kivy.graphics.shader.Shader.build_vertex (kivy/graphics/shader.c:8218)
  File "shader.pyx", line 579, in kivy.graphics.shader.Shader.link_program (kivy/graphics/shader.c:8596)

x11 - ImportError: No module named window_x11
  File "/usr/lib/python2.7/dist-packages/kivy/core/__init__.py", line 59, in core_select_lib
    fromlist=[modulename], level=0)

[CRITICAL] [App         ] Unable to get a Window, abort.
 Exception SystemExit: 1 in 'kivy.properties.dpi2px' ignored
[CRITICAL] [App         ] Unable to get a Window, abort.
kivy@kivy-VirtualBox:~/Desktop/work/pygame$ 

我安装了pygame 和所有的东西,然后看看这个:

ImportError: cannot import name bcm--------
and this ----------
ImportError: No module named window_x11

【问题讨论】:

【参考方案1】:
[CRITICAL] [GL          ] Minimum required OpenGL version (2.0) NOT found!

这是最重要的错误,它告诉您没有合适的 OpenGL 版本。我设法让 Kivy 在 VM 中工作,但那是在将 Pygame 作为默认提供程序更改为 SDL2 之后,因此我将您指向sdl2 installation。

此外,要使其正常工作,您首先需要在 VirtualBox 中启用 3D 加速,这样 Kivy 才能真正使用 GPU。为此,请参阅3.5 Display Settings 以确保正确。 IIRC,它在SettingsDisplay3D acceleration,但如果他们改变了,请查看手册。

【讨论】:

以上是关于在 Kivy Android 虚拟机中安装 kivy 时的主要内容,如果未能解决你的问题,请参考以下文章

如何在虚拟机中安装CentOS 7系统

在虚拟机中安装vmware tools 提示只能在虚拟机中安装,这个应该怎么解决?

如何在Parallels Desktop中安装Windows 10虚拟机

如何在Vmware虚拟机中安装Wmware Tools工具

在虚拟机中安装 Ubuntu

在 Anaconda 中安装 Kivy