OpenGL.Net icon indicating copy to clipboard operation
OpenGL.Net copied to clipboard

RPI3: 'unable to create window surface' exception

Open SergeyBokhantsev opened this issue 6 years ago • 3 comments

I'm trying to get a VideoCore sample working on RPI 3 (Raspbian strech, mono 5.10.0.160) using latest 0.7.1 release.

When using Fake KMS driver: getting 'unable to create window surface' exception at this line https://github.com/luca-piccioni/OpenGL.Net/blob/354e0bbfd92718c847e27bf8cae3c740fe2f829f/Samples/HelloTriangle.VideoCore/Program.cs#L54

When using Full KMS driver: getting an exception 'unable to get BCM window size' at https://github.com/luca-piccioni/OpenGL.Net/blob/354e0bbfd92718c847e27bf8cae3c740fe2f829f/Samples/HelloTriangle.VideoCore/Program.cs#L49

I'm not sure if this somehow related to my system configuration. Is there some tutorial on getting this working on Raspbian?

SergeyBokhantsev avatar Mar 17 '18 22:03 SergeyBokhantsev

Can you describe your execution environment? I've run the sample application on RPi2, using VC4+GLES2: note that the application does not require X11, since the VC4 library exposes a basic windowing system without any backend (just like Kodi running without X11).

Are you running under X11? Then your application must be set up just like any X11 application (GLX+GL). Probably you need to disable EGL initialization to get it work (set environment variable OPENGL_NET_EGL_STATIC_INIT to "NO").

luca-piccioni avatar Mar 18 '18 11:03 luca-piccioni

I've tried from both X11 and not. Also tried OPENGL_NET_EGL_STATIC_INIT. There were always different erros that I mostly described above. So I just started from scratch, reimaged latest raspbian Stretch, updated/upgraded etc.

The first proplem was Stretch does not have libEGL libs for some reason. I did core upgrade as per this post: https://www.raspberrypi.org/forums/viewtopic.php?t=191638

Second problem I cannot resolve is: * failed to add service - already in use Some info here: https://www.raspberrypi.org/forums/viewtopic.php?p=1239827#p1239827 and: https://raspberrypi.stackexchange.com/questions/75219/fixing-failed-to-add-service-already-in-use-error-programmatically

SergeyBokhantsev avatar Mar 22 '18 08:03 SergeyBokhantsev

Same problem here. Fixed it by adding Bcm.bcm_host_init(); at the top of the VideoCoreWindow's constructor. This call was originally wrapped in an event handler, which is never called with my setup.

mode777 avatar Jul 16 '18 18:07 mode777