Headless rendering with PVR SGX530, EGL, OpenGL - contination

I needed to create additional topic because I reached limit of 3 replies in this post

Hi Omar,

I already wrote the code to render to the Pbuffer on the BBB, but I am still unable to initialize the display, with the error already mentioned above. The error stems from the eglGetDisplay((EGLNativeDisplayType)0) call which is required? for creating a Pbuffer surface.

The order of my calls is like this:

    g_helper.display = eglGetDisplay((EGLNativeDisplayType)0); // this causes the ERROR
    if (eglInitialize(g_helper.display, &major, &minor) == 0)
        ERR("Could not create display");
// choosing a config (with these parameters)
/*
    static const EGLint config_attrs[] = {
        EGL_RED_SIZE, 8,
        EGL_GREEN_SIZE, 8,
        EGL_BLUE_SIZE, 8,
        EGL_ALPHA_SIZE, 8,
        EGL_SURFACE_TYPE, EGL_PBUFFER_BIT,
        EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
        EGL_NONE
    };
*/

    if (eglBindAPI(EGL_OPENGL_ES_API) == 0)
        ERR("Could not bind the API");
    EGLint eglSurfaceAttibutes[] = {
        EGL_WIDTH, width,
        EGL_HEIGHT, height,
        EGL_NONE
    };
    g_helper.surface = eglCreatePbufferSurface(g_helper.display, g_helper.config, eglSurfaceAttibutes);

As before I had troubles with creating the surface (and it was solved with the Pbuffer surfaces) the root cause of using an additional ghost dummy HDMI plug is because I am unable to create a display.

Hi jduchniewicz,

We informed the SGX Team about the issues you’re experiencing, we will come back to you as soon as we have more information.

Best regards,
Alejandro

1 Like

Hi, Jakub,

I’ve had a lengthy chat with our drivers team and we might have come across a possible solution/work-around I’m in the process of testing it locally on a BeagleBone Black and I’ll get back to you as soon as I get it working.

Cheers,
Omar.

1 Like

Hi jduchniewicz,

Unfortunately we have not been able to come across a workaround for this issue. Apologies for the inconvenience.

Best regards,
Alejandro

Hi Alejandro,

That’s a shame. Do you think that it is possible to patch the kernel drivers which are responsible for outputting to the dummy device or it is without any chance of success?

What did you try doing? Modifications in the PowerVR libraries code, or something else?

Kind regards,
Jakub