2
votes

Erreur Kivy: [CRITICAL] [App] Impossible d'obtenir une fenêtre, abandonner

Toutes les solutions que je vois pour cette erreur Kivy ne fonctionnent pas pour moi. Cela fait plus de 2 semaines maintenant et tous mes efforts sont vains. J'utilise python 3.6.4, kivy 1.10.1, pycharm comme mon IDE et Windows 10. voici le code d'erreur et le code lui-même:

Le code:

enter code here"C:\Program Files\Python36-32\python.exe" 
"C:/Users/Sabinus O Ofoleta/Desktop/python/tested.py"
[INFO   ] [Logger      ] Record log in C:\Users\Sabinus O    Ofoleta\.kivy\logs\kivy_19-02-21_4.txt
[INFO   ] [Kivy        ] v1.10.1
 [INFO   ] [Python      ] v3.6.7 (v3.6.7:6ec5cf24b7, Oct      20 2018, 12:45:02) [MSC v.1900 32 bit (Intel)]
 [INFO   ] [Factory     ] 194 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: sdl2
 [INFO   ] [Window      ] Activate GLES2/ANGLE context
 [CRITICAL] [Window      ] Unable to find any valuable  Window provider.
 sdl2 - RuntimeError: b'Could not initialize EGL'
 File "C:\Program Files\Python36-32\Lib\site-packages   \kivy\core\__init__.py", line 67, in core_select_lib
  cls = cls()
 File "C:\Program Files\Python36-32\Lib\site-packages \kivy\core\window\window_sdl2.py", line 140, in __init__
super(WindowSDL, self).__init__()
 File "C:\Program Files\Python36-32\Lib\site-packages\kivy\core\window\__init__.py", line 968, in __init__
self.create_window()
 File "C:\Program Files\Python36-32\Lib\site-packages\kivy\core\window\window_sdl2.py", line 272, in create_window
self.fullscreen,resizable , state)
 File "kivy\core\window\_window_sdl2.pyx", line 209, in kivy.core.window._window_sdl2._WindowSDL2Storage.setup_window
 File "kivy\core\window\_window_sdl2.pyx", line 66, in kivy.core.window._window_sdl2._WindowSDL2Storage.die

 [CRITICAL] [App         ] Unable to get a Window, abort.

 Process finished with exit code 1

L'erreur:

from kivy.core.window import Window
import os
os.environ['KIVY_GL_BACKEND'] = 'angel_sdl2'
from kivy.app import App
from kivy.uix.button import Button

# from kivy import Config
# Config.set('graphics', 'multisamples', '0')

class MyApp(App):
  def build(self):
     return Button(text='Hello world')


if __name__ == '__main__':
   MyApp().run()

Mon ordinateur utilise opengl 1.1 car les autres versions ne sont pas compatibles, j'ai donc décidé d'utiliser 'angel_sdl2'. Merci


0 commentaires

3 Réponses :


2
votes

J'ai du mal à croire qu'un ordinateur capable d'exécuter Windows 10 ne puisse pas exécuter des versions plus récentes d'OpenGL que 1.1, qui a plus de 20 ans, OpenGL ES 2.0 lui-même ayant plus de 10 ans. Ce qui est plus probable, c'est que vous n'avez pas de pilotes pour votre GPU installé. Même pour utiliser angle_sdl2, vous devez faire fonctionner DirectX 11, car l'angle est simplement une implémentation d'OpenGL par-dessus.


9 commentaires

J'ai en fait cherché sur tout le net opengl 2.0 mais je ne l'ai pas trouvé, tout ce que j'ai pu voir était opengl 4.6. En d'autres termes, j'ai utilisé la visionneuse d'extension opengl et dans le rapport graphique, il a mis en évidence uniquement opengl 1.1 avec une puce verte comme pris en charge (compatible) et les autres versions de opengl 1.2 à 4.6 comme non prises en charge. Mais je vais vérifier si DirectX 11 fonctionne réellement. Merci pour la réponse.


Ouais, c'est OpenGL ES 2.0, pour systèmes embarqués , conçu principalement pour des choses comme les appareils Android / iOS, mais également pris en charge sur les ordinateurs de bureau, car c'est un sous-ensemble utile d'OpengGL 3 (afaik, pas un expert dans le Différences d'API entre eux). Utilisez-vous une solution de bureau à distance ou quelque chose? Il n'est pas rare pour eux de rompre le support de l'accélération.


Non, je n'utilise pas de solutions de bureau à distance. Savez-vous s'il existe un moyen d'exécuter sudo apt-get sur Windows, quelqu'un a suggéré cette solution à mon problème ci-dessus. sudo apt-get install \ libsdl2-2.0-0 \ libsdl2-image-2.0-0 \ libsdl2-mixer-2.0-0 \ libsdl2-ttf-2.0-0


pas d'apt-get sur windows, cette solution est de toute façon pour linux, pour windows, l'équivalent est pip install kivy.deps.sdl2


D'ACCORD. Mais j'ai fait pip installer Kivy.deps.sdl2 plusieurs fois maintenant cela ne fonctionne pas. Peut-être devrais-je penser à acheter un nouvel ordinateur portable, pouvez-vous en suggérer un?


Pouvez-vous dire ce que vous avez actuellement, sauf s'il a plus de 10 ans, je doute que le problème soit matériel.


Dell inspiron 1525. Intel Celeron double cœur


Ok, c'est un peu vieux, et son GPU intégré est certainement la cause du problème en.wikipedia. org / wiki / Intel_GMA # GMA_X3100 vous voudrez peut-être essayer sous Linux, car le pilote ici prend en charge OpenGL 2.1, mais je ne suis même pas sûr que cela suffira, alors oui, je vous conseillerais d'obtenir quelque chose, quoi que ce soit , plus récent. C'est un peu difficile de vous dire quoi acheter, n'étant ni un expert en matériel ni conscient de votre budget, mais tout ordinateur portable de moins de 5 ans est un bon pari, au cas où vous n'êtes pas sûr, consultez les spécifications de la carte graphique avant d'acheter, faites assurez-vous qu'il prend en charge au moins OpenGL 3 ou ES 2.0.


Sûr. Merci j'apprécie



0
votes

J'ai trouvé une solution à ce problème; copiez tous les fichiers dans votre C: \ Python27 \ share \ sdl2 \ bin ou quel que soit le chemin qui contient votre dossier sdl2 . Collez ces fichiers dans les dossiers System32 et SysWOW64 .


0 commentaires

2
votes

Même problème sur un ordinateur portable avec Intel GMA 965 et Win10

La raison: le pilote graphique est obsolète, pas de nouvelle version.

La solution ( a fonctionné pour moi ) :

1) Appliquer l'outil par pal1000 https: // github. com / pal1000 / save-legacy-intel-graphics

(plus d'informations sur https://community.khronos.org/t/i-have-opengl- 3-1-mais-kivy-dit-que-je-n'ai-que-1-1 / 103980/6 )

2) Installer les dépendances, comme

from kivy import Config
Config.set('graphics', 'multisamples', '0')

(et définissez la variable système "KIVY_GL_BACKEND" sur "glew", ou ne définissez pas - c'est la valeur par défaut; btw en installant kivy.deps.angle et en définissant "angle_sdl2" ne le faites pas aidez-moi dans ce cas)

3) Ajoutez ceci avant le code python:

python -m pip install --ignore-installed kivy.deps.sdl2 kivy.deps.glew

(de Kivy ne détecte pas OpenGL 2.0 )


0 commentaires