View Full Version : Running linux apps on the n900
pingu
11-01-2009, 05:35 PM
I'm considering buying the n900, but I have some questions about running regular linux softwares on it:
1. If I have a debian installation file on my pc of lets say open-office, and I want to run it on the n900. so, can I simply copy the open-office installation file to the n900, install it, run it and that's it? Was it possible with the n8x0?
2. What "cross-compiling" is and how it differentiate from "porting"? Do I need to cross-compile every application?
I don't know enough about it so I thought you would be able to help me. I wasn't sure where to post this thread, I hope it's the suitable place.
pycage
11-01-2009, 05:44 PM
1. If I have a debian installation file on my pc of lets say open-office, and I want to run it on the n900. so, can I simply copy the open-office installation file to the n900, install it, run it and that's it? Was it possible with the n8x0?
No, this will not work. It wasn't possible on the N8x0 either.
2. What "cross-compiling" is and how it differentiate from "porting"? Do I need to cross-compile every application?
The CPU in the N900 is ARM CPU, while the CPU in your PC is most likely a x86-compatible one. Cross-compiling means compiling a program for another CPU architecture, e.g. compiling programs to be run on ARM on your x86 PC.
Porting is modifying the program code to work in a different environment, e.g. to adapt a user interface from mouse usage (3 buttons) to touchscreen usage.
mannakiosk
11-01-2009, 06:25 PM
...but it's possible to install and run debian on the N8x0 and debian has installation files for the ARM architecture... Given that, would the answer to 1 still be negative with regards to the n8x0:s?
Well you can't just take arm deb's off of debian.org and expect it to work on Maemo. Doesn't work for Ubuntu either for more complicated apps. Both Ubuntu and Maemo are Debian derivative, but they have a different set of packages so dependencies are different. In the case of Maemo, maybe even a different gcc version.
But you can take your average linux app and compile it on Maemo. Its about the only phone where you can say that.
Florob
11-01-2009, 07:48 PM
...but it's possible to install and run debian on the N8x0 and debian has installation files for the ARM architecture... Given that, would the answer to 1 still be negative with regards to the n8x0:s?
a) you are nitpicking and
b) yes, to this very specific question the answer would still be "No" unless his desktop has an arm processor ;)
pingu
11-02-2009, 04:48 PM
Thanx!
Is it possible to cross-compile apps on the phone itself or only on a computer? hardware wise and software wise? (cross-compiling the cross-compiler)
pingu
11-02-2009, 04:56 PM
Thanx!
Is it possible to cross-compile apps on the phone itself or only on a computer? hardware wise and software wise? (cross-compiling the cross-compiler)
Does the cross-compiler open source?
dmj726
11-02-2009, 05:21 PM
The cross compiler would most likely be gcc, so yes, it is open source. It's just a matter of telling gcc to compile the source for the target architecture (in this case arm) instead of x86.
vdx29
11-02-2009, 05:27 PM
And also, how tech savy do you have to be to cross compile programs/packages? Is there a standard set of instructions non-techie windows users can follow?
BatPenguin
11-02-2009, 05:38 PM
The cross compiler would most likely be gcc, so yes, it is open source. It's just a matter of telling gcc to compile the source for the target architecture (in this case arm) instead of x86.
Well, perhaps it would also be appropriate to mention, though, that compiling programs for your N900 is not exactly a walk in the park or anything that a normal user is "expected to do". This is not the way users should install applications and, frankly, it is well beyond the capabilities of most users anyway.
If you're interested in getting some of your favourtie Linux software to work on the N900, the best thing to do is to first of all wait until the device comes out (any day now...:), and then start following these forums and the Maemo.org downloads lists to see what is and what should be up on the repositories soon. The repositories are how software should be installed. If you're thinking of a program and wondering why it's not available, start a new thread here. Somebody else, more tech-savvy perhaps, might get interested and start working on it.
So basically I suggest you browse what is available now and see what might be available soon. Don't assume that just because a program is available on Ubuntu/Debian, it'll be easy to get to work on the N900.
pingu
11-02-2009, 06:00 PM
If someone cross compiles an app, does he have to port it also? because cross compiling deals with suitability to the CPU, but the input mathod (touch screen), for example, also need to be changed.
sorry for my ignorance.
BatPenguin
11-03-2009, 02:45 AM
If someone cross compiles an app, does he have to port it also? because cross compiling deals with suitability to the CPU, but the input mathod (touch screen), for example, also need to be changed.
sorry for my ignorance.
I think you're pretty much looking for this page:
http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide
and perhaps, in particular, this one:
http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Porting_Software/Porting_Existing_GTK%2B_Application_to_Maemo_5
(that's an example of porting a GTK - Gnome - application to Maemo, simple examples of what may need to be done to get something to run)
Look at those pages to get a feel for what's involved in getting your software to run on Maemo. Like I said, not for normal users. This is for developers.
I've been using Linux on the desktop and server for many years now, and I don't feel any interest in even trying this, I know that I don't have the skills to make changes to the UI etc. to make a desktop program more suitable for these devices. And even compiling a program on Ubuntu can sometimes be a royal pain with wrong library versions and missing dependencies, so I don't see myself even bothering trying it for Maemo because of the extra hassle involved. I have, however, posted here about a program I would like ported (grecipes) and that lead to somebody being interested and starting developing a python-based recipe program. That's just as an example of what can happen.
But to each their own, if you have some programming skills and feel like studying something , I'm sure the community will appreciate one more developer and can help you get started. But no, it's most likely hardly ever as simple as typing "./configure && make && sudo make install". Not a "user thing" to do, especially with a quite ambitious example like you gave, OpenOffice :) OpenOffice is, no doubt, interesting to many, so somebody must be working on it already (I think there was a video about it somewhere, I forget).
Hope this helps.
Benson
11-03-2009, 03:35 AM
Thanx!
Is it possible to cross-compile apps on the phone itself or only on a computer? hardware wise and software wise? (cross-compiling the cross-compiler)
Cross-compiling refers to using a compiler on one platform to create a binary for another platform, e.g. using an x86 version of gcc to produce arm binaries. If you're running the compiler on the N900, and using it to produce binaries for the N900, it's not cross-compilation anymore, and is generally pretty straightforward.
As to how much porting is needed, that depends on the particular app, and on your standards of usability. Generally, most GTK apps should run "ok" with no special work, but won't be anything like smooth enough to consider releasing. Definitely check BatPenguin's links for more on what probably ought to be done.
pingu
11-03-2009, 05:21 PM
thanks you guys for answering!
it's not that I don't know to program, I have a background in developing and programming, I'm not versed enough in cross-compiling and maemo, I just wanted to learn more about it.
pingu
11-03-2009, 05:53 PM
I took a look at the alternatives forum and I found a package called "Easy Debian". and this text was writen:
This package, when installed, will give you OpenOffice.org, AbiWord, the LXDE Desktop Environment, Firefox 3.0 (called Iceweasel in Debian) with Java and Flash support, printing support, and access to thousands of applications that can be easily browsed and downloaded.
This package will give you all of these applications without any need for installing dependencies or other applications, and it should work on all of the tablets.
were the OpenOffice, AbiWord, Firefox etc cross-compiled?
...and access to thousands of applications that can be easily browsed and downloaded.
This package will give you all of these applications without any need for installing dependencies or other applications, and it should work on all of the tablets.
on which applications we are talking? for ARM? X86?
Please answer:)
mannakiosk
11-03-2009, 07:06 PM
That would be for the ARM architecture. Debian supports ARM. You can browse packages.debian.org (http://packages.debian.org/) and see what packages they have (there's more than 20 thousand of them, I hear) and if these packages are available for the ARM arcitecture.
Note that those quotes you found are about previous tablets. I don't know if debian will be installable on the n900 from the start.
cb474
11-03-2009, 11:32 PM
Thanks for the posts and explanations in this thread. They answered a lot of my questions.
I realize this may not be a very answerable question, but I'm wondering, does anyone have a sense of how much developer interest there is in porting a lot of the Debian packages to Maemo? Especially a lot of the mainstays of the Linux world like mplayer, audacity, gimp? I see there's a version of mplayer for OS2008, but not Maemo. And there appears to be no version of VLC. Or there's vim, but no nano. It seems a little meager and hodge-podge right now. I'm just wondering how much the idea of the N900 being like a little Linux distribution will in your pocket will really play out. Or if the ARM processor just isn't up to it. And if it's more likely to be mostly apps specialized to Maemo (a la the iPhone, Android).
Also, as far as EasyDebian goes, I realize that it works on previous devices like the N810, but isn't it supposed to be pretty slow and not very usable for practical everyday purposes?
Also do you think I could run XP in VirtualBox? Just kidding. (But the other questions were real.)
mannakiosk
11-04-2009, 06:13 AM
As far as I can tell, there's work being done getting VLC for the n900, but it's not in a very usable state yet:
http://talk.maemo.org/showthread.php?t=31802
I'm sure you understand this, but for the benefit of others: However far maemo 5 will end up from being like a general linux distro in your pocket, it will be closer than the iphone (obviusly) and even android (due to the java-ish layer upon which to develop on android (as far as i understand it)).
The way I understand it, is that all it takes is popularity. The more users the n900 gets, the more apps will be ported. And popularity seems to be going pretty well. Soon enough there will be more development for the n900 than for any previous tablet and I'm sure maemo 5 will shortly surpass "general linuxiness" compared to previous versions.
In other words: I'm pretty confident and exited.
pelago
11-04-2009, 07:16 AM
OS2008 is Maemo 4, and I believe mplayer will be available for Maemo 5 too, as will VLC. Audacity and GIMP would need a lot of UI work, and I haven't heard if anyone is working on those.
pingu
11-04-2009, 04:29 PM
That would be for the ARM architecture. Debian supports ARM. You can browse packages.debian.org and see what packages they have (there's more than 20 thousand of them, I hear) and if these packages are available for the ARM arcitecture.
Note that those quotes you found are about previous tablets. I don't know if debian will be installable on the n900 from the start.
Do all debian software packages for the ARM architecture work on the easy debian? It's realy a lot!
And another question: does the n900 run n8x0 applications?
Technically, Easy Debian works on the N900, but Maemo 5 has broken the GTK+ UI quite badly, so the interface of desktop apps looks absolutely terrible.
I'm fooling around with other options to try to get things working better, but it is slow going and there aren't many helpers yet, since the device isn't on sale.
So yes, you can run Debian / Ubuntu apps on the N900. But they are ugly and unstable under the N900's GUI.
pingu
11-04-2009, 04:51 PM
continue with the hard work, you are working on something very nice and important for this device!
I'm sure that after the n900 will be offered for sale there will be much more interest and more developers will join.
pingu
11-04-2009, 05:00 PM
Is there a way to use the n8x0 GTK on the n900?
Is the n900 able run OS2008/maemo 4 applications?
MrGrim
11-04-2009, 05:23 PM
Ummm.... maybe create some sort of overlay to unbreak gtk, removing the need to modify every app?
My plan is to do a similar trick on the N900 that I did on the N8x0 with LXDE; start a nested X-Server (Xephyr) and then start LXDE (or something) in the secondary X-Server. The problems I have encountered so far are:
No hardware key for getting the dashboard (task switcher), so no way to switch out of the secondary environment.
Standard desktop environments look tiny and are difficult to use even with the stylus on the N900.
Some keyboard remapping needed, but there seems to be some difficulty remapping the keyboard on the N900 (ie keys all go dead).
My plan is to do a similar trick on the N900 that I did on the N8x0 with LXDE; start a nested X-Server (Xephyr) and then start LXDE (or something) in the secondary X-Server. The problems I have encountered so far are:
No hardware key for getting the dashboard (task switcher), so no way to switch out of the secondary environment.
Standard desktop environments look tiny and are difficult to use even with the stylus on the N900.
Some keyboard remapping needed, but there seems to be some difficulty remapping the keyboard on the N900 (ie keys all go dead).
It'll be difficult but would it be possible to zoom in and out for the environments that look tiny?
geneven
11-04-2009, 09:26 PM
"Standard desktop environments look tiny and are difficult to use even with the stylus on the N900."
Ok, sarcasm alert, apologies in advance.
But when the issue of screen size was discussed, I'm SURE I read more than once that all you had to do was move your face something like15% closer to the screen and everything became the same size! Did you try that?
Sarcasm off.
MrGrim
11-05-2009, 03:50 AM
No hardware key for getting the dashboard (task switcher), so no way to switch out of the secondary environment.
Maybe make the Xephyr window smaller (800x450) so a few pixels from the switcher button show? It should be usable only with those few pixels
Standard desktop environments look tiny and are difficult to use even with the stylus on the N900.
Magnifier tool?
redenisc
11-05-2009, 05:27 AM
That would be for the ARM architecture. Debian supports ARM. You can browse packages.debian.org (http://packages.debian.org/) and see what packages they have (there's more than 20 thousand of them, I hear) and if these packages are available for the ARM arcitecture.
Except for a few (mostly x86, few PPC) architecture-specific packages, most of Debian is available for ARM. But that does not mean it will work. Maemo and Debian use the same packaging system, but are not necessarily fully binary-compatible.
Besides, Debian ARM is built for ARMv4, which is highly suboptimal for the Cortex-A8 in N900 (ARMv7), especially for CPU-intensive tasks (such as multimedia). So you should really recompile everything from Debian anyway.
RogerS
11-05-2009, 11:30 AM
I realize this may not be a very answerable question, but I'm wondering, does anyone have a sense of how much developer interest there is in porting a lot of the Debian packages to Maemo?
My feeling is that Maemo represents the most direct route for Linux apps to handheld devices and to what are now designated "smartphones" but which are likely to be the typical cellphone just a couple years from now.
As this becomes more apparent and as more devices run Maemo (what, you don't think that's coming? it is, trust me), then all the Linux desktop users become interested in the same thing you ask about — can I get a version of this desktop app in my phone?
The Linux user base has a large percentage of self-reliant and technologically savvy users, just the type to port those apps themselves or improve the merely-ported apps that don't account for the screen size.
When you read the technology press, you'll note its single-minded focus on developers interested in creating new apps for a platform (iPhone, Android, WebOS ...). Nokia's laboring to attract these developers too, but I'd say there are too many unknowns to confidently predict just how strong Maemo's appeal to them will be. Certainly it's the platform with the inside track to the Symbion and Gnome communities and stands a better chance than RIM, Palm and WindowsMobile do of thriving naturally.
So the odds are good but, like they say, that's why they play the game.
Also do you think I could run XP in VirtualBox? Just kidding.
Probably simpler to just use VNC to control a stationary computer and let it run the Windows app(s).
I know, you're just kidding, but it's easy to do and there will be occasion for you to celebrate this kind of freeing power.
Roger S
pingu
11-05-2009, 05:10 PM
No hardware key for getting the dashboard (task switcher), so no way to switch out of the secondary environment.
If the problem lays in the fact that there isn't dedicated hardware key for getting the task switcher (but you can raise it), using key combination might work (ctrl + n for example).
Standard desktop environments look tiny and are difficult to use even with the stylus on the N900.
I think this problem can easily be solved by using a virtual magnifying glass tool (as other suggested earlier).
Some keyboard remapping needed, but there seems to be some difficulty remapping the keyboard on the N900 (ie keys all go dead).
Why you need to remap the keyboard?:confused:
Rauha
11-05-2009, 05:20 PM
Why you need to remap the keyboard?:confused:
It's not exactly standard and full sized six row PC keyboard. Many keys missing or behind Fn combos.
pingu
11-05-2009, 05:36 PM
we can use the hadware keyboard for commonly used keys and a virtual keyboard for the rest, can't we?
pingu
11-10-2009, 06:02 PM
No hardware key for getting the dashboard (task switcher), so no way to switch out of the secondary environment.
Check this: http://www.maemo-guru.com/2009/10/nokia-n900-keyboard-shortcuts-galore/
"...Ctrl + Backspace: From within an application this will take you back out to the visual task manager. (Thanks to Chanse for that one.)..."
di1in
02-13-2010, 06:00 AM
Is it possible to add more apps to lxde on maemo?
If i can, where do i get them from?
vBulletin® v3.8.7, Copyright ©2000-2013, vBulletin Solutions, Inc.