Any way to get started on Pyra development without an OMAP 5?


JDTAY

Half Pepperoni, All Cheese
Joined
Sep 15, 2015
Messages
3,754
Age
36
Location
North Carolina, USA
I didn't know OpenPandora or Dragonbox Pyra existed until less than a week ago, but this is the kind of device I've been searching for for a while, and I'm pretty excited for it. Still, I'm kinda bored just sitting around until the middle of next year waiting for it. Is there any way I could be developing programs for it before getting the hardware?


I gotta admit, I'm kind of a newb when it comes to these things.
 
You could develop for it by targeting Linux and the PowerVR SDK, emulating the SGX GPU.  Of course, the performance will be different, however, you can get something up and running and the transition over to Pyra hardware should be relatively simple.
 
Depends on what you want to do. Write a game using SDL with a 1280x720 resolution in C++ and it'll just compile right over for the Pyra.

Most standard linux libraries should be available, including QT or GTK if you want to write some GUI apps.

As long as you don't use OpenGL or closed source libraries (OpenGLES is fine) then you can develop now on your desktop and it can be made to work on the Pyra. Any libraries in the Debian ARM repository should be safe to use.
 
I have good experience with proot for arm ( jeah okay, its linux/gnu only ). You just need an extracted arm-root-fs and it doesn't harm your system-root :D


Or, if you don't like proot, use qemu-static binarys on an arm-root-fs
 
Last edited by a moderator:
Well, I understood Rico and Stan's respective posts and checked that stuff out, will try downloading PowerVR SDK and/or MinGW and SDL to my desktop later.


I got to shadow's post and everything turned to Greek. :-(
 
Not that shadow's language was hard to understand, I just really am a total programming newb. I'm probably better off going the C++/SDL route than trying to code for the hardware, for now.
 
Hmmm, I'm wondering if I should install a version of Linux on my desktop. Would that help for testing C++/SDL stuff that'll be on Pyra later, or is it unnecessary? I've never had a second OS before, but I'm sure I could google how to do it.
 
Hmmm, I'm wondering if I should install a version of Linux on my desktop. Would that help for testing C++/SDL stuff that'll be on Pyra later, or is it unnecessary? I've never had a second OS before, but I'm sure I could google how to do it.
Dual booting is pretty simple - I did it the very first time I installed linux (long time Win7 user). Mind you, I'm not sure if newer machines, particularly laptops, will let you.

D.
 
Strictly speaking it's not necessary: SDL is cross platform. Stick to regular C++, using SDL and the standard STL libraries and it'll recompile for basically everything.

That being said, it may be easier to install Linux, get used to the differences between it and Windows. It'll keep you from accidentally using any Windows libraries that you'll need to rewrite later. You can even install it to a bootable USB stick and then you don't need to worry about mucking about with your Windows install, or create a virtual machine with the right resolution (1280x720) and pretend that this virtual machine is the Pyra, do your experiments without leaving Windows at all.

I'd recommend Debian since that's what'll be on the Pyra anyway, probably with the XFCE desktop by default but you can play with different ones too, and the "hybrid" images make it easy to install to a USB stick or a VM.
 
So far we're using straight up armhf version Debian Jessie as the OS on the devboard. If you want to work with an environment very similar, you can install the 64bit or 32bit x86 version to play with on your regular PC. We have a Pyra specific repository that holds all the Pyra specific packages for the hardware and scripts, but it's pretty vanilla outside of that. This should give you a good feel for the OS at least... The LCD is at 1280x720 resolution, so that is prob where you should target if you're doing gui work.
 
Last edited by a moderator:
Hmmm, I'm wondering if I should install a version of Linux on my desktop. Would that help for testing C++/SDL stuff that'll be on Pyra later, or is it unnecessary? I've never had a second OS before, but I'm sure I could google how to do it.
It will probably be easy for you to install linux in a virtual environment like virtual box or vmware player.
 
Depends on what you want to do. Write a game using SDL with a 1280x720 resolution in C++ and it'll just compile right over for the Pyra.
Or for more retro feeling plus better performance, using 640x360 resolution, right? :D I guess the Pyra will have an HW scaler anyways that can do the upscaling without any performance loss. Could be handy for 2D and especialy 3D Games. Should still look good on the tiny 5" screen. Yes I already think in efficiency optimizing patterns. XD
 
640x360 ? That's not much more than most PlayStation games from the day. Maybe 960x540 then ? Or 1024x576 ? :p

By the way, I'm also interested and beginning to wonder. Suppose that your code is quite optimized. Is it better to port Unreal 4 (powerful, scalable and future-proof) or write a specific Pyra Engine ? I still don't know much about UE4, maybe we could still make use of NEON, the M5s and the DSP ?
 
Well, if you could port Unreal 4 that would be impressive. ;)

The Unreal engine isn't open source so porting it would be nigh impossible.
 
Did that change again ? Unreal 4 became open source and free to use for low-earning games months ago...

EDIT : Well okay, it's not really open source, but we have access. As it supports Linux, maybe we could still make use of the Pyra hardware through the additional repos.

Access to full C++ source code for UE4 is included from the moment you create an account and install the engine. You can download source code from GitHub, and you will continue to receive regular updates, including access to live source code changes. Even if you don’t plan to modify the source, it’s super-useful to have it available to understand and debug interactions between your C++ code and the engine’s C++ code!
 
Last edited by a moderator:
Unreal 4 became open source

The code became free to access, but it is far from being open source. It's not even publicly available, they still regulate access to the code.
 
Last edited by a moderator:
That's what the edit button is for :D

By the way, what would be the best language for Pyra games ? Everyone says C++, but what about C, or even ARM assembly ?
 
That's what the edit button is for :D

By the way, what would be the best language for Pyra games ? Everyone says C++, but what about C, or even ARM assembly ?

All the tools are there...
 
I don't get it. Do you mean that as long as the compiler is optimized for the Pyra, any code should run at the same speed ?

Can't really say what speed they will run in, Speed is up to how well the code is programmed... The rest is just personal preference. 

Most people use SDL which is written in C and can work natively with C++, With the Pandora we used a specialized SDL version, my guess something similar will be needed for the Pyra to handle input controls and dealing with the framebuffer/scaling and such. These special libraries like SDL are really the only thing I can see that would differentiate the Pyra with any other Linux platform.

Assembly, if you can code in it and generate fairly complex programs on it like games, you are beyond the need to question which would be the best.
 
Last edited by a moderator:
Back
Top