First of all, Sorry for re-opening this thread.
I just heard about the Pyra, and as an owner of the classic Pandora I am excited.
I've been reading some of the discussions, and have been thinking about the new PND format.
I thought I'd share my idea, some of this may have been discussed at some point.
I'm not even sure exactly what the current plan is for it.
Also keep in mind: I am not an expert at this stuff.
PND File format:
What if we have an uncompressed zip file which contains:
- metadata (pxml or whatever)
- icon and screenshots
- actual data folder compressed into a file (perhaps using cramfs or something similar)
This would make it easy to access most of the stuff the OS/launchers need, while providing compression for the actual game data.
This is probably a bad idea, but you could even have it save the appdata to another cramfs file in the zip. But then it would be difficult for the user to access their own save games.
Dependencies:
What if you define a "run-time environment" for people to dynamically link to, but have it separate from what's installed in the OS.
It could be run through chroot or a sandbox system so the games wouldn't need to worry about the latest version of some library being installed for the rest of the linux system to use.
It would be like the Android api versions.
Updating this "run-time environment" would be as easy as having another sandbox to use for newer PNDs. Each PND would specify which run-time version they want. And if the user didn't have that one then they can download it or try to run the PND in a different run-time (after being warned it might not work).
This would also provide some security from something trying to alter anything it shouldn't.
The appdata would be mounted in the sandbox so the app can save stuff there. If it is needed, the actual root filesystem could be accessed through a symbolic link(maybe only the user's home folder, again for security reasons).
The other libraries would be included with the apps (which would be compressed, so it wouldn't be as big of a problem).
The sandbox should work fine with multiple things running at once as everything would have it's own version of the run-time with changes not committed to the actual filesystem.
All that security stuff might be over kill. I've got security on the mind because they had a virus outbreak at work today.
Edit:
I forgot one thing,
You can maybe have a Pandora run-time that has the same libraries and versions as the Pandora has. That way it could speed up porting games to the Pyra, or maybe even allow you to run the older PNDs directly.