[CRITICAL] [Window ] Unable to find any valuable Window provider at all!

2,650 views
Skip to first unread message

Jacek Blocki

unread,
Oct 11, 2016, 4:13:31 AM10/11/16
to Kivy users support

I have installed kivy in virtual environment following instructions from https://kivy.org/docs/installation/installation-linux.html. , section Dependencies with SDL2. I understood SDL2 replaces pygame now considered a legacy provider. Unfortunately example touchtracer crashed with the following message


[CRITICAL] [Window ] Unable to find any valuable Window provider at all!

...

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


After pygame installation kivy works fine. I understand SDL2 is supposed to replace pygame, if not the installation guide is misleading

$ uname -a
Linux jb-u16v1 4.4.0-38-generic #57-Ubuntu SMP Tue Sep 6 15:42:33 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ pip list
Cython (0.23)
Kivy (1.9.1)
Kivy-Garden (0.1.4)
Pillow (3.4.0)
pip (8.1.2)
requests (2.11.1)
setuptools (28.2.0)
virtualenv (15.0.3)
wheel (0.30.0a0)

Message has been deleted

Jacek Blocki

unread,
Oct 12, 2016, 3:49:55 AM10/12/16
to Kivy users support
Since neither King's horses nor men came to rescue I did some investigation. It turns out kivy available from Python Package Index (PyPI) does not support SDL2. This is contrary to the official documentation, but that's how installed package is configured. Here is evidence:

# kivy installed in virtualenv descried in original post
pip install kivy
python
>>> kivy.__version__
'1.9.1'
>>> kivy.setupconfig.USE_SDL2
0
>>> import kivy.core.window
[INFO   ] [Factory     ] 179 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_gif, img_pil (img_pygame, img_ffpyplayer ignored)

[CRITICAL] [Window      ] Unable to find any valuable Window provider at all!

Parameter USE_SDL2 drives kivy window provider loading (see kivy.core.window.__init__), set to 0 will not attempt to load SDL2 at all and will go for pygame. I don't know what remaining providers (egl_rp, x11) are good for. Unfortunately changing USE_SDL2 to 1 does not help, since (a part of) SDL2 is missing. One of kivy.core.window.window_sdl2.py imports is:

from kivy.core.window._window_sdl2 import _WindowSDL2Storage

Module _window_sdl2 is not available in PyPI package, however it is included in kivy repository on github. Module _window_sdl2 from repository looks like a serious piece of Cython code dealing with SDL2. Final conclusions:

1. kivy installed via pip install kivy does not support SDL2 and requires pygame
2. kivy downloaded (git clone) from repository and installed in editable mode (pip -e) works with SDL2
3. Official kivy documentation on SDL2 support in 1.9.1 is does not match reality


Matt Bradbury

unread,
Jan 19, 2017, 8:46:47 PM1/19/17
to Kivy users support
Just want to bump this topic since I'm running into the exact same problem.

-Matt

Oon-Ee Ng

unread,
Jan 19, 2017, 11:49:40 PM1/19/17
to kivy-...@googlegroups.com
https://social.technet.microsoft.com/Forums/windowsserver/en-US/c8295ef8-3711-4576-9293-2c4965280165/opengl-and-remote-desktop?forum=winserverTS
explains pretty well what's going on, and a workaround for it.

and a rude-r synopsis is
https://www.opengl.org/discussion_boards/showthread.php/198132-OpenGL-and-Microsoft-Remote-Desktop

My conclusion is that if you want a kivy app running, start it up
automatically on system boot, then interaction should work fine. Or
use something besides RDP.
> --
> You received this message because you are subscribed to the Google Groups
> "Kivy users support" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to kivy-users+...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Matt Bradbury

unread,
Jan 20, 2017, 3:52:41 AM1/20/17
to kivy-...@googlegroups.com
I'm local on an OSX box.

-Matt
> You received this message because you are subscribed to a topic in the Google Groups "Kivy users support" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/kivy-users/RNYdznV-PKY/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to kivy-users+...@googlegroups.com.

