maemo buildbot
03.17.08 - 03:19pm
Several people have been asking for an updated build of xulrunner for maemo. I know the tinderbox I set up in December has been broken since mid January. The good news is the build/release team is taking over these responsibilities and will be doing an infinitely better job than I have in maintaining it. The first output from this bot is now available here:
ftp://ftp.mozilla.org/pub/mobile/xulrunner-1.9b5pre.en-US.linux-arm.tar.bz2
The build bot is getting very close to being able to push these builds automatically, so soon you’ll be able to find the latest and greatest here every day. Also, once I get off my but and make the changes to the build scripts to produce debian packages from this, you’ll be able to install it from the application catalog on your n800/n810.
You’ll notice that this is xulrunner and not firefox. There are several reasons for this, not the least of which is we hope this will encourage people to roll their own browser (and other apps). There are already several available to try out, hear is a sampling:
Browsers:
http://wiki.mozilla.org/Image:Touchscreenbrowser-atotic.zip (from atotic)
http://wiki.mozilla.org/images/b/b1/Touchscreenbrowser.zip (from venky & co.), discussion can be found here: http://wiki.mozilla.org/Mobile/UI/Designs/TouchScreen
http://people.mozilla.org/~blassey/SpBrowser.tgz (from me, 2 months old) discussion can be found here: http://wiki.mozilla.org/Mobile/UI/Designs/NonTouchScreen
http://benjamin.smedbergs.us/xulrunner/mybrowser-0.2.2.xulapp (from bsmedberg, very minimal)
Other:
http://people.mozilla.org/~blassey/tetris-example.tgz (tetris game I took shamelessly from croczilla)
http://benjamin.smedbergs.us/xulrunner/xulmine-0.9.xulapp (mine sweep originally by Neil Rashbrook, packaged as xul app by bsmedberg)
And there’s already a collection of apps running on xulrunner for the desktop. Most of them are not packaged to be easily used on maemo with xulrunner. If you’re feeling adventurous, give them a try. If any of them work, leave a comment (maybe even a screen shot).
http://developer.mozilla.org/en/docs/XULRunner_Hall_of_Fame
and
http://developer.mozilla.org/en/docs/Category:XULRunner:Examples
Installation
This is the procedure I used to install xulrunner on my n810 (as root)
# cd /opt
# bunzip2 /home/user/MyDocs/.documents/xulrunner-1.9b5pre.en-US.linux-arm.tar.bz2
# tar -xf /home/user/MyDocs/.documents/xulrunner-1.9b5pre.en-US.linux-arm.tar
# cd xulrunner
# ./xulrunner --register-global
and then to install and run an app, I did the following (again, as root)
# cd /opt/xulrunner
# ./xulrunner --install-app /home/user/MyDocs/.documents/<application name>.xulapp
# /usr/lib/<vendor name>/<application name>/<application name>
A couple notes, I downloaded everything with microb, which puts downloads in the Documents folder and hence the path above. The vendor name and application name are specified in the application.ini file of the xul app. Finally, the –install-app flag assumes a zip archive (which is what the xulapp extension is). You may need zip the app up yourself to use it. I
I installed and ran xulmine, mybrowser and chatzilla. They all ran (woot!). To prove I’m not completely full off it, here’s a screen shot: 
If you have your own ideas for a good xul app or what the browser should look like, put them into javascript and xul and post. Leave a comment here so people can try them.
Note: some of these xul apps were written before mozilla 1.9 was released. If you get a warning such as “Could not find compatible GRE between 1.8 and 1.8.0.*”, you’ll have to edit the application.ini file. Just change MaxVersion from 1.8.0.* to 1.9.0.*

Please credit me as the original coder of xulmine; bsmedberg only packaged it for xulrunner.
Brad,
I tried out a few of the XUL apps.
Venky’s touchscreen browser has er, a few problems:
1. At start, the text is -soooo- small. It took about +5 zoom-ins before it was at a decent size.
2. The “browser supplied touch-screen keyboard” is rather annoying, since it’s a placeholder. Obviously, this will be fixed. However, if someone could hook in a bit of code so that it does indeed pull in the maemo vitual keyboard, it’d be most appreciated.
3. The mouse pointer is still displayed, even though we’re in touchscreenmode. Why?
Atotic’s xulapp seems to have fixed the zoom out problem, as well as the keyboard (instead, it doesn’t bring one up).
He’s also hard-coded the iPhone User Agent, which is a nice touch.
The scroll bar seems to have vanished with Atotic’s browser, and scrolling with the thumb doesn’t seem to work reliably. Hmmm.
I’ll keep playing with this. It’s really exciting, and is already better IMHO than MicroB.
That is really cool!
Hi,
On a n770 running OS 2007 (and probablu also on n800) this doesn’t work because libpangocairo is not available
:./xulrunner –register-global
./xulrunner-bin: error while loading shared libraries: libpangocairo-1.0.so.0: cannot open shared object file: No such file or directory
Is there any chance to have a xulrunner compiled for these platforms ?
We are targeting OS2008 rather than OS2007 specifically because of the pango/cairo support. OS2008 is available for the n800 and n810.
Mozilla 1.9 depends on cairo for graphics and pango for fonts. If you’d like to use xulrunner on a 770, you’ll have to either compile against Mozilla 1.8 (firefox 2 source base) or port cairo and pango to the platform. If you give it a try, please let me know.
Hi,
I compiled the latest versions of GTK, GLIB, Pango and Cairo to the OS2007 HE, and succesfully started the xulrunner with touchscreenbrowser on a 770.
Unfortunately the system is not stable, some applications won’t start with the modified libraries, and I had to reflash my device.
I’m now checking if I can make the xulrunner run into a chroot with the modified libs, off a memory card.
Alex
Hi there,
I am working on a maemo application with a Flash UI.
Right now I am loading the browser manually and opening a local .swf file.
I know I could also load it from commandline, but I feel xulrunner will be a better fit (and hopefully spare some memory) I would really like to use xulrunner to invoke the flash file automatically and give it the desktop-app look and feel.
Is there some how-to or simple example for the mameo xulrunner version? I am pretty new to this kind of development, so I don’t even understand if I need to re-build xulrunner. A starting point would be really helpful.
Nice Text!
Hi,
I have done the same as stated to install xulrunner on my
N810 OS2008, except that i extracted xulrunner in
/media/mmc2/, because i dont have much space on /opt.
This doesn’t work when i tried to run MyBrowser
application.
Nothing is there in /usr/lib/.
Can someone help?
Jitender
Thank you, This is very interesting article!
Yeah! This is great blog!
Thank you! This blog is great!
Thanks a lot.