Kivy OpenGL要求对于部署是否可行? [英] Kivy OpenGL requirements feasible for deployment?

查看:223
本文介绍了Kivy OpenGL要求对于部署是否可行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正在为我的新项目寻找一个不错的GUI框架-Kivy看起来还不错.

I'm currently in the process of finding a nice GUI framework for my new project - and Kivy looks quite good.

这里有很多关于Kivy需要OpenGL的问题(例如这个) 2.0(不接受1.4)以及由此引起的问题.据我了解,提供合适的OpenGL版本是 graphics驱动程序.

There are many questions here (like this one) about Kivy requiring OpenGL >2.0 (not accepting 1.4) and problems arising from that. As I understood, it's the graphics drivers thing to provide a decent OpenGL version.

我担心将我的应用程序部署到具有特定配置的用户时会遇到哪些问题,因为他们将不愿意或无法在其桌面上安装OpenGL> 2.0.

I'm concerned what problems I'll have deploying my app to users having a certain configuration, that they will not be willing or able to have OpenGL >2.0 on their desktop.

首先,在Windows上针对OpenGL部署不会有问题.在那里有很好的支持.

First off, deploying on Windows in regard to OpenGL would not be a problem.. Good support there.

但是我特别关心的是像我这样的人,他们安装了Ubuntu(14.4 LTS),带有Ubuntu的最新 Nvidia二进制驱动程序.它只是目前最好的驱动程序,具有最佳的性能(仍然远远优于nouveau IMHO).

But I'm specifially concerned about people (like me) having an Ubuntu installation (14.4 LTS) with the latest Nvidia binary driver from Ubuntu. It's just the best driver currently, having the best performance (still far superior to nouveau IMHO)..

这个驱动程序仅提供OpenGL 1.4似乎(或者我错了?那会很棒)

And it seems (or am I wrong? that would be great) that this driver only provides OpenGL 1.4

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: [...]

所以我的问题有两个方面

So my question is two-fold

  1. 我可能只支持OpenGL 1.4的nvidia二进制驱动程序错了吗?
  2. 如果是的话,这是否会排除能够使用我的Kivy应用程序的用户中具有许多相同配置的所有用户(所有使用Nvidia卡的Ubuntu用户)? 有什么办法可以避免?
  1. I'm I maybe wrong the nvidia binary driver only supporting OpenGL 1.4?
  2. If yes, doesn't that exclude many users having a quite common configuration (all Ubuntu users using Nvidia cards) from people able to use my Kivy application? Any way to circumvent that?

我知道OpenGL 1.4是很老的东西,但是驱动程序是最新的,硬件也是如此(GTX 770,真是个野兽...

I know OpenGL 1.4 is silly old stuff, but the driver is current and the hardware too (GTX 770, quite a beast..)..

已安装的驱动程序:

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执行示例,出现此错误:

EDIT There has been said 1.4 is the GLX version, not the OpenGL version.. I've seen that now - but I thought it's 1.4 because when I try to execute an example from the dist, I get this error:

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.

因此它实际上将我的OpenGL版本解析为1.4.

So it actually parses my OpenGL version as 1.4..

编辑2 :截至今天(6月28日),我正在从github(主分支)运行Kivy,所以应该是相当新的;-)

EDIT 2: I'm running Kivy from github (master branch) as of today (28th june), so that should be fairly new ;-)

推荐答案

我之前回答过一个非常类似的问题,

I've answered a very similar question before, here. The answer is pasted below for reference:

Kivy,OpenGL 2.0似乎是必需的.

Kivy, for which OpenGL 2.0 seems to be mandatory.

严格来说,Kivy的目标是最低要求OpenGL ES 2.0.这 与OpenGL 2.0不同.

Strictly, Kivy targets OpenGL ES 2.0 as the minimum requirement. This is not the same as OpenGL 2.0.

嗯,问题很简单.家里我有三台计算机,其中两台很老,带有集成显卡,但没有 支持OpenGL 2.0.

Well, the question is simple. At home I have three computers of which two are quite old with integrated graphics cards, which do not support OpenGL 2.0.

这在当今很不寻常.甚至移动设备几乎都具有 多年来一直支持它(需要明确说明的是,它是kivy依赖的opengl es 2功能).

This is fairly unusual nowadays. Even mobile devices have almost all supported it for years (where to be clear, 'it' is the opengl es 2 features that kivy relies on).

您只会看到缺少支持的地方是较旧的机器 具有集成的图形(如您的图形),尽管我没有统计数据 这些有多普遍.具有适当"图形卡的任何计算机,或 最近几年的集成显卡(例如,英特尔的集成显卡 使用沙桥等),几乎肯定可以正常工作.

The only places you tend to see lack of support are older machines with integrated graphics, like yours, though I have no statistics on how common these are. Any machine with a 'proper' graphics card, or integrated graphics from the last few years (e.g. intel's integrated with sandy bridge etc.), will almost certainly work fine.

我在较新的机器上偶尔遇到问题,例如一些上网本 带有特别差劲的图形芯片,但是这些非常

I've seen occasional problem in newer machines, e.g. some netbooks with particularly poorly supported graphics chips, but these are very much the exception rather than the norm.

作为参考,Google似乎声称占99.9% 设备 支持OpenGL ES 2(在撰写本文时).

For reference, Google seems to claim that 99.9% of devices support OpenGL ES 2 (at the time of writing).

总体而言,您(或者实际上,使用您的应用程序的任何人)都不太可能与此有关.

Overall, it's extremely unlikely that you (or indeed, anyone who uses your application) would have any problems related to this.

这篇关于Kivy OpenGL要求对于部署是否可行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