Just An Application

September 18, 2007

Java Personal Profile On The N800

Filed under: Java, Mobile Java, N800, Nokia, Personal Profile — Simon Lewis @ 5:58 pm

Here are some screenshots showing my port of SUN’s implementation of Java Personal Profile running the Demo application on my Nokia N800.

Java Personal Profile On The Nokia N800: One

The Layout demo, not necessarily working correctly.

Java Personal Profile On The Nokia N800: Graphics

The Graphics demo, image support is broken

Java Personal Profile On The Nokia N800: Widgets

The Widgets demo

The version shown in the screen shots uses SUN’s original GTK based version of AWT. Unfortunately this is based on a pretty old version of GTK and relies on things that have been deprecated or just plain removed. To get it to work at all I had to comment out quite a bit of code. As such it is not really a good basis going forward so I have now started on a new version of AWT using GTK, Pango and Cairo.
This is very much a work in progress and I have not tried running it on hardware, but here is a screenshot of the same Graphics demo as above, but this time on the ’emulator’ and using Cairo to do the rendering but with no image support.

Graphics Demo On Emulator Using Cairo



  1. Hi,
    i am very impressed. This are really great news for the n800-java fans.I used PP on the zaurus and it worked very good. Please inform me, how I can download Sources and binaries. Sorry that I am not able to help.

    Comment by Christian Paulsen — September 29, 2007 @ 11:02 am

  2. Your test app on the N800 looks great!
    how did you get java running on your Nokia? I’ve tried the instructions to get cdc/cvm running on my N810 (from: http://wiki.java.net/bin/view/Mobileandembedded/PhoneMEAdvancedPlatformsNokia800 )
    – but cannot get cvm to execute.
    What are you using for your binaries and how do I get it? I really don’t want to rebuild from sources. At this point I’d pay someone to help me…

    Comment by norm — December 19, 2007 @ 5:06 pm

  3. Hi norm,

    After modifying the GTK based version of AWT I built the whole thing from

    Exactly what kind of problems are you having with CVM ?

    Comment by justanapp — December 19, 2007 @ 9:50 pm

  4. I’m worse than a bit of a novice on Linux – much less Maemo. I put the Java CD (prebuild binary referenced in previous post) into /home/user/java. I cd’d to the /home/user/java/bin folder and tried “cvm -version”.
    I can’t even get it to execute thought I saw it in the folder. I’m doing something really, really stupid. I even used sodu gainroot and tried it to see if I needed root privilege. I really wish there had been a debian file install available…

    After 30 years of OS work (pdp-8 and on, CP/m’s, PC Dos, windows 1.01 up…), I’ve never taken the time to learn much about Linux…Its a bit humbling starting new with an O/S. I’m determined to install a full development system with maemo cross development tools on linux asap on a spare machine but just want to get past this. I’d like to install OSGI and play with it a bit.

    Comment by norm — December 20, 2007 @ 5:34 am

  5. Whoops – that was not “Java CD” but “Java CDC”

    Comment by norm — December 20, 2007 @ 5:35 am

  6. Assuming that cvm is located in /home/user/java/bin, what happens if you cd
    there and then type



    Comment by justanapp — December 20, 2007 @ 9:31 am

  7. I cd into the java/bin directory, do an ls to assure cvm is there, and type “./cvm -version” and I’m getting “permission denied”. Sorry – I I was getting “cvm not found” when I just typed “cvm – version”.

    I’ve tried “sudo gainroot”, then executing “./cvm – version” and I still get permission denied.

    I’m wondering if I need to move my “java” folder somewhere else?

    Comment by norm — December 20, 2007 @ 3:44 pm

  8. ok, so some more questions

    who owns the cvm executable and the bin directory ?

    is cvm executable ?

    is the java/bin directory writable ?

    Comment by justanapp — December 20, 2007 @ 6:04 pm

  9. justanapp – Thanks much for questions. I checked the permissions (about which I just learned), added execute for cvm, and bingo – it at least ran. I fear learning linux will be a large learning curve for me. I found it annoying I have to execute at “./cvm” instead of just “cvm” when I’m in the folder.

    But I’m getting off topic. Don’t want to turn this into a newbie linux site. I just hope to get some graphical java apps running soon.

    Comment by norm — December 21, 2007 @ 3:37 am

  10. You can get around the ‘./’ thing by adding /home/user/java/bin to your path.
    Then you can execute cvm from anywhere

    Comment by justanapp — December 21, 2007 @ 8:08 am

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Blog at WordPress.com.

%d bloggers like this: