Quick Links: Download Gideros Studio | Gideros Documentation | Gideros community chat | DONATE
Gideros Player on Raspberry Pi — Gideros Forum

Gideros Player on Raspberry Pi

Is it possible to compile Gideros Player for Raspberry Pi (3) and if it is, does it support hardware OpenGl accelleration, are there any tutorials for this?

Thank you.

Comments

  • You could compile it and there was a more low level version of the player. I've not tried though since the move to opengl es 3 (which the early pi may not be compatible with).
    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
  • There is a pdf or word doc tutorial, it may also be on the wiki (not sure). I'm in London right now and can't do much to search - but if you can't find it then let me know and I'll look when I get back.
    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
  • here it is :)
    pdf
    pdf
    Building Gideros on the Raspberry Pi.pdf
    82K
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
    +1 -1 (+2 / -0 )Share on Facebook
  • Thanks.
    I successfully compiled player for X, but it's very slow (gideros 2019.12.1, RPI 3b).

    When I try to compile non-X player I get following error:

    g++ -Og -g -D_REENTRANT -DSTRICT_LINUX -DRASPBERRY_PI -DRPI_NO_X -DFT2_BUILD_LIBRARY -std=gnu++0x -fPIE -I../luabinding -I../libnetwork -I../libgid/external/glew-1.10.0/include -I../libgid/external/freetype-2.4.12/src -I../libgid/external/freetype-2.4.12/include -I../libgid/external/freetype-2.4.12/include/freetype -I../libgid/external/mpg123-1.15.3/src -I../libgid/include/pi -I../libgid/external/snappy-1.1.0 -I../libgid/external/libpng-1.6.2 -I../libgid/external/jpeg-9 -I../libgid/external/openal-soft-1.13/include/AL -I../libgid/external/mpg123-1.15.3/src/libmpg123 -I../lua/src -I../libgid/external/zlib-1.2.8 -I../external/glu -I../libpystring -I../libgvfs -I../libgideros -I../2dsg -I../2dsg/gfxbackends -I../2dsg/gfxbackends/gl2 -I../2dsg/paths -I../libgid/include -I/opt/vc/include -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/vcos/pthreads -c ../libgid/src/pi/platform-pi.cpp

    ../libgid/src/pi/platform-pi.cpp: In function ‘int getKeyboardModifiers()’:
    ../libgid/src/pi/platform-pi.cpp:67:4: error: ‘Qt’ has not been declared
    Qt::KeyboardModifiers qmod=QGuiApplication::queryKeyboardModifiers();
    ^~
    ../libgid/src/pi/platform-pi.cpp:69:8: error: ‘qmod’ was not declared in this scope
    if (qmod&Qt::ShiftModifier) m|=GINPUT_SHIFT_MODIFIER;
    ^~~~
    ../libgid/src/pi/platform-pi.cpp:69:13: error: ‘Qt’ has not been declared
    if (qmod&Qt::ShiftModifier) m|=GINPUT_SHIFT_MODIFIER;
    ^~
    ../libgid/src/pi/platform-pi.cpp:69:35: error: ‘GINPUT_SHIFT_MODIFIER’ was not declared in this scope
    if (qmod&Qt::ShiftModifier) m|=GINPUT_SHIFT_MODIFIER;
    ^~~~~~~~~~~~~~~~~~~~~
    ../libgid/src/pi/platform-pi.cpp:70:8: error: ‘qmod’ was not declared in this scope
    if (qmod&Qt::AltModifier) m|=GINPUT_ALT_MODIFIER;
    ^~~~
    ../libgid/src/pi/platform-pi.cpp:70:13: error: ‘Qt’ has not been declared
    if (qmod&Qt::AltModifier) m|=GINPUT_ALT_MODIFIER;
    ^~
    ../libgid/src/pi/platform-pi.cpp:70:33: error: ‘GINPUT_ALT_MODIFIER’ was not declared in this scope
    if (qmod&Qt::AltModifier) m|=GINPUT_ALT_MODIFIER;
    ^~~~~~~~~~~~~~~~~~~
    ../libgid/src/pi/platform-pi.cpp:71:8: error: ‘qmod’ was not declared in this scope
    if (qmod&Qt::ControlModifier) m|=GINPUT_CTRL_MODIFIER;
    ^~~~
    ../libgid/src/pi/platform-pi.cpp:71:13: error: ‘Qt’ has not been declared
    if (qmod&Qt::ControlModifier) m|=GINPUT_CTRL_MODIFIER;
    ^~
    ../libgid/src/pi/platform-pi.cpp:71:37: error: ‘GINPUT_CTRL_MODIFIER’ was not declared in this scope
    if (qmod&Qt::ControlModifier) m|=GINPUT_CTRL_MODIFIER;
    ^~~~~~~~~~~~~~~~~~~~
    ../libgid/src/pi/platform-pi.cpp:72:8: error: ‘qmod’ was not declared in this scope
    if (qmod&Qt::MetaModifier) m|=GINPUT_META_MODIFIER;
    ^~~~
    ../libgid/src/pi/platform-pi.cpp:72:13: error: ‘Qt’ has not been declared
    if (qmod&Qt::MetaModifier) m|=GINPUT_META_MODIFIER;
    ^~
    ../libgid/src/pi/platform-pi.cpp:72:34: error: ‘GINPUT_META_MODIFIER’ was not declared in this scope
    if (qmod&Qt::MetaModifier) m|=GINPUT_META_MODIFIER;
    ^~~~~~~~~~~~~~~~~~~~
    make: *** [makefile:149: platform-pi.o] Error 1
  • @hgy29 may have an idea of what is happening?
    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
  • On X you should enable the new hardware driver for the PI (last time I checked it was disabled by default). The speed is much better after that, but not as good as the more native player.

    Likes: MoKaLux, plicatibu

    Coder, video game industry veteran (since the '80s, ❤'s assembler), arrested - never convicted hacker (in the '90s), dad of five, he/him (if that even matters!).
    https://deluxepixel.com
    +1 -1 (+2 / -0 )Share on Facebook
  • hgy29hgy29 Maintainer
    I think keyboard code was added here by mistake, probably by me! It is QT code, so shouldn't end up on native pi implementation. The getKeyboardModifiers function code in this file should be replaced by 'return 0;'. I changed it in my gideros repo.

    Likes: SinisterSoft

    +1 -1 (+1 / -0 )Share on Facebook
  • There is another error:

    g++ -o pi pi.o accelerometerbinder.o alertdialogbinder.o application.o applicationbinder.o asyncloader.o audiobinder.o binder.o bitmap.o bitmapbinder.o bitmapdata.o bitmapdatabinder.o blendfunc.o bytebuffer.o color.o colortransform.o completeevent.o dib.o dibbinder.o dict.o drawinfo.o enterframeevent.o errorevent.o eventbinder.o eventdispatcherbinder.o font.o fontbase.o fontbasebinder.o fontbinder.o gbitmapbatch.o geolocationbinder.o geom.o glcompat.o gmesh.o graphicsbase.o grendertarget.o gstatus.o gtimer.o gyroscopebinder.o keyboardevent.o keys.o libnetwork.o luaapplication.o Matrices.o matrix.o matrixbinder.o MaxRectsBinPack.o aes.o md5.o memalloc.o mesh.o meshbinder.o mouseevent.o movieclip2.o movieclipbinder.o normal.o ogl.o platform-pi.o platformutil.o priorityq.o progressevent.o PVRTDecompress.o PVRTResourceFile.o PVRTString.o PVRTTexture.o registermodules.o render.o rendertargetbinder.o shape.o shapebinder.o splashscreen.o sprite.o spritebinder.o stackchecker.o stage.o stagebinder.o stageorientationevent.o stopwatch.o sweep.o tess.o tessmono.o textfield.o textfieldbase.o textfieldbinder.o textinputdialogbinder.o texture.o texturebase.o texturebasebinder.o texturebinder.o texturemanager.o texturepack.o texturepackbinder.o texturepacker.o tilemap.o tilemapbinder.o timer.o timerbinder.o timercontainer.o timerevent.o tlsf.o touch.o touchevent.o transform.o ttbmfont.o ttfont.o ttfontbinder.o tttextfield.o urlloaderbinder.o urlrequest.o utf8.o zlibbinder.o cryptobinder.o Shaders.o gl2ShaderBuffer.o gl2ShaderEngine.o gl2ShaderProgram.o gl2ShaderTexture.o gl2PathShaders.o shaderbinder.o ftlibrarysingleton.o viewport.o viewportbinder.o pixel.o pixelbinder.o particles.o particlesbinder.o esUtil.o ftbbox.o ftbitmap.o ftglyph.o ftlcdfil.o ftstroke.o ftxf86.o ftbase.o ftsystem.o ftinit.o ftgasp.o raster.o sfnt.o smooth.o autofit.o truetype.o cff.o psnames.o pshinter.o path2dbinder.o path.o ft-path.o svg-path.o ../libgid/external/zlib-1.2.8/build/gcc463_pi/libzlibx.a gvfs.so lua.so gideros.so pystring.so gid.so -lpthread -lGLESv2 -lEGL -lm -lbcm_host -L/opt/vc/lib
    /usr/bin/ld: eventbinder.o: in function `EventBinder::EventBinder(lua_State*)':
    /home/pi/gideros/pi_example/../luabinding/eventbinder.cpp:143: undefined reference to `LayoutEvent::RESIZED'
    /usr/bin/ld: luaapplication.o: in function `bindAll(lua_State*)':
    /home/pi/gideros/pi_example/../luabinding/luaapplication.cpp:373: undefined reference to `ScreenBinder::ScreenBinder(lua_State*)'
    /usr/bin/ld: /home/pi/gideros/pi_example/../luabinding/luaapplication.cpp:374: undefined reference to `BufferBinder::BufferBinder(lua_State*)'
    /usr/bin/ld: luaapplication.o: in function `LuaApplication::initialize()':
    /home/pi/gideros/pi_example/../luabinding/luaapplication.cpp:1492: undefined reference to `LuaDebugging::L'
    /usr/bin/ld: /home/pi/gideros/pi_example/../luabinding/luaapplication.cpp:1492: undefined reference to `LuaDebugging::yieldHookMask'
    /usr/bin/ld: /home/pi/gideros/pi_example/../luabinding/luaapplication.cpp:1492: undefined reference to `LuaDebugging::hook'
    /usr/bin/ld: /home/pi/gideros/pi_example/../luabinding/luaapplication.cpp:1492: undefined reference to `LuaDebugging::profiling'
    /usr/bin/ld: luaapplication.o: in function `LuaApplication::enterFrame(GStatus*)':
    /usr/include/c++/8/bits/stl_deque.h:1599: undefined reference to `LuaDebugging::yieldHookMask'
    /usr/bin/ld: luaapplication.o: in function `yieldHook':
    /home/pi/gideros/pi_example/../luabinding/luaapplication.cpp:1190: undefined reference to `LuaDebugging::yieldHookMask'
    /usr/bin/ld: /home/pi/gideros/pi_example/../luabinding/luaapplication.cpp:1190: undefined reference to `LuaDebugging::lastLine'
    /usr/bin/ld: ogl.o: in function `oglInitialize(unsigned int, unsigned int)':
    /home/pi/gideros/pi_example/../2dsg/ogl.cpp:30: undefined reference to `ScreenManager::manager'
    /usr/bin/ld: sprite.o: in function `Sprite::setDimensions(float, float, bool)':
    /home/pi/gideros/pi_example/../libgideros/event.h:25: undefined reference to `LayoutEvent::RESIZED'
    /usr/bin/ld: /home/pi/gideros/pi_example/../libgideros/event.h:25: undefined reference to `vtable for LayoutEvent'
    /usr/bin/ld: sprite.o: in function `Sprite::draw(Matrix4 const&, float, float, float, float)':
    /home/pi/gideros/pi_example/../2dsg/sprite.cpp:216: undefined reference to `GridBagLayout::ArrangeGrid(Sprite*, float, float)'
    /usr/bin/ld: spritebinder.o: in function `SpriteBinder::getLayoutInfo(lua_State*)':
    /home/pi/gideros/pi_example/../luabinding/spritebinder.cpp:663: undefined reference to `GridBagLayout::ArrangeGrid(Sprite*, float, float)'
    /usr/bin/ld: /home/pi/gideros/pi_example/../luabinding/spritebinder.cpp:671: undefined reference to `GridBagLayout::getLayoutInfo(Sprite*, int)'
    /usr/bin/ld: /home/pi/gideros/pi_example/../luabinding/spritebinder.cpp:672: undefined reference to `GridBagLayout::getMinSize(Sprite*, GridBagLayoutInfo, float&, float&, GridInsets&)'
    /usr/bin/ld: /home/pi/gideros/pi_example/../luabinding/spritebinder.cpp:677: undefined reference to `GridBagLayout::getLayoutInfo(Sprite*, int)'
    /usr/bin/ld: /home/pi/gideros/pi_example/../luabinding/spritebinder.cpp:678: undefined reference to `GridBagLayout::getMinSize(Sprite*, GridBagLayoutInfo, float&, float&, GridInsets&)'
    collect2: error: ld returned 1 exit status
    make: *** [makefile:155: pi] Error 1


    Does someone have a compiled raspberry non x player?
  • so i've been also interested if one can export a gideros app so that it runs on linux, especially on an rpi of some kind. can you tell me the state of the art about this? ty
Sign In or Register to comment.