Explain Linux And 'our' Linux In Terms Of Games And Software


stustaff

Member
Joined
Jan 25, 2008
Messages
297
So the Pandora will run a version of linux right?

And then stuff that works on Linux will work on it?

so for example a game(http://xmoto.tuxfamily.org/) that runs on OSX,Windows as well as all these names I dont know Ubuntu, slackware, suse, freebsd. Will work ok right?

Is tehre anyway to know what Linux software will and wont work.
 
I think Chip recently added an explanation posted by Hobbyman to the Pandora Wiki about this subject. And you should also check the thread from which the explanation has been copied :)
 
Once upon a time there was Unix, created by Bell Labs. It was a mainframe operating system put together in the seventies by strange men with black rimmed glasses and long beards.

Bell labs also created compiled languages such as C which a program called a compiler converted into native machine code. There were many types of computer in the seventies and eighties - this was an era before the IBM compatible clone (or commonly known today as PC) became the established platform.

Unix was written in compiled code, and that source code was made available to customers. This meant it could run, theoretically on any type of computer. It was also very modular, and anybody could write new components and extend it it any way they wished. Both of these facets of Unix made it very popular with academic institutions.

However, Bell Labs was still in control. And it still cost money. Some people wanted the same thing but free of cost, and wanted to be free to use it however they liked.

Linux was created as a free, open source clone of Unix. A guy called Linus Torvalds had developed his own kernel that could be used liked the one in Unix. A group called GNU had been creating clones of the Unix tools (such as the compiler). Neither was useful without the other and so everybody joined forces. The result is formally know today as GNU/Linux.

Linux itself isn't one particular thing. Being modular like it's inspiration, many parts of it can be chopped and changed and developed independently of each other. When a collection of these are put together in a useable form the resulting product is a 'Linux distribution' or 'Distro'. There are hundreds, infact thousands of these at this point in time. Torvalds formed a company to carry on work developing the kernel, while everybody else adopted the same free, open source model for making their software with all the advantages that brings them.

So what is Linux? It's a chaotic, inconsistent, hive-mind created bunch of code that be put together in many different ways to make all kinds of operating systems. At the same time though, it's a remarkable testament to the idealistic, pragmatic, collaborative nature of people. And it still has the quirks of something designed by bearded men of the seventies.
 
To be specific; yes, Pandora runs Linux. On an ARM chip.

So if you've got a linux binary, and it was made for ARM, and it has similar library dependancies as Pandora distribution, youi're in luck. (Lib differences can often be sorted out by compiling the necessary dependancies, however.)

If you've got a linux binaryu for x86 or other processor, go to the next step.

If you've got source, you can likely build it .. Pandora's linu (Ansgtrom) is same as any other Linux; the distributions just help define what your 'default inclusions' are.

So yeah, linix is linux...... "more or less", bit you can't just say "its for linux, you're good."

By comparison consider Windows -- people seem to think theres one Windows, but recall that apps for Windows XP may not work on Vista, and more to point, apps for Windows x86 won't work for Windows ARM, just people don't think in those terms usually since Win x86 is pretty pervasive.

Think of Vista to Win7 to XP as different (but very similar) distributions .. a good chance thingsa work, but you never know. But CPU targetted during compilation is the big obstacle.

(And Linux on ARM is very popular.. think net books and PDAs and so on, so its actually not hard to find ARM binaries of your favourite linux app, if you're afraid to build it yourself.)

Lastly and not least important -- people will be building every damned thing under the sun, so even if you're not a developer, others _are_ and will take care of most things for you ;) Thats why we have an app repository and upcoming app store.

jeff
 
Ok so that gives some of the background but let me give a fr'instance

I run Ubuntu on my pandora, the softwares web page says download ubuntu version of software, are we saying it still may not work?

And i gather from the other info there would be no way of knowing this? that just seems odd and not particularly user friendly or am i misunderstanding?

So If im out on my pandora I have to download say a 200mb file with no idea of if it will work or not?


Thanks by the way everyone.
 
Bosbeetle said:
By the way the guy was called Linus Torvalds and not Linux Torvalds

I knew that. Good grief, what a typo! (I see X is near S)
 
Last edited by a moderator:
stustaff said:
Ok so that gives some of the background but let me give a fr'instance

I run Ubuntu on my pandora, the softwares web page says download ubuntu version of software, are we saying it still may not work?

And i gather from the other info there would be no way of knowing this? that just seems odd and not particularly user friendly or am i misunderstanding?

So If im out on my pandora I have to download say a 200mb file with no idea of if it will work or not?


Thanks by the way everyone.

There isn't a version of Ubuntu yet for the Pandora (it was demoed a long time ago though, possibly for the Beagleboard, a very close relation to the Pandora).

Your Pandora will use firmware. That firmware will be a Linux distribution made specifically for the handheld. In particular ours is adapted from Angstrom Linux, which started out life as an alternative firmware/distribution for another handheld called the Sharp Zaurus.

The firmware should ship already on the device within the internal memory, but you can flash it on there too (write to the memory). People in this community will be adapting and recompiling apps for the Pandora, you'll be able to download these from our own community sources.
 
Last edited by a moderator:
stustaff said:
Ok so that gives some of the background but let me give a fr'instance

I run Ubuntu on my pandora, the softwares web page says download ubuntu version of software, are we saying it still may not work?

And i gather from the other info there would be no way of knowing this? that just seems odd and not particularly user friendly or am i misunderstanding?

So If im out on my pandora I have to download say a 200mb file with no idea of if it will work or not?


Thanks by the way everyone.

I think there are two mistakes you're making:
First, putting "user friendly" and "Linux" in any proximity to one another.
Second, apostrophes are still part of the English language.

Ubuntu is the most user friendly distro for Linux. It's good at looking like Windows or OSX in its presentation of things. If you're very curious about Linux as a whole, Ubuntu is the easiest to use and you should start by installing that on a desktop PC first. The OS for the Pandora will be optimized for use on the Pandora, so it will be very usable. I don't think you'll have to know much about Linux to use the Pandora.

There are three questions for any bit of software:
1) is it open source?
2) if so, is it already compiled for the ARM CPU?
3) if not, is the source code available such that it can be compiled for the ARM CPU?

