Kivy выдает ошибку Open GL при открытии из windows сервиса - PullRequest
0 голосов
/ 11 апреля 2020

Я пытаюсь открыть приложение Kivy, связанное с помощью pyinstaller, из службы Windows, и оно не открывается, выбрасывает

Обнаружена версия OpenGL: 1.1

Код:

[INFO   ] [Kivy        ] v1.11.1
[INFO   ] [Kivy        ] Installed at "D:\PythonVENV\mist-app\dist\app\kivy\__init__.pyc"
[INFO   ] [Python      ] v3.7.7 (tags/v3.7.7:d7c567b08f, Mar 10 2020, 10:41:24) [MSC v.1900 64 bit (AMD64)]
[INFO   ] [Python      ] Interpreter at "D:\PythonVENV\mist-app\dist\app\app.exe"
[INFO   ] [Factory     ] 184 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
[INFO   ] [Window      ] Provider: sdl2
[INFO   ] [GL          ] Using the "OpenGL" graphics system
[INFO   ] [GL          ] GLEW initialization succeeded
[INFO   ] [GL          ] No framebuffers extension is supported
[INFO   ] [GL          ] Backend used <glew>
[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.

Но дело в том, что мой GPU работает с open gl 4.6

Когда я обычно его выполняю:

[INFO   ] [Logger      ] Record log in C:\Users\wasim\.kivy\logs\kivy_20-04-11_61.txt
[INFO   ] [deps        ] Successfully imported "kivy_deps.angle" 0.1.10
[INFO   ] [deps        ] Successfully imported "kivy_deps.glew" 0.1.12
[INFO   ] [deps        ] Successfully imported "kivy_deps.sdl2" 0.2.0
[INFO   ] [Kivy        ] v1.11.1
[INFO   ] [Kivy        ] Installed at "D:\PythonVENV\mist-app\venv\lib\site-packages\kivy\__init__.py"
[INFO   ] [Python      ] v3.7.7 (tags/v3.7.7:d7c567b08f, Mar 10 2020, 10:41:24) [MSC v.1900 64 bit (AMD64)]
[INFO   ] [Python      ] Interpreter at "D:\PythonVENV\mist-app\venv\Scripts\python.exe"
[INFO   ] [Factory     ] 184 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2, img_pil, img_gif (img_ffpyplayer ignored)
[INFO   ] [Window      ] Provider: sdl2
[INFO   ] [GL          ] Using the "OpenGL" graphics system
[INFO   ] [GL          ] GLEW initialization succeeded
[INFO   ] [GL          ] Backend used <glew>
[INFO   ] [GL          ] OpenGL version <b'4.6.0 NVIDIA 445.75'>
[INFO   ] [GL          ] OpenGL vendor <b'NVIDIA Corporation'>
[INFO   ] [GL          ] OpenGL renderer <b'GeForce GTX 1060 3GB/PCIe/SSE2'>
[INFO   ] [GL          ] OpenGL parsed version: 4, 6
[INFO   ] [GL          ] Shading version <b'4.60 NVIDIA'>
[INFO   ] [GL          ] Texture max size <32768>
[INFO   ] [GL          ] Texture max units <32>
[INFO   ] [Window      ] auto add sdl2 input provider
[INFO   ] [Window      ] virtual keyboard not allowed, single mode, not docked
[INFO   ] [KivyMD      ] v0.104.0
[INFO   ] [Text        ] Provider: sdl2
[INFO   ] [GL          ] NPOT texture support is available
[INFO   ] [Base        ] Start application main loop

Я видел, как многие жалуются об этом, но дело в том, что приложение работает, как и ожидалось, когда оно работает нормально (без службы, открывающей его / автономной).

Я видел, что некоторые упомянутые проблемы меняются на angle_sdl2, но выдает еще одну ошибку, говоря "Ценный windows поставщик не найден ". Я обнаружил, что он использует GL 3.2 вместо 4.6

При включении только sdl выдает ту же ошибку.

1 Ответ

0 голосов
/ 13 апреля 2020

Я наконец-то решил это!

@ Скорее, ты был прав! он действительно работал в другой среде, и изменение среды только не компенсировало работоспособность.

службы работают в совершенно другой среде и ограничивают доступ к интерфейсу рабочего стола зарегистрированного пользователя.

Я попытался объяснить это подробно здесь: Значок Pystray, доступный при запуске в качестве службы

, он работал для меня!

...