Palm SDK has leaked

As some of my readers already noticed there is WebOS SDK available for Palm Pre smartphone. Or rather “available” as it is leaked edition not normal release. I will not describe how to get it (using Google is enough) but rather how to get it run under Linux and a bit about what is inside.

The bad part is that SDK is (so far) available only as MS Windows binary. I did not tried it with WINE but used XP Pro installation on one of my machines to install it. There are two additional installations to be done first — VirtualBox 2.2.x is required by Palm SDK to be installed and Safari is required for “Palm Inspector” tool (which I did not got to work anyway).

After installation two important files: “palm_emulator_sdk_47.vmdk” and “palm_emulator_sdk_47.iso” can be found in “Documents and Settings/$USER/.VirtualBox/” subdirectories (they are also available in “Program Files/Palm/SDK/share/emulator/sdk47/” directory). There is also “Palm Emulator” icon on desktop which makes use of them.

So back to Linux. VirtualBox hard drive image and ISO needs to be copied to Linux machine and given for VirtualBox (configuration of virtual machine can be copied from MS Windows too). It is also possible to use QEMU to boot into SDK but it can be harder to find one with working mouse emulation. This is where their changes to QEMU or VirtualBox would be handy to get — adding 320x480px resolution to QEMU is few minutes work anyway (needs to change sources of vga bios and replace system one with tweaked copy).

What can be seen after boot? First error which I hope will be fixed in final release — “vga=864” kernel parameter results in “unknown video mode” message. Anyway other modes are working and I suggest 640x480x16 as it has the same height as Palm Pre screen. There is a one problem due that — screen has wrong calibration so it is hard to use UI.

Palm splash
Palm splash
WebOS initial screen
WebOS initial screen
Launcher
Launcher
First use dialog
First use dialog
New contact dialog
New contact dialog
Dialer with two calls
Dialer with two calls
Cards
Cards
Google Maps
Google Maps
Video player
Video player
Calculator with transparent menu opened
Calculator with transparent menu opened
Wrong touchscreen calibration effect (I am clicking on blue dot)
Wrong touchscreen calibration effect (I am clicking on blue dot)

Some applications are coded in ugly style — seems to have 320x480px resolution hardcoded (Google Maps, Video player, Dialer). But there are also others which resize properly (Contacts, desktop). To play with them few key shortcuts are useful to know:

Looks like other keys launch search tool — I have to admit that I did not searched yet for documentation.

But what is inside of image and why it works? Image was built for “qemux86” device by using OpenEmbedded build system — no new patches added. There is SSH daemon working in emulator so it is possible to login remotely and check what is in system. There are 697 packages installed (285 of them being kernel modules). Image looks like it was built on a same system as WebOS 1.0.3 image for Palm Pre (about which I already wrote few days ago).

Ah, I would forgot… There are few JavaScript examples in SDK if someone wants to know how to make “hello world” for WebOS.

Final thoughts — WebOS looks interesting and I would like to play more with it on real device. The bonus part is that it is even able to run classic PalmOS applications (but this is with 3rdparty application). Too bad that there is no GSM version yet.

linux openembedded palm phone qemu webos windows