title: kivy fatal error due to OpenGL requirement on windows desktop
body: <p>I have written a windows desktop application using  Python 2.7 and kivy that runs perfectly well from the pyCharm IDE and from the python commandline. After building a distribution package using PyInstaller, running the application from the ..\dist\applicdir\ I get a Kivy Fatal Error: </p>
  
  <p><em>GL:Minimum required OpenGL version (2.0) NOT found!</em></p>
  
  <p>How come? It runs from 2 different angles on the same PC but not from the dist package on the same PC. </p>
  
  <p>Can you explain to me why in the first two situations I do not get the fatal Error?</p>
  
  <pre><code>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; EDIT 1 &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;
  
  [INFO              ] [Logger      ] Record log in ~\.kivy\logs\kivy_16-04-01_99.txt
  [INFO              ] [Kivy        ] v1.9.1
  [INFO              ] [Python      ] v2.7.11 (v2.7.11:6d1b6a68f775, Dec  5 2015,20:32:19) [MSC v.1500 32 bit (Intel)]
  [INFO              ] [Factory     ] 179 symbols loaded
  [INFO              ] [Image       ] Providers: img_tex, img_dds, img_gif, img_sdl2, img_pil (img_ffpyplayer ignored)
  [INFO              ] [OSC         ] using &lt;thread&gt; for socket
  [INFO              ] [Window      ] Provider: sdl2
  [WARNING           ] The 'fake' fullscreen option has been deprecated, use Window.borderless or the borderless Config option instead.
  [INFO              ] [GL          ] GLEW initialization succeeded
  [INFO              ] [GL          ] OpenGL version &lt;4.0.0 - Build 10.18.10.4176&gt;
  
  [INFO              ] [GL          ] OpenGL vendor &lt;Intel&gt;
  [INFO              ] [GL          ] OpenGL renderer &lt;Intel(R) HD Graphics 4000&gt;
  [INFO              ] [GL          ] OpenGL parsed version: 4, 0
  [INFO              ] [GL          ] Shading version &lt;4.00 - Build 10.18.10.4176&gt;
  
  [INFO              ] [GL          ] Texture max size &lt;16384&gt;
  [INFO              ] [GL          ] Texture max units &lt;16&gt;
  [INFO              ] [Window      ] auto add sdl2 input provider
  [INFO              ] [Window      ] virtual keyboard not allowed, single mode, not docked
  [INFO              ] [Text        ] Provider: sdl2
  PyInstaller Bootloader 3.x
  LOADER: executable is C:\Projects\UP52\PACKAGE\dist\up52creator\up52creator.exe
  LOADER: homepath is C:\Projects\UP52\PACKAGE\dist\up52creator
  LOADER: _MEIPASS2 is NULL
  LOADER: archivename is C:\Projects\UP52\PACKAGE\dist\up52creator\up52creator.exe
  
  LOADER: No need to extract files to run; setting extractionpath to homepath
  LOADER: SetDllDirectory(C:\Projects\UP52\PACKAGE\dist\up52creator)
  LOADER: Already in the child - running user's code.
  LOADER: Python library: C:\Projects\UP52\PACKAGE\dist\up52creator\python27.dll
  LOADER: Loaded functions from Python library.
  LOADER: Manipulating environment (sys.path, sys.prefix)
  LOADER: sys.prefix is C:\Projects\UP52\PACKAGE\dist\UP52CR~1
  LOADER: Setting runtime options
  LOADER: Initializing python
  LOADER: Overriding Python's sys.path
  LOADER: Post-init sys.path is C:\Projects\UP52\PACKAGE\dist\up52creator
  LOADER: Setting sys.argv
  LOADER: setting sys._MEIPASS
  LOADER: importing modules from CArchive
  LOADER: extracted struct
  LOADER: callfunction returned...
  LOADER: extracted pyimod01_os_path
  LOADER: callfunction returned...
  LOADER: extracted pyimod02_archive
  LOADER: callfunction returned...
  LOADER: extracted pyimod03_importers
  LOADER: callfunction returned...
  LOADER: Installing PYZ archive with Python modules.
  LOADER: PYZ archive: out00-PYZ.pyz
  LOADER: Running pyiboot01_bootstrap.py
  no mem to add parser accelerators
   Traceback (most recent call last):
     File "&lt;string&gt;", line 21, in &lt;module&gt;
     File "C:\Projects\UP52\qmonos.py", line 56, in showHome
       recMgr = Manager()
     File "C:\Python27\lib\multiprocessing\__init__.py", line 99, in Manager
       m.start()
     File "C:\Python27\lib\multiprocessing\managers.py", line 528, in start
       self._address = reader.recv()
   EOFError
  qmonosmain returned -1
  LOADER: OK.
  LOADER: Cleaning up Python interpreter.
   Traceback (most recent call last):
     File "&lt;string&gt;", line 21, in &lt;module&gt;
   Traceback (most recent call last):
     File "&lt;string&gt;", line 21, in &lt;module&gt;
     File "C:\Projects\UP52\qmonos.py", line 56, in showHome
       recMgr = Manager()
     File "C:\Projects\UP52\qmonos.py", line 56, in showHome
     File "C:\Python27\lib\multiprocessing\__init__.py", line 99, in Manager
       m.start()
       recMgr = Manager()
     File "C:\Python27\lib\multiprocessing\managers.py", line 528, in start
     File "C:\Python27\lib\multiprocessing\__init__.py", line 99, in Manager
        m.start()
      self._address = reader.recv()
     File "C:\Python27\lib\multiprocessing\managers.py", line 528, in start
   EOFError
  qmonosmain returned -1
  LOADER: OK.
  LOADER: Cleaning up Python interpreter.
       self._address = reader.recv()
   EOFError
  qmonosmain returned -1
  LOADER: OK.
  LOADER: Cleaning up Python interpreter.
  </code></pre>