X86 Linux & Arm Linux Apps


GuchaRU

Member
Joined
May 3, 2008
Messages
190
Location
US
The question is whether or not it will be possible to run regular linux apps on pandora. I know both pc and pandora can run linux, but what about linux apps?
I do not ask about games or apps that requires high performance, I ask in general.
Or the only one way to run linux app on pandora is to specifically compile it to ARM version of linux?

Sorry if it was answered before but I can't find it.
 
GuchaRU said:
Or the only one way to run linux app on pandora is to specifically compile it to ARM version of linux?
That's the one.
 
Last edited by a moderator:
WizardStan said:
GuchaRU said:
Or the only one way to run linux app on pandora is to specifically compile it to ARM version of linux?
That's the one.

Thanks for your reply.

Too bad that it is only one option....
 
Last edited by a moderator:
GuchaRU said:
WizardStan said:
GuchaRU said:
Or the only one way to run linux app on pandora is to specifically compile it to ARM version of linux?
That's the one.

Thanks for your reply.

Too bad that it is only one option....


You can also have someone else compile it for you ;)
 
Last edited by a moderator:
GuchaRU said:
Too bad that it is only one option....
Well, if the app uses a platform agnostic toolset, like Java, or Perl, or Python or something, then it will pretty easily run without issue. Native compiled apps are all you have to worry about. (Un)fortunately, native apps compose the vast majority of applications.
 
Last edited by a moderator:
Does anyone actually prefer their apps to run interpreted? Even ones with a virtual machine making use of AoT/JiT?

*not talking about scripting/utility application
 
Phawx said:
Does anyone actually prefer their apps to run interpreted? Even ones with a virtual machine making use of AoT/JiT?

*not talking about scripting/utility application
Short answer: No. Long answer: There's probably at least one crazy nutter out there... You could make a poll and find out.

OT: If you can find a recompiler (preferably static), then you won't have any problem. The subject is of personal interest to me, but I doubt you'll find one.
 
Last edited by a moderator:
Mr.Confuzed said:
OT: If you can find a recompiler (preferably static), then you won't have any problem. The subject is of personal interest to me, but I doubt you'll find one.
There was someone working on a DOS->ARM Linux static recompiler, but it apparently required a lot of user input and tweaking, and had a limited range of use. You may want to look him up if you're interested.
 
Last edited by a moderator:
WizardStan said:
Mr.Confuzed said:
OT: If you can find a recompiler (preferably static), then you won't have any problem. The subject is of personal interest to me, but I doubt you'll find one.
There was someone working on a DOS->ARM Linux static recompiler, but it apparently required a lot of user input and tweaking, and had a limited range of use. You may want to look him up if you're interested.
Well, DOS isn't the only "language" that you can interpret, you know!

I actually prefer interpreted/JITed languages in some situations where it's just too much of a PITA to maintain builds for too many platforms at once. Also, why compile them statically? You don't really gain that much from doing it.
 
Last edited by a moderator:
dflemstr said:
Also, why compile them statically? You don't really gain that much from doing it.
Because it lets games which were unemulatable in Dosbox to run on the GP2X. Are we talking about the same thing here?
 
Last edited by a moderator:
WizardStan said:
dflemstr said:
Also, why compile them statically? You don't really gain that much from doing it.
Because it lets games which were unemulatable in Dosbox to run on the GP2X. Are we talking about the same thing here?
Yes, and I asked myself the same question as you did and did even make a post in the dev forum about it; when recompiling a static binary into another binary, it doesn't really matter when you do it because the compilation overhead is so small.

