View source for Qtopia on Neo1973

From Openmoko

Jump to: navigation, search

You do not have permission to edit this page, for the following reasons:

  • The action you have requested is limited to users in the group: Administrators.
  • You must confirm your email address before editing pages. Please set and validate your email address through your user preferences.

You can view and copy the source of this page:

Return to Qtopia on Neo1973.

Personal tools

Qtopia is a complete mobile phone and PDA platform which can be built for many devices and is dual-licensed under the GPL and a proprietary license, but since version 3.4.0, everything needed to use Qtopia on the Neo1973 is licensed under the GPL.


Current status

On 27 November 2007, Lorn Potter of Trolltech released the latest flash image for the FIC Neo 1973 containing the Qtopia 4.3.1 snapshot of that day (GPL version). This introduces the new Cruxus mediaengine, which has a few plugins already, which include libmad, tremor (ogg) and timidity, for .wav, .mp3, ogg and .mid file support.

For installing it, follow the instructions on flashing Qtopia images below.

Bug: The dialer might not ask for a PIN (even if your SIM card needs it) on first boot after flashing to Qtopia.
Workaround: Somehow, completely powering down the Neo seems to cure this issue. You do can do it in two ways:

  1. Remove the USB cable and the Battery for a moment to remove all power from the Neo, or
  2. Remove the USB cable, press the power button for a second, select "Shutdown device" (Note: "Restart Device" does not help - you need to power it down completely!)

If your SIM card does not require a PIN, you can skip the above possibly, but otherwise you won't be able to use GSM networks at all!

After this power-cycle of the Neo, the Qtopia dialer should ask for the PIN if it's needed, and you should be able to make and receive calls, each side should hear each other and you should be able to send and receive SMS, and use Contacts for Calls and SMS!!!.

The Call, SMS and contact interface is quite intuitive and should be usable by non-expert users from that point on. Also the rest of Qtopia looks very polished.

For the latest information on this snapshot read the thread following its announcement.

Suspend issues

The area of battery time and/or suspend still needs improvement. By default, Suspend is disabled in Qtopia because at the moment, you are not able to receive a phone call or an SMS when the Neo is suspended. At the moment (with suspend not enabled, which is the default), Qtopia lasts about 3-5 hours, depending on the amount of use now.

The current maximum standby time seems to be around 7 hours - if there is no use of the phone and the phone is not getting any touches and just sitting on the desk with Bluetooth disabled and getting no touches so that the display is off, just being ready to receive calls and SMS.

Note that if the Neo runs out of battery, simply connecting USB is not sufficient at that point, the battery has too less voltage to allow the Neo to turn on and enable 500mA charging current. At this point, the Neo is just dead as a brick and charges very slowly with 100mA charging current for about 4 to 6 hours until the battery is recharged enough to allow turning on the Neo and charge with 500mA charging current.

Current status regarding suspend: Suspending and resuming works, when you remove console=ttySAC0,115200 from bootargs_base (see this howto), it even wakes up with the GSM part working, but it does not make Qtopia to wake up on incoming calls or SMS, so you are not getting notified if you turn on suspend. After pressing the AUX button, the Neo should wake up from suspend tough and should inform you of missed calls and received SMS.

This bug seems to be fixed.

Flashing Qtopia images

Before flashing the rootfs image, be sure to erase the rootfs using nand erase. Otherwise, the Neo may hang somewhere after on boot.

The lasted official Qtopia flash images are found at: (Scroll down on this page to find them)

Unofficial Qtopia images can be found in the ScaredyCat and Chooseopen repositories.

For the process of actually flashing the Neo, see Flashing openmoko.

Dual-booting between Qtopia and X

Both examples described here require you to reformat your MicroSD card to ext3, so this is the first step for both:

WARNING: The following step will reformat your MircoSD card with the ext3 filesystem. We need it because we need support for symbolic or/and static links, which other filesystems like FAT do not support directly. After reformatting, no data on the card will be accessible to you anymore, so create good backups of anything which you need before starting!

Then ssh to your neo and reformat your MicroSD card with:

umount /dev/mmcblk0p1
mkfs.ext3 /dev/mmcblk0p1
mount /dev/mmcblk0p1

Installing Qtopia into an openmoko rootfs

On [1], click "Developer root filesystem". Then extract opt/Qtopia and the qpe init script and copy both to the mmc card of your neo:

tar xzf ficgta01-qtopia-developer-rootfs.tgz opt/Qtopia etc/init.d/qpe
mv opt/Qtopia etc/init.d/qpe . && rm -r opt etc
tar czf Qtopia.tar.gz Qtopia qpe
scp Qtopia.tar.gz root@

Log in to your Neo and unpack the archive and install it:

cd /media/card
tar xzf Qtopia.tar.gz
mkdir -p /opt
ln -s /media/card/Qtopia /opt/Qtopia
mv qpe /etc/init.d

Now kill the X server and gsmd and start Qtopia (this can take some time):

/etc/init.d/xserver-nodm stop
/etc/init.d/gsmd stop
/etc/init.d/qpe start

Now, in theory, it should be possible to could create a new entry in the uboot boot menu which adds a new boot argument to the kernel, say "qtopia=1" and you could could write a script which checks that boot parameter by checking if "$qtopia" is set to "1" or by checking /proc/cmdline and then boot Qtopia instead of X.

Installing Qtopia on the SD card

  • format your SD card with ext3 and mount it (see above)
  • unpack rootfs from qtopia-4.3.0-preview-neo-flash.tgz to SD card (see above)
  • copy the uImage- kernel to the boot/ on SD card and rename it to uImage
  • put a 'Boot from SD' menu item in uboot menu as explained here: Booting_from_SD#Step_3:_Add_uboot_boot_entry

Build Qtopia from source

If you want to build qtopia for yourself you can download the technical preview or snapshots


Most things seem to work out of the box, however you might need to use the following command to get audio (but not with the official flash image available from Trolltech):

alsactl -f /etc/gsmhandset.state restore

Or put this command in /etc/init.d/qpe line 64

Do not switch themes. Only the default theme is usable. For example, once you switch themes, the lock feature continues to work, but only if you unlock using the smallest # keypad in the world.

Suspend support is very flaky. The neo often shuts off from a suspend state. It will not wake from suspend for an incoming call or text message (someone try setting an alarm and report results here). To turn suspend off (this will of course use the batteries very quickly), hit the down arrow next to the suspend setting in the power management until it says "Off".

When using the "Predictive keyboard," do a quick flick up or down over the keyboard to access numbers/symbols/capitals. In snapshot builds, you can select virtual keyboard by tapping on the little arrow icon to the left of the battery status icon.

In summary, Qtopia on the Neo1973 is much closer to being ready than OpenMoko as of this writing. However, sound and suspend support prevent it from being at all useful as a cell phone (as a landline that doesn't ring but instead vibrates, it works ok).

The Qtopia forum area on the FIC GTA01 might be helpful, but it is preferred that you update this section with issues and fixes which you find.




For full size videos, 346 MiB: