Headless OpenGL ES on the PocketBeagle

I would like the use the SGX graphics accelerator on the PocketBeagle to do some rendering to a frame buffer using OpenGL ES.

I have followed the steps for the BBB to get the graphics driver working, but I am hitting a dead end here:

root@beaglebone:/opt# /etc/init.d/rc.pvr start
PVR:(Error): PVRSRVBridgeCall: Failed to access device. Function ID:3223086861 (strerror returns no value.). [0, ]
PVR:(Error): OpenServices: PVRSRVBridgeCall failed. [0, ]
PVR:(Error): PVRSRVInitSrvConnect: PVRSRVConnect failed [0, ]
PVR:(Error): SrvInit: PVRSRVInitSrvConnect failed (4) [0, ]
/usr/bin/pvrsrvctl: SrvInit failed (already initialized?) (err=PVRSRV_ERROR_INIT_FAILURE)

When I do a lsmod, I can see the pvrsrvkm module is loaded, but other than that I don’t have much of an idea of what’s going on.

I’m using Debian 10 with the 4.19 kernel, which I downloaded from Robert’s website.

Any pointers would be much appreciated.

Yeah, just use the stretch iot image (with v4.14.x-ti kernel)


On first bootup, the sgx modules and libraries get setup..

Sorry, I haven't spent any time on Buster/4.19.x-ti with sgx yet..


Ok, just gave it a try and works great.

Thanks Robert, all your work is soooo much appreciated.

Hi Robert, I’m having trouble creating an OpenGL context using egl. My programs are compiling, but I can’t get a valid context to work with. I was wondering if you had a test suite that you use to check you can talk with the SGX? Any pointers would be gratefully appreciated.

Maybe https://github.com/powervr-graphics/Native_SDK ?

ps, this is pre-installed on:


Hoping to make it an official blend. :wink:


You can use glxgears to see if you are able to get a OpenGL-ES window to open.

Also, you can use glmark2-es2 to run tests on the graphics to get performance data

This works on that fruit board, so it should work with a BB.