If the software is not open source, forget about it.
If the software is open source, but it cannot be compiled for ARM, forget about it.
 
Last edited by a moderator:
stustaff said:
Ok so that gives some of the background but let me give a fr'instance

I run Ubuntu on my pandora, the softwares web page says download ubuntu version of software, are we saying it still may not work?

And i gather from the other info there would be no way of knowing this? that just seems odd and not particularly user friendly or am i misunderstanding?

So If im out on my pandora I have to download say a 200mb file with no idea of if it will work or not?


Thanks by the way everyone.
Ubuntu and Angstrom work off the idea of repositories. Consider a warehouse where you can walk in pick any box off the shelf and install the software in it with a understanding that it's been tested to work on your platform and play nicely together. There's very little guesswork when using repositories. As long as you're getting your software from the Repository you're probably going to have a worry free and happy experience. Even if you've never touched Linux before.

If you're outside the warehouse, walking down the street, and some guy has some cool program that says it runs under Linux, it might work, but it might not have been designed with your flavor of Linux or your computer's CPU in mind. It might need special steps to even get it to work at all, like need compiling, or configuration files edited, or other not so end-user friendly stuff. It might run great, not at all, or cause unforseen problems. The good news is, if the program is useful to the masses it often ends up being checked out by the pros, and barring any serious compatibility issues - boxed up and put in the repository pretty quickly.
 
Last edited by a moderator:
stustaff said:
I run Ubuntu on my pandora, the softwares web page says download ubuntu version of software, are we saying it still may not work?
Yes, because it needs to be an ARM version. It's like you would be trying to get a 64bit (AMD64) program to run on a 32bit (x86) desktop system - it won't work. The ARM CPU does not know what to do with x86 program code, it's like trying to read a Chinese text without knowing anything about the Chinese language. Ubuntu ARM is still very new and won't be very popular in the near future because there are not that many devices to use it on, therefore you won't see many Ubuntu ARM downloads soon.
 
Last edited by a moderator:
Again .. "easy" ;)

You assume there is a single Ubuntu.. there is not. Ubuntu usually (but not always) means x86 built Ubuntu, but it could be others (ARM, etc.)

So you could run Ubuntu distribution, built to target an ARM cpu or an x86 CPU. You'd have to get the right flavour of a pre-built binary, or build it yourself (which is not as hard as you might expect much of the time.)

for instance, you can get Debian x86 or Debian ARM .. just a different download site for the same apps on the same distribution, different CPU.

Its not a questrion of user unfriendly -- its just a lack of understanding; you don't put jeep tires on your sedan car, you know? Thats not user unfriendly, its just how it works, a question of 'knowing'. Its not the sedans fault :)

So yes, if you want to run Ubuntu on Pandora (and someone prepares it, uses our kernel build on Ubuntu.. it _does work_), then you can get a Ubuntu ARM binary. But Linux is Linux, you could get a Gentoo or Angstrom binary and have a good chance it'd work too. Ubuntu and Gentoo are not black and white.. they're all variations of the same family (Linux being the family.)

I guess .. its not as hard as you think, but its stuff that is hard to quantify; you cannot say 'just yes', outright, nor 'just no'.

And yes, it is thigns you can look up; you can check the dependancies for a binary and see if it'll work.

But the big one as I say is CPU; if you go to the Ubuntu x86 download site, you _know_ it will not work on a Ubuntu ARM system. But if you go to a Ubuntu ARM download site, then yes, it shoudl work on an Ubuntu ARM distribution.

You just can't grab the first "Ubuntu" download you see, since thats not specific enough, you see? Go with th ecar analogy again -- you can't just buy a 'tire', you need the right spec tire. Pandora's specs for tires are not that alien, not that hard to find.

jeff
 
I think he was using Ubuntu as an example.

But to be specific .. theres a reason we've been building our own distribution (an instance of Angstrom really) -- Ubuntu is very bloaty, filled with a billion things. It eats up a lot of RAM with pile sof tools, just to get started. Our distro has a lot of goodies, but its a lot more stripped down .. it fires up faster, boots up a lot less junk, and of course it has some Pandora-specific goodness.

