問題描述
我決定在 Kivy 跨平臺上做一些編程,并在我的電腦上成功安裝了 Kivy.問題是當我運行我的代碼時,我得到了這個錯誤:
I have decided to do some programming in Kivy cross platform and installed Kivy on my computer successfully. The problem is that when I run my code, I get this error:
[INFO ] [Kivy ] v1.9.1
[INFO ] [Python ] v3.4.4 (v3.4.4:737efcadf5a6, Dec 20 2015, 20:20:57) [MSC v.1600 64 bit (AMD64)]
[INFO ] [Factory ] 179 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_gif, img_sdl2 (img_pil, img_ffpyplayer ignored)
[INFO ] [OSC ] using <thread> for socket
[INFO ] [Window ] Provider: sdl2
[INFO ] [GL ] GLEW initialization succeeded
[INFO ] [GL ] OpenGL version <b'1.1.0'>
[INFO ] [GL ] OpenGL vendor <b'Microsoft Corporation'>
[INFO ] [GL ] OpenGL renderer <b'GDI Generic'>
[INFO ] [GL ] OpenGL parsed version: 1, 1
[CRITICAL ] [GL ] Minimum required OpenGL version (2.0) NOT found!
OpenGL version detected: 1.1
Version: b'1.1.0'
Vendor: b'Microsoft Corporation'
Renderer: b'GDI Generic'
Try upgrading your graphics drivers and/or your graphics hardware in case of problems.
The application will leave now.
然后彈出這個錯誤框:
我已經(jīng)通過 GPU Caps Viewer 檢查了我的 GPU 的 OpenGL 版本,以驗證我是否達到了 OpenGL 版本 2.1,但 Kivy 不知何故沒有檢測到 OpenGL 2.1,而是默認使用 Microsoft 的 GDI Generic.我在互聯(lián)網(wǎng)上進行了一些研究,發(fā)現(xiàn)解決此問題的最佳方法是從您的顯卡制造商處更新您的顯卡驅(qū)動程序,但這在我的情況下不起作用.
I have checked OpenGL version of my GPU via GPU Caps Viewer verifying me up to OpenGL Version 2.1, but Kivy somehow doesn't detect OpenGL 2.1 and defaults to GDI Generic from Microsoft instead. I did some research on internet and found out that best way to resolve this problem is to update your graphical card's driver from your graphical card manufacturer, but this didn't work in my case.
我已更新我的圖形驅(qū)動程序(我在 64 位 Windows 8 上運行 NVIDIA GeForce GT 435M).
I have updated my graphic drivers (I am running NVIDIA GeForce GT 435M on 64-bit Windows 8).
我的問題是:有沒有辦法讓 Kivy 從 GDI 通用驅(qū)動程序切換到 NVIDIA 驅(qū)動程序?還是其他地方有問題?
My question is: Is there a way to let Kivy switch from GDI Generic driver to NVIDIA driver? Or is there a problem somewhere else?
推薦答案
如果還是有問題,試試這個:
If you still have the problem try this:
import os
os.environ['KIVY_GL_BACKEND'] = 'angle_sdl2'
它對我有用(Windows 10、OpenGL 3.1、Python 3.6).
It worked for me (Windows 10, OpenGL 3.1, Python 3.6).
這篇關于Kivy 不檢測 OpenGL 2.0的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!