Raspberry Pi 3 (B+) sample execution error


#1

Hi.

I’m currently trying to compile and execute Cinder samples on my brand new Raspberry Pi 3B+ and I’m currently facing a weird error involving the video core.

I’m currently running ArchlinuxARM (but if it causes too many issues, I could just go back on Raspbian) on it with the vc4 driver set, I think, as there is not a definite or clear explanation on how to properly set it up.

After tweaking a bit Cinder’s source code to fix an issue involving GstPlayer.cpp (it semeed to lack a gstglmemory.h include and to rename GST_GL_TYPE_CONTEXT into GST_TYPE_GL_CONTEXT), the library ended up compiling smoothly and building BasicApp went even more smoothly.

Executing BasicApp will yield a crash with graphics_get_display_size failed, returned -1. I’m currently searching the why and how of this crash but it seems that it involves the existence of VC4 as selected video core. AppImplLinux is well executed, bcm_host_init is correctly called before graphics_get_display_size.

I’m not making a GitHub issue because it seems like I may have broken something myself, but I don’t know what yet, so I’m writing this post hoping someone more knowledgeable would be able to help me.

Thanks in advance and have a nice day.


#2

Hey, me too. I have done all sorts of things to try to resolve it but gave up. Please help! I just bought the Pi and wanted to punish its graphics hardware :slight_smile: If anyone knows how I would love to know too please.
Thanks


#3

Hey,

is the recent experimental OGL driver by any chance activated? This post has more info if that is the case but long story short you should be able to revert back to the original driver through raspi-config. This was on Jessie but maybe the same applies in your case.

HTH,
Petros


#4

Hey, Thanks for the info. I havn’t had a chance to consume it all yet but in my travels I came across this Raspberry related cinder issue, which may/may not help me when I get a chance to dive back into this subject.


#5

So, using raspi-config (which was available in the AUR), I was able to launch my own project with -DTARGET_CINDER_GL=linux on both the library and the project. So it means using the non-GL driver it indeeds runs, quite choppily though. I expected being able to use the experimental driver to squeeze a bit more FPS.

Using the linux gl_target on the experimental driver yields a GLXBadFBError as it seems that it doesn’t support OpenGL 3.0 yet(?).

I’m currently trying to compile said project with es2-rpi on the non-gl driver (that I didn’t previously have), but I get some weird syntax errors that comes out of nowhere. I’m currently trying to understand the whys and hows on that error.

Anyway, thanks for your help! Have a nice day.


#6

Hey,

the CMake variable you have posted is wrong - It should be CINDER_TARGET_GL and linux is not a valid option also ( it is valid for the CINDER_TARGET variable )

For the RPi in order to use the Broadcom driver you should configure with

cmake .. -DCINDER_TARGET_GL=es2-rpi

Cheers,
Petros