PDA

View Full Version : Proton SDK running in Linux?



timotheus
11-28-2011, 10:51 PM
Hello, first time poster. : )

I am looking for a framework to develop in, and Proton SDK has me excited!

One question, can I compile my project to let it run in a linux environment? (It will be 2D, sprite based, minimum graphics)

Seth
11-28-2011, 10:58 PM
Hi,

I don't have a linux graphical target yet as I don't currently work on that platform.

The job is uh.. available... for anybody daring... most of the code could be copied from the webos or playbook target, it's just the gl init and input that is different probably.

wayward4now
05-23-2012, 07:08 AM
[QUOTE=Seth;17407]Hi,

I don't have a linux graphical target yet as I don't currently work on that platform.

Hey Seth! I asked you to port Red Dragon to Linux, back in the days when BBS's roamed the land. Set up a little Linux box and play with it! It's about time, ~15 years later~.!

You might get to really like it! i haven't used Windows since 3.1 and haven't looked back. Remembering the OLD DAYS fondly, Ric

Aki Koskinen
05-23-2012, 07:54 AM
I guess the news didn't arrive to this thread but Proton is very much working on Linux nowadays too - including the graphical glory and everything.

Some instructions are in the wiki (http://www.rtsoft.com/wiki/doku.php?id=proton:linux_setup) and the examples should all be compilable on Linux too.

Seth
05-23-2012, 08:58 AM
Hey Seth! I asked you to port Red Dragon to Linux, back in the days when BBS's roamed the land. Set up a little Linux box and play with it! It's about time, ~15 years later~.!

You might get to really like it! i haven't used Windows since 3.1 and haven't looked back. Remembering the OLD DAYS fondly, Ric

Hey Ric, well, you'll be happy to know that I now would never consider writing a server software that DIDN'T run on linux! The server for my multiplayer tank game runs on linux. I've learned the way! :sweatdrop:

wayward4now
05-24-2012, 02:42 AM
Hey Ric, well, you'll be happy to know that I now would never consider writing a server software that DIDN'T run on linux! The server for my multiplayer tank game runs on linux. I've learned the way! :sweatdrop:

And ...that's why YOU'RE the MAN! Great! My gawd, we're both getting long in the tooth. Thanks for the support! I'll have many questions to put to both you and Aki. Getting PVRT to work is getting weird on me. Ric

wayward4now
05-24-2012, 02:53 AM
I guess the news didn't arrive to this thread but Proton is very much working on Linux nowadays too - including the graphical glory and everything.

Some instructions are in the wiki (http://www.rtsoft.com/wiki/doku.php?id=proton:linux_setup) and the examples should all be compilable on Linux too.

Ah, since I'm running Ubuntu 64bit, as you mention I don't find:
PVRTexLib/PVRTexLib.h: No such file or directory
I DO find libPVRTexLib.a in both the Linux_X86_64 and Linux_X86_32 directories.
Running: strings libPVRTexLib.a |grep ProcessRAWPVR gave me an empty return.
The link you provide wakes up firefox's alarms telling me it's an untrusted link and that the world will end in chaos should I go there. Should I go there?? So far, I'm stumped. Ric

Aki Koskinen
05-24-2012, 10:07 AM
Ah, since I'm running Ubuntu 64bit, as you mention I don't find:
PVRTexLib/PVRTexLib.h: No such file or directory
I DO find libPVRTexLib.a in both the Linux_X86_64 and Linux_X86_32 directories.
Running: strings libPVRTexLib.a |grep ProcessRAWPVR gave me an empty return.
The link you provide wakes up firefox's alarms telling me it's an untrusted link and that the world will end in chaos should I go there. Should I go there?? So far, I'm stumped. Ric

RTPack currently needs the 3.x version of PVRTexLib - which isn't available from Imagination any more. They only offer the latest 4.x versions.

The suspicious link that is on the wiki page only contains a 32 bit version of the library anyway so unfortunately it wouldn't help you either. I updated the wiki page to explain the situation in a bit clearer words.

I think I'll take a look at how much work it might be to update RTPack to support the 4.x API of PVRTexLib.

Aki Koskinen
05-24-2012, 12:54 PM
I think I'll take a look at how much work it might be to update RTPack to support the 4.x API of PVRTexLib.

OK. I took a look. It's more work than I was hoping for :(

It seems that there is a new file format called pvr v3 and PVRTexLib 4.x uses this file format by default. The 3.x versions of PVRTexLib use an older version of pvr called v2. Off course these file formats are pretty much incompatible with each other (as far as I can see).

There is a "legacy" interface in PVRTexLib 4.x which can be used to save to the older pvr v2 format. I guess at first at least RTPack needs to use this interface. It can't just start using the new pvr v3 format before we check what kind of implications that might have. For example what devices support the pvr v3 format etc. That means that RTPack's code will need more changes than just simply changing a few method calls here and there.

I just now found out about this pvr v3 format's existence so I know next to nothing about it. But if anybody has any more information or good pointers to sources of information feel free to share.

So, before RTPack starts supporting the current version of PVRTexLib: Imagination's licenses probably prevent me from distributing any version (including the 3.x which is still usable with RTPack) of PVRTexLib to others. But if you would like to get a hold on the 3.x version of the lib send a PM to me and let's see if I can help you.

Aki Koskinen
05-24-2012, 01:06 PM
...send a PM to me...

If that proves impossible then just email me to akikoskinen _at_ yahoo _dot_ com

Seth
05-24-2012, 01:18 PM
I think the thing to do is probably to make pvr support optional (RT_PVR_SUPPORT or something) - the truth is I don't even use it in any of my stuff (zlib'ed raw 16 bit or 32 bit is fine, fast to load, and works on everything).

PVR compression and other special formats probably only make sense for 3d action games with a LOT of textures where mem is extremely tight and you don't mind fiddling with multiple texture formats for different graphic chipsets. (I don't think I ever will..)

