Imagination PowerVR SDK Blog

Headless rendering with PVR SGX530, EGL, OpenGL - is it supported?

#1

Hello, does the PowerVR SGX530 egl implementation support GPU rendering to a pbuffer or similar without any physical display attached or windowing system installed? I could not find PVR egl extensions which support this…though I may be looking in the wrong place.

eglQueryDevicesEXT et. al. appear to support the type of thing I am describing
https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_device_enumeration.txt
, but dont appear to be supported by PVR(?).

Should I be using a different approach?

I am targeting the Beagle Bone Black (AM335x Cortex A8, PowerVR SGX530).

Cheers.

#2

Hi,

I don’t have that device with me, can you please post information returned by these calls?
You might need a display for this :slight_smile:
eglQueryString(display, EGL_EXTENSIONS);
eglQueryString(display, EGL_VERSION);
glGetString(GL_EXTENSIONS);
glGetString(GL_RENDERER);

It should be just a matter of technicality. Eg. get an EGL display from somewhere, then:
eglInitialize(display, …)
eglChooseConfig(display, …);
eglBindAPI(EGL_OPENGL_ES_API);
EGLContext context = eglCreateContext(display, …);
eglMakeCurrent(display, EGL_NO_SURFACE, EGL_NO_SURFACE, context));

and then just create an GL Framebuffer object and render to it. You would end frames with glFinish.

thank you,
Marton