I’ve written a GUI using C++/SDL2 and I’ve been trying to get it to run on the Apalis T30. I’ve successfully created an angstrom-lxde-image Yocto build that incorporates SDL2 and it’s dependencies. The issue is when I compile my software using the SDK and run it on the T30 I get the following message:
Renderer could not be created! SDL Error: Invalid renderer Failed to initialize!
When I check what graphics drivers SDL can see I get the following output:
Driver name (0): opengl the renderer uses hardware acceleration present is synchronized with the refresh rate the renderer supports rendering to texture Driver name (1): software the renderer is a software fallback the renderer supports rendering to texture
If I force it to use the second driver, the software fallback, the program starts just fine but runs at far too slow of a frame rate, I really need to use hardware acceleration.
I have noticed when I build my image using bitbake I do get a warning:
WARNING: No recipes available for: /home/kelton/oe-core/build/../layers/meta-freescale/dynamic-layers/browser-layer/recipes-browser/chromium/chromium-wayland_48.0.2548.0.bbappend /home/kelton/oe-core/build/../layers/meta-freescale/dynamic-layers/browser-layer/recipes-browser/chromium/chromium_52.0.2743.76.bbappend /home/kelton/oe-core/build/../layers/meta-jetson-tk1/recipes-graphics/mesa/mesa_11.1.1.bbappend
I’m not so woried about the chromium parts but I do know mesa is related to OpenGL. Could this be my issue?
One solution I’ve attempted is using OpenGL ES drivers instead. My host machine defaults to OpenGL but also has OpenGL ES available and if I force my software to run using OpenGL ES it seems to run fine. However I can’t for the life of me figure out how to get OpenGL ES into my yocto build. Perhaps I’m misunderstanding something because my google searches turn up nothing about how to do this. If this is a potential solution, how exactly do I go about this?
Otherwise any suggestions for a fix would be greatly appreciated, thanks.