I have OpenGL 3.1 but kivy says that I have only 1.1


I cant put links in here so look at this

So I don’t know what to do.
Could someone please help me?


From the startup log text you posted in that other link:

Having you tried updating your graphics drivers to the latest available for your GPU as suggested?

The above errors indicate that you’re falling back to Microsoft’s super-old “GDI Generic” OpenGL driver (which only offers OpenGL 1.1 support, and via the CPU not the GPU). This often occurs because Windows doesn’t think there are any graphics drivers installed that can do any better than this.

Typically, you can fix this by updating your graphics drivers to the latest available for your GPU.

To update your graphics drivers, see the driver download links here:

Failing that, you might try the standard kivy solution for this error listed here:


That is the problem. I have drivers from 2016, but Intel says there are no new versions
as seen here: (it is a html file i have no idea why)


Looking at other reports for “Intel Graphics 3000” on www.gpuinfo.org, it looks like the latest driver version that someone has submitted a report for is Build, which is what you’re running.

You could run try running Mesa3D OpenGL drivers . But failing that, I would look for a way to run this on a machine with a newer NVidia, AMD, or Intel GPU.


Ok I have made a virtual enviroment and it worked.


Considering the OP had his problem solved I’d like to end this discussion with a very detailed background info about this issue which may help community provide even better support in the future.

Intel OpenGL drivers for legacy systems (everything before Ivy Bridge and Bay Trail) refuse to load under Windows 10 if loading program declares Windows 10 compatibility essentially getting a windows version that begins with 10 when calling appropriate Windows APIs. This happens because the OpenGL driver has hardcoded OS version string checks that don’t recognize Windows 10 and Intel refuses to fix this despite being a very easy fix instead opted to end graphics driver development for these old systems.

Programs can declare Windows 10 compatibility in any of these 3 ways:

  • implicitly by running in kernel mode (it was done by Virtualbox until release 6.0 which moved guest OS OpenGL to run on host user mode essentially fixing this issue for itself);
  • manifest embedded into the executable with a SupportedOS tag with a value beginning with {8 (ex: python 3.x used in this topic);
  • same as above but the manifest is an external file named filename.exe.manifest if the program executable is filename.exe.(ex: any AIDA64 win32 edition).

There are 6 possible solutions, last 2 requiring hardware investments:


Good info! Thanks for following-up!