Clanlib's image processing can almost do everything the PVR stuff was doing anyway - then we could compile RTPack with only clanlib as a dependency.

The nice thing about PVR's lib toolset was it could stretch images with nice filtering and reduce colors with nice results.. but modifying texture to all be square was only a requirement for pvr textures on iOS anyway so I don't think we'll miss that part.

Anyway, this would surely make the build more portable, although we're still limited to Clanlib's V1.0 supported platforms.. (OSX/Linux/Win)

Actually, now that Proton supports png and jpg, I could probably rewrite it without using Clanlib at all. We'd lose BMP and TGA but big deal, can always convert to .png before using it.

Aki Koskinen
05-24-2012, 05:37 PM
It seems that there is a new file format called pvr v3 and PVRTexLib 4.x uses this file format by default. The 3.x versions of PVRTexLib use an older version of pvr called v2. Off course these file formats are pretty much incompatible with each other (as far as I can see).

RTPack can't just start using the new pvr v3 format before we check what kind of implications that might have. For example what devices support the pvr v3 format etc. That means that RTPack's code will need more changes than just simply changing a few method calls here and there.

Hmm, actually it might not be such a big deal after all. Yes, the pvr file format has a new version. But RTPack doesn't really use that file format so it's not affected. The file format version only affects the file header that contains metadata and details (like dimensions, number of mipmaps, compression format etc) about the texture. Whatever the pvr file format number is (v2 or v3 or whatever) the actual texture data is always the same (what it actually is depends on the compression format off course). RTPack only uses this compressed texture data and writes that to an rttex file which has a file header format of its own.

So I guess RTPack doesn't have to necessarily use the "legacy" interface of PVRTexLib 4.x after all. The only case where the new lib version matters is when using the "-o pvr" flag which commands PVRTexLib directly to write out a pvr file. Maybe the "-o pvr" could keep on writing a v2 pvr file and a new flag could be introduced (say "-o pvr3") that could be used to write a pvr v3 file - if anybody actually happens to use those flags...

wayward4now
05-25-2012, 12:38 AM
[QUOTE=Seth;21402]
Clanlib's image processing can almost do everything the PVR stuff was doing anyway - then we could compile RTPack with only clanlib as a dependency.

It makes me nervous when there is a pile of legal jargon just to use a library. Then your copyright is tainted with their copyright. Plus, suppose someone were to use that as a point of entry to load some code into your project to blow up the Internet? Heh... So, if you decide to make that change, I'd be more than happy to test your build.

I'd love to see your project become packaged for the major OS's so that more people could enjoy learning how to use it. Ric