Oon-Ee Ng

unread,
Jan 20, 2017, 4:35:53 PM1/20/17
to kivy-...@googlegroups.com
No you're not, you have a virtualized Windows box which you're
accessing over the network. Just because the network is local to your
PC doesn't make the virtualized machine local.

That is to say, you're facing the same situation described in those
links, the computers are just physically (much) closer together.

Matt Bradbury

unread,
Jan 20, 2017, 5:08:06 PM1/20/17
to kivy-...@googlegroups.com
If you're going to call me a liar, please stop responding.

If OSX doesn't support SDL, that would be helpful. If you agree that the documentation that says pygame is deprecated isn't true, that would be helpful.

Be helpful or let someone else respond.

-Matt

qua non

unread,
Jan 21, 2017, 1:53:39 AM1/21/17
to kivy-...@googlegroups.com
USE_SDL2=1 will only work while compiling, installing from pip installs from source for now as we have not provided wheels.

You need to make sure you have sdl2 frameworks and gstreamer frameworks if you are installing through pip. The documentation mentions to either is the pre-built kivy.app or compile by adding the deps either through brew of using official framework packages.

If sdl2 is not available while compiling pygame would be picked up and that is exactly what is happening with you.


>>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>> --
>>> You received this message because you are subscribed to a topic in the Google Groups "Kivy users support" group.
>>> To unsubscribe from this topic, visit https://groups.google.com/d/topic/kivy-users/RNYdznV-PKY/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to kivy-users+unsubscribe@googlegroups.com.

>>> For more options, visit https://groups.google.com/d/optout.
>>
>> --
>> You received this message because you are subscribed to the Google Groups "Kivy users support" group.
>> To unsubscribe from this group and stop receiving emails from it, send an email to kivy-users+unsubscribe@googlegroups.com.

>> For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to a topic in the Google Groups "Kivy users support" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/kivy-users/RNYdznV-PKY/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to kivy-users+unsubscribe@googlegroups.com.

> For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Kivy users support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kivy-users+unsubscribe@googlegroups.com.

Manthan Sharma

unread,
Jan 21, 2017, 3:01:41 AM1/21/17
to Kivy users support
For OSX,

As written in Kivy Documentation 

brew install sdl2 sdl2_image sdl2_ttf sdl2_mixer gstreamer

will install SDL framework for kivy installation but on running kivy setup.

Missing framework /Library/Frameworks/SDL2.framework
Missing framework /Library/Frameworks/SDL2_ttf.framework
Missing framework /Library/Frameworks/SDL2_image.framework
Missing framework /Library/Frameworks/SDL2_mixer.framework

but it try to find framework in /Library/Frameworks and brew install it in /usr/local/Cellar.

So, solution for this problem for now is to manually download from https://www.libsdl.org/projects/ and paste frameworks in /Library/Framework.

>>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>> --
>>> You received this message because you are subscribed to a topic in the Google Groups "Kivy users support" group.
>>> To unsubscribe from this topic, visit https://groups.google.com/d/topic/kivy-users/RNYdznV-PKY/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to kivy-users+...@googlegroups.com.

>>> For more options, visit https://groups.google.com/d/optout.
>>
>> --
>> You received this message because you are subscribed to the Google Groups "Kivy users support" group.
>> To unsubscribe from this group and stop receiving emails from it, send an email to kivy-users+...@googlegroups.com.

>> For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to a topic in the Google Groups "Kivy users support" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/kivy-users/RNYdznV-PKY/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to kivy-users+...@googlegroups.com.

> For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Kivy users support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kivy-users+...@googlegroups.com.

Oon-Ee Ng

unread,
Jan 21, 2017, 3:10:55 PM1/21/17
to kivy-...@googlegroups.com
Then it's no longer the same problem, sorry to say. I assumed 'same
problem' here referred to 'kivy in virtual environment' as with the
OP.
Reply all
Reply to author
Forward
0 new messages