The libraries used are the OpenGL® embedded systems libraries (OpenGL ES®), which are a subset of the standard OpenGL® library functions designed to work with mobile devices. One reason why a WebGL™ browser is possible is the lightweight nature of the WebGL™ libraries, which do not consume large amounts of resources and do not contain some of the more processor-intensive functions of the full OpenGL® implementation. A recurring issue with a WebGL™ browser, however, is that the drivers and hardware on a computer or device must be capable of running an OpenGL ES® application. Some operating systems, devices, hardware and even drivers do not have the capabilities to run a WebGL™ program and also do not have an easy solution short of replacing the graphics hardware installed.
Major concerns with the safety and security of a WebGL™ browser have prevented some major browser developers from fully implementing support for WebGL™. This primarily comes down to the direct access that the browser provides to WebGL™ code. When used maliciously, the graphics card can be manipulated to cause damage via the host system or, in a worst-case scenario, can be used as a gateway to execute or plant harmful computer code.