(Oh, and I look back at my language analogy and don't even get it myself. Oh well)

EDIT: and if it isn't clear, we aren't talking only about DOS, but also about programs on x86 in general.
 
Last edited by a moderator:
GuchaRU said:
WizardStan said:
GuchaRU said:
Or the only one way to run linux app on pandora is to specifically compile it to ARM version of linux?
That's the one.

Thanks for your reply.

Too bad that it is only one option....

It's not really that bad. In fact, it's pretty normal for Linux apps.
Compiling stuff is super-easy on Linux, and the vast majority of apps are distributed as source.

The whole universe of Linux is designed so that compiling from source is a completely normal way of installing things.
 
Last edited by a moderator:
In addition to which, as ARM chip usage increases in Linux machines (or the other way around) you may see "ARM compiled version" download links for more and more programs where currently you see "x86" and "x86 64-bit" and whatnot binaries to download.
 
GuchaRU, short answer (ignore the offtopic discussions above):

Most open source apps will require someone to compile them for ARM, but that's pretty easy so pretty much anything you want will get released.
Closed source apps would need the original company to port a Pandora version, so unlikely to happen.
Some apps in interpreted languages may work without recompiling.

In any case, unless you know what you're doing, just download stuff from the archive.
Most likely what you want will turn up sooner or later.
 
dflemstr said:
Yes, and I asked myself the same question as you did and did even make a post in the dev forum about it; when recompiling a static binary into another binary, it doesn't really matter when you do it because the compilation overhead is so small.
You're asking about the benefits of static recompilation vs dynamic? You? I'm pretty sure that you know way more about these things than I do, so I suspect this is a trap of some kind, but I'll do my best anyway. For starters, a dynamic recompiler needs to maintain two copies of the binary in memory: the original and a cache of whatever it's recompiled; static recompilation only needs one.
Static recompilation can be done on a beefier machine, with no time limits, so it has a much better chance of getting it right. Dynamic recompilation has to be done fast, less time to reoptimize and detect branches.
This doesn't really apply to exe files, but other ROMs and com files don't necessarily have a definitive break between code and data. Static recompilation you can direct, and ensure that what you recompile is code, not data. Dynamic recompilation has other tricks that are less effective.
 
Last edited by a moderator:
VRAndy said:
It's not really that bad. In fact, it's pretty normal for Linux apps.
Compiling stuff is super-easy on Linux, and the vast majority of apps are distributed as source.
:blink: Eh? Wai-wait... how easy is it? Like for a beginner who's never once compiled an app? If I could learn how to do it, I think I'd gladly do it quite often.
 
Last edited by a moderator:
-Tj- said:
VRAndy said:
It's not really that bad. In fact, it's pretty normal for Linux apps.
Compiling stuff is super-easy on Linux, and the vast majority of apps are distributed as source.
:blink: Eh? Wai-wait... how easy is it? Like for a beginner who's never once compiled an app? If I could learn how to do it, I think I'd gladly do it quite often.
It's really easy. Speaking as a non-coding "user" type, it's usually a matter of typing a couple of words. :p At the most, sometimes you might also have to check that you have some other stuff installed. But that really is it, in my experience.

I've got a few apps in mind that I'm going to try compiling, can't wait to try it out. :D
 
Last edited by a moderator:
It's usually just making sure you have the right libraries and using "make" and then "make install" or something of that ilk in the terminal. Perhaps you have to configure a few things first but it's generally not really that difficult.
 
-Tj- said:
:blink: Eh? Wai-wait... how easy is it? Like for a beginner who's never once compiled an app? If I could learn how to do it, I think I'd gladly do it quite often.
The vast majority of stuff I've had to install from source have been
1) download source (as a tar.gz file)
2) uncompress tar.gz file to a temporary directory
3) start a terminal, and "cd" to that temporary directory
4) type "make configure"
5) type "make install" (may need root privileges for this)
6) start the program by typing its command, and/or adding a shortcut to the menu or desktop
An absolute beginner would need a step-by-step guide (how exactly to start a terminal, or uncompress a tar.gz file, for example) but if you've got at least basic understanding, it should be pretty simple.
This assumes that you have all the right packages already installed. Making sure that you have everything you need first is what will cause the greatest challenge.
 
Last edited by a moderator:
Well, now... If it's that easy, I'm definitely going to look into that! I've not much experience with Linux, but I understand at least the first 3 steps you've put up there, WizardStan.

As for getting all the packages installed and stuff... guess that's gonna take a bit more research. I have no idea what that stuff is about, other than that they sound required for compiling a program. :p
 
Back
Top