Python Kivy OpenGL要求是否适合部署?
我目前正在为我的新项目寻找一个不错的GUI框架,而Kivy看起来相当不错 这里有很多关于Kivy需要OpenGL>2.0(不接受1.4)的问题,以及由此产生的问题。据我所知,提供一个像样的OpenGL版本是图形驱动程序的事情 我关心的是,将我的应用程序部署到具有特定配置的用户时会遇到哪些问题,这些用户不愿意或无法在桌面上使用OpenGL>2.0 首先,在Windows上部署OpenGL不会有问题。。那里有很好的支持 但我特别担心的是,有人(像我一样)在Ubuntu上安装了最新的Nvidia二进制驱动程序(14.4 LTS)。它只是目前最好的车手,有最好的表现(仍然远远优于新伊姆霍) 这个驱动程序只提供OpenGL 1.4,这似乎(或者我错了吗?那太好了)Python Kivy OpenGL要求是否适合部署?,python,opengl,ubuntu,nvidia,kivy,Python,Opengl,Ubuntu,Nvidia,Kivy,我目前正在为我的新项目寻找一个不错的GUI框架,而Kivy看起来相当不错 这里有很多关于Kivy需要OpenGL>2.0(不接受1.4)的问题,以及由此产生的问题。据我所知,提供一个像样的OpenGL版本是图形驱动程序的事情 我关心的是,将我的应用程序部署到具有特定配置的用户时会遇到哪些问题,这些用户不愿意或无法在桌面上使用OpenGL>2.0 首先,在Windows上部署OpenGL不会有问题。。那里有很好的支持 但我特别担心的是,有人(像我一样)在Ubuntu上安装了最新的Nvidia二进制
name of display: :0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: NVIDIA Corporation
server glx version string: 1.4
server glx extensions: [...]
所以我的问题是双重的
我可能错了英伟达二进制驱动程序只支持OpenGL 1.4?< /LI>
root@host:/home/user# apt-cache policy nvidia-331-updates
nvidia-331-updates:
Installed: 331.38-0ubuntu7
Candidate: 331.38-0ubuntu7
Version table:
Nvidia信息:
Version: 331.38
Release Date: 2014.1.13
我真希望我错了
编辑有人说1.4是GLX版本,而不是OpenGL版本。。我现在已经看到了,但我认为它是1.4,因为当我尝试从dist执行一个示例时,我得到了以下错误:
vagrant@ubuntu-14:/usr/local/share/kivy-examples/guide/firstwidget$ python 1_skeleton.py
[WARNING] [Config ] Older configuration version detected (0 instead of 10)
[WARNING] [Config ] Upgrading configuration in progress.
[INFO ] [Logger ] Record log in /home/vagrant/.kivy/logs/kivy_14-06-28_0.txt
[INFO ] Kivy v1.8.1-dev
[INFO ] [Python ] v2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2]
[INFO ] [Factory ] 169 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_pygame, img_gif (img_pil ignored)
[INFO ] [Window ] Provider: pygame(['window_egl_rpi'] ignored)
libGL error: failed to load driver: swrast
[INFO ] [GL ] OpenGL version <1.4 (2.1.2 NVIDIA 331.38)>
[INFO ] [GL ] OpenGL vendor <NVIDIA Corporation>
[INFO ] [GL ] OpenGL renderer <GeForce GTX 770/PCIe/SSE2>
[INFO ] [GL ] OpenGL parsed version: 1, 4
[CRITICAL] [GL ] Minimum required OpenGL version (2.0) NOT found!
OpenGL version detected: 1.4
Version: 1.4 (2.1.2 NVIDIA 331.38)
Vendor: NVIDIA Corporation
Renderer: GeForce GTX 770/PCIe/SSE2
Try upgrading your graphics drivers and/or your graphics hardware in case of problems.
vagrant@ubuntu-14:/usr/local/share/kivy examples/guide/firstwidget$python 1_skeleton.py
[警告][配置]检测到较旧的配置版本(0而不是10)
[警告][配置]正在升级配置。
[INFO][Logger]记录登录/home/vagrant/.kivy/logs/kivy_14-06-28_0.txt
[信息]Kivy v1.8.1-dev
[INFO][Python]v2.7.6(默认,2014年3月22日,22:59:56)
[GCC 4.8.2]
[信息][工厂]加载了169个符号
[信息][图片]提供商:img_-tex、img_-dds、img_-pygame、img_-gif(img_-pil忽略)
[INFO][Window]提供者:pygame(['Window\u egl\u rpi']已忽略)
libGL错误:无法加载驱动程序:swrast
[信息][GL]OpenGL版本
[信息][GL]OpenGL供应商
[INFO][GL]OpenGL渲染器
[信息][GL]OpenGL解析版本:1,4
[关键][GL]未找到所需的最低OpenGL版本(2.0)!
检测到OpenGL版本:1.4
版本:1.4(2.1.2 NVIDIA 331.38)
供应商:英伟达公司
渲染器:GeForce GTX 770/PCIe/SSE2
如果出现问题,请尝试升级图形驱动程序和/或图形硬件。
所以它实际上将我的OpenGL版本解析为1.4
编辑2:从今天(6月28日)起,我在github(master branch)运行Kivy,因此这应该是相当新的;-) 那不是OpenGL版本!这是版本。 AFAIK GLX 1.4是最新版本。您可以使用
glxinfo
命令检查所有版本号。在我的机器上,我得到:
$glxinfo | grep 'GLX version'
GLX version: 1.4
$glxinfo | grep OpenGL
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ironlake Mobile
OpenGL version string: 2.1 Mesa 10.1.3
OpenGL shading language version string: 1.20
OpenGL extensions:
有关更多详细信息,请参见
概要:您不必担心OpenGL 2.0的兼容性。现在几乎所有设备都支持OpenGL 2.0。例如,仅支持OpenGL版本1.1。这是而不是OpenGL版本!这是版本。 AFAIK GLX 1.4是最新版本。您可以使用
glxinfo
命令检查所有版本号。在我的机器上,我得到:
$glxinfo | grep 'GLX version'
GLX version: 1.4
$glxinfo | grep OpenGL
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ironlake Mobile
OpenGL version string: 2.1 Mesa 10.1.3
OpenGL shading language version string: 1.20
OpenGL extensions:
有关更多详细信息,请参见
概要:您不必担心OpenGL 2.0的兼容性。现在几乎所有设备都支持OpenGL 2.0。例如,仅支持OpenGL 1.1版。我以前回答过一个非常类似的问题。答案粘贴在下面以供参考: 对于Kivy,OpenGL 2.0似乎是强制性的 严格来说,Kivy将OpenGLES2.0作为最低要求。这 与OpenGL 2.0不同 问题很简单。在家里,我有三台电脑,其中两台相当旧,带有集成显卡,但没有 支持OpenGL 2.0 这在当今是相当不寻常的。即使是移动设备也几乎拥有所有功能 多年来一直支持它(需要明确的是,“它”是kivy所依赖的opengl es 2特性) 您往往会看到缺少支持的唯一地方是较旧的机器 使用集成图形,就像你的一样,尽管我没有这方面的统计数据 这些是多么普遍。任何带有“适当”图形卡的机器,或 过去几年的集成图形(例如英特尔的集成 与沙桥等),几乎肯定会工作良好 我在较新的机器上看到过偶尔出现的问题,例如一些上网本 特别是支持较差的图形芯片,但这些芯片非常 这在很大程度上是一种例外,而不是常态 编辑:作为参考,谷歌似乎声称 支持OpenGL ES 2(在编写本文时)
总的来说,您(或者使用您的应用程序的任何人)不太可能遇到与此相关的任何问题。我以前回答过一个非常类似的问题。答案粘贴在下面以供参考: 对于Kivy,OpenGL 2.0似乎是强制性的 严格来说,Kivy将OpenGLES2.0作为最低要求。这 与OpenGL 2.0不同 问题很简单。在家里,我有三台电脑,其中两台相当旧,带有集成显卡,但没有 支持OpenGL 2.0 这在当今是相当不寻常的。即使是移动设备也几乎拥有所有功能 多年来一直支持它(需要明确的是,“它”是kivy relie的opengl es 2功能