Ok, everything's in the title.
Got mine in the mail two weeks ago (though I have yet to find the time to boot it) and, as you've probably already guessed, my first experimentation with it will be to port orx for it.
Which shouldn't be too bad I think, as there's CodeLite running on it, I'll simply have to compile the dependencies for ARM and use all the linux plugin except for the display one (as the Pi supports OpenGL ES, not OpenGL).
But that should be a quick merge between the GLFW plugin and the iOS one.
Well, as long as GLFW runs on the Pi, of course, I haven't looked into that yet but I have good hope. ^^
Anybody else got a device or is interested in helping with the port/testing? Just let me know!
Link:
http://www.raspberrypi.org/
Comments
I'll try again soon.
Now I have it so I'll probably play with it not this week end but the one after (I've placed an order for an SD Card, so waiting for that now). I'll let you know how the port is going but I'm comfident it'll be over in a day or two of work.
Have fun
Anyway, I simply need to replace the fixed pipeline with the shaders and a few ES calls, shouldn't be too bad.
First reason is that my peripherals (razer keyboard & mouse) needs a lot of power to run, which doesn't leave nearly enough juice for the raspberry pi to run correctly. I've ordered a powered USB hub to work around that issue. However I won't be able to use the device till then.
That lead me to try to setup a cross-compiling toolchain in my linux box. Actually I ended up installing 4 of them, 2 of which are actually made locally following some online tutorials.
In the end, there's only one toolchain that I got working including OpenGL ES. The only culprit is is my inexperience with this kind of exercise, not the fault of the various toolchains or tutorials.
Anyway, now that I can cross-compile from my linux box I've update two of the external dependencies (namely SOIL and Box2D).
However, I'm afraid GLFW won't do the trick. Which means I'll have to write the display, sound, mouse, joystick and keyboard plugin more or less from scratch.
The display plugin will probably be the easiest one as I'll look at what lydesik did with the android-native plugin (for EGL references).
The mouse, joystick and keyboard plugins are a bit more annoying in that I had no idea where to start.
I finally spent some time reading the source of the raspberry pi port of Quake 3, found out they were using a pre-compiled version of SDL to handle inputs, found out in a forum that it was actually a vanilla SDL 1.2 stripped from any audio dependencies, went to read SDL 1.2 sources and found out that the specific version running on the pi was using the /dev/input/* file descriptors.
This is going to be annoying, but heh, unless someone has a better solution I guess I have no choice.
Lastly, there's the music plugin. I have no clue how to do that one for now as I couldn't find any evidence of the presence of OpenAL for the pi. Apparently I can use OpenMAX AL for some operations, but it's a new API I'll have to learn, and will probably take quite some time.
Finally, I'll be working on that port on and off as a background task whenever I feel motivated enough to work in that boxed cross-compiler environment with a bunch of unknown API.
It might take a good while and any person wanting to help with the task is more than welcome!
(and if the PI runs fedora which i think it does, youll have to enable ssh first or install synergy, but debian has that automatically enabled if a reformat catches your fancy. :laugh: )
I tried to install the Fedora one from my windows machine and my linux box but their install script failed in both cases. Didn't bother to look to much into details.
Even with a powered USB hub my keyboard doesn't work great with the Pi (missing keystrokes, infinite keystrokes, etc) so I'll be developing mostly from my linux box (ssh could be an option I guess, but won't help me test video rendering as I only have one screen anyway).
(Since I already have this link handy, ill post it for whomever very handy input sharing program. :side: )
My current screen doesn't even have HDMI inputs, so when I'm using the Pi right now it's in the living room on the TV, which is not the best place for me to develop.
Anyway, for developing/testing right now the linux box should be enough and it'll take me a while to get there as I have higher priority tasks for the moment.