(You could bring over any Pandora specific stuff to a Ubuntu easily enough, but the harder part is stripping out all the Ubuntu bloat.)

jeff
 
Thanks for the explanations Mindlord and Letalis particularly made things more understandable. :)

Cobaltage that also is very useful its a shame we are not grader for our english you would certainly get an A+ I can only one day hope to be bothered enough to have my own typing, punctuation and spelling match up to your high standards, until that day i apologise for thinking this were a forum and not college paper... sir ;)

on point 2 however how would you know if something is ARM compiled? is this a trivial thing to do? is there a pre pandora way to do this and test software?

If there were some way to do this it seems like it could be a useful use of my Panda waiting time?
 
You can't really know what something is compiled for unless the one who compiled it tells you. It's fairly safe to assume that unless otherwise specified, what you're looking at is compiled for i386.
The golden part of free software is that you have the source code, and a lot of the time, just recompiling the software will be enough - as in no further modification needed.
 
skeezix said:
Its not a questrion of user unfriendly -- its just a lack of understanding; you don't put jeep tires on your sedan car, you know? Thats not user unfriendly, its just how it works, a question of 'knowing'. Its not the sedans fault :)
But cars come with a instruction on whjat tyre size will fit I can then use that to check against a tyre before I buy, is there a similiar tool guide for pandora?


And yes, it is thigns you can look up; you can check the dependancies for a binary and see if it'll work.
Is there a guide or good place to look into how to do this?


You just can't grab the first "Ubuntu" download you see, since thats not specific enough, you see? Go with th ecar analogy again -- you can't just buy a 'tire', you need the right spec tire. Pandora's specs for tires are not that alien, not that hard to find.
But its not pandoras specs as you say I can get those its how would I know what spec a piece of software is?

jeff

My replies are underlined :)
 
Last edited by a moderator:
The bottom line is simple really

ARM processors don't run like standard PC processors and thus programs will not run on them unless they are recompiled for ARM.
Linux is able to run on almost every processor on the market, but no operating system can overcome processor differences
Ubuntu is user friendly and GNU/Linux as a whole has been user friendly for the last 12 years. The problem is with the users, and the way we learn about computers.
Pandora's distro Will be superior to Ubuntu on several levels, but the one that will truly matter is that it was designed for the hardware.

So if you see that a program runs on Linux assume that it means a PC and stick with the Pandora "AppStore" to find games for your Pandora.
 
skeezix said:
I think he was using Ubuntu as an example.

But to be specific .. theres a reason we've been building our own distribution (an instance of Angstrom really) -- Ubuntu is very bloaty, filled with a billion things. It eats up a lot of RAM with pile sof tools, just to get started. Our distro has a lot of goodies, but its a lot more stripped down .. it fires up faster, boots up a lot less junk, and of course it has some Pandora-specific goodness.

(You could bring over any Pandora specific stuff to a Ubuntu easily enough, but the harder part is stripping out all the Ubuntu bloat.)

jeff

True, that's what my colleage is doing for a thin-client project with custom gui. Optimization for low budget hardware.
 
Last edited by a moderator:
If the place you're downloading it from does not explicitly say for which CPU architecture it was created, it's to 99% a x86 executable.
Usually you can find one of the following CPU architecture names at the downloads:
i386, i486, i586, i686, x86, IA-32: It's for normal desktop PCs or laptops
AMD64, x86_64, EM64T: Same as the above, but the operating system has to be 64bit
ARM, Armel: That's the one you're looking for
 
stustaff said:
skeezix said:
Its not a questrion of user unfriendly -- its just a lack of understanding; you don't put jeep tires on your sedan car, you know? Thats not user unfriendly, its just how it works, a question of 'knowing'. Its not the sedans fault :)
But cars come with a instruction on whjat tyre size will fit I can then use that to check against a tyre before I buy, is there a similiar tool guide for pandora?


And yes, it is thigns you can look up; you can check the dependancies for a binary and see if it'll work.
Is there a guide or good place to look into how to do this?


You just can't grab the first "Ubuntu" download you see, since thats not specific enough, you see? Go with th ecar analogy again -- you can't just buy a 'tire', you need the right spec tire. Pandora's specs for tires are not that alien, not that hard to find.
But its not pandoras specs as you say I can get those its how would I know what spec a piece of software is?

jeff

My replies are underlined :)
The answer to your questions are the same with tires. The tire is supposed to be labeled: "This is a 16 inch tire for a jeep" or whatever. If it's just labeled "this is a tire" and you buy it and find it doesn't fit or is totally unsuitable for your car, it isn't the car's fault, it's the tire manufacturers for not being specific.
Similarly, when downloading software, it should be labeled "Windows XP" or "Mac OSX" or "Linux x86" or "Linux AMD64" or "Linux ARM" or whatever. If it says it will run on Linux ARM, then you're 99% of the way there to making sure it will run on the Pandora.
To check dependencies on a given binary, look up the "ldd" command.
 
Last edited by a moderator:
Back
Top