×
Namespaces

Variants
Actions
Revision as of 07:05, 13 November 2012 by hamishwillee (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Qt MeeGo handset SDK how to install and use on Linux Ubuntu 10.04 LTS

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata
Article
Created: jimgilmour1 (07 Aug 2010)
Last edited: hamishwillee (13 Nov 2012)
Featured Article
29 Aug
2010

This is a forward looking article and as such many things could change. This article shows the similarity between the Nokia Qt SDK and Qt MeeGo. There are not any current (as of 7-Aug-2010) mobiles devices to test this on until 2011. There is a however the simulator. The Qt MeeGo Qt Creator is currently version 1.38+. The description of install of Ubuntu is beyond the scope of this article, however Windows PC users should first try the UbuntuOne Desktop solution which does not affect the Windows installation and boots from CD/DVD by creating a file on the Windows system. The author uses the Alternative disk download and boots from another disk.

Note.pngNote: Note from Nokia: It should be understood that this is not the expected setup routine for the productized SDK releases later on. With Harmattan release, there will be a highly streamlined development solution based on Nokia Qt SDK (complemented by the classic scratchbox based solution), so this document should be seen as a way for experienced Linux users to kick the tires, and not indicative of the final development experience. --vivainio 06:49, 1 September 2010 (UTC)

Contents

Why upgrade to Ubuntu version 10.04?

Download Ubuntu 10.04 LTS for free and is a considerable improvement over previous versions and supports Nokia Qt SDK 1.0 and previous Maemo SDK's. The most important point is that the X server screen driver set up is the same as required for Nokia Qt SDK 1.0 off-line version. This latest version of Xephyr also removes the restriction of using being unable to use nVidia(tm) graphics cards with the Qt MeeGo SDK. Some developers have tested and (Works with ATI Radeon HD 2400 XT).This supports the latest version of Firefox and is the default web browser in which you can load many Firefox extensions.

Configuring the Ubuntu 10.04 Xserver-Xephyr

This is for Ubuntu 10.04 Linux 32 or later . Although not part of the Qt MeeGo this often causes problems for those with little experience of Linux systems. Easiest way is to install using 'Ubuntu Software Center' and search for 'xserver-xephyr'. Here is screen shot for this step, here you can see that 'xserver-xephyr' is already installed since I have finished my MeeGo installation.

Xserver-xephyr.png

Clearly there are other Linux distributions equally as good as Ubuntu, however in this article the aim is to produce a common platform for Qt to use.

Installing the Qt MeeGo SDK

Before downloading the consider creating new account from Ubuntu file menu System -> Administration -> Users and groups if you are already using an account for Nokia Qt SDK or other applications, e.g yourname or usernameMeeGo1. This is because the Qt MeeGo SDK makes considerable additions to the user profile, add lots of variables and needs changes of protection which could leave problems, when removing the kit. When you have created the account remember to tick the box administrative rights account and give a strong password. The group name must be same as usernameMeeGo1 or your chosen username

Finding your Graphics card type under Ubuntu version 10.04

To find if you have a nVidia(tm) graphics card or another graphics card like Intel(tm) in Terminal window type

usernameMeeGo1@ubuntu104:~$ lspci |grep VGA
02:00.0 VGA compatible controller: nVidia Corporation G72 [GeForce 7500 LE] (rev a1)

In the above response there is a nVidia(tm) graphics card

Xephyr also works with ATI Radeon HD 2400 XT. Here is output of 'lspci |grep VGA' for ATI Radeon HD 2400 XT.

01:00.0 VGA compatible controller: ATI Technologies Inc RV610 [Radeon HD 2400 XT]

Downloading the kit

There are two types of kit available :-

This article will focus on the handset version

When downloaded you need to start a terminal from the Applications -> Accessories -> Terminal and execute the following commands

usernameMeeGo1@ubuntu104:~$ sudo tar jxvf meego-handset-ia32-1.0.80.9.20100706.1-sdk-pre0729.tar.bz2

This is where the first problem occurs. The increased security in Ubuntu no longer need a user account "root", stopping other networks accessing you system. Therefore to use this archive the protection must be change to your username and group, this is the main reason we created another user account. In the default home account terminal window execute the following commands

usernameMeeGo1@ubuntu104:~$  #This will take a while depending on performance of your PC
usernameMeeGo1@ubuntu104:~$ sudo chown -hR usernameMeeGo1:usernameMeeGo1 meego-handset-ia32-1.0.80.9.20100706.1-sdk-pre0729

The next part is to load the script use to mount the virtual drives and allow starting of MeeGo SDK.

Download script from meego-sdk-chroot script. Make the script executable.

usernameMeeGo1@ubuntu104:~$ chmod +x meego-sdk-chroot

Configure the X server display

#Configure X on the host machine to enable the Simulator to access the display of the normal user: 
xhost +SI:localuser:usernameMeeGo1
#Support nVidia and Intel video cards and possibly others...
Xephyr :2 -host-cursor -screen 1024x768x16 -dpi 192 -ac &
#Set up your X11 display using the :2 in Xephyr
export DISPLAY=:2

Configuring the MeeGo handset image

The commands above are only carried out once.

$ # Move the image to top level
$ cd meego-handset-ia32-1.0.80.9.20100706.1-sdk-pre0729/
$ sudo mv ./meego-handset-ia32-1.0.80.9.20100706.1-sdk-pre0729.raw ../meego-handset-ia32-1.0.80.9.20100706.1-sdk-pre0729.raw
$ # Go back to top level
$ cd ..
$ # change protection to read write to allow mounting
$ sudo chmod 666 meego-handset-ia32-1.0.80.9.20100706.1-sdk-pre0729.raw
$ # Create the mount point
$ sudo mkdir /opt/meego-handset
[sudo] password for usernameMeeGo1:

Mounting the MeeGo handset SDK image

These commands are needed every time you reboot or login to the usernameMeeGo1 account. This may be a good idea to copy the Xserver commands into a script and run this on login, into file for example meegostart.sh then chmod +x meegostart.sh, then this command is run as ./meegostart.sh

#Configure X on the host machine to enable the Simulator to access the display of the normal user: 
xhost +SI:localuser:usernameMeeGo1
#Support nVidia and Intel video cards and possibly others...
Xephyr :2 -host-cursor -screen 1024x768x16 -dpi 192 -ac &
#Set up your X11 display using the :2 in Xephyr
export DISPLAY=:2
$ # mount the handset image
$ sudo mount -o loop,offset=512 ./meego-handset-ia32-1.0.80.9.20100706.1-sdk-pre0729.raw /opt/meego-handset
$ sudo ./meego-sdk-chroot /opt/meego-handset

When the correct password has been entered. The output similar to below will be appear.

mount --bind /proc /opt/meego-handset/proc
mount --bind /sys /opt/meego-handset/sys
mount --bind /dev /opt/meego-handset/dev
mount --bind /dev/pts /opt/meego-handset/dev/pts
mount --bind /tmp /opt/meego-handset/tmp
mount --bind /var/lib/dbus /opt/meego-handset/var/lib/dbus
mount --bind /var/run/dbus /opt/meego-handset/var/run/dbus
cp /etc/resolv.conf /opt/meego-handset/etc/resolv.conf
root@meego-handset-sdk: /#


Note how the prompt has changed indicating the meego-SDK is in use commands go to the meego-SDK instead of the Ubuntu bash commands. Earlier in this section the X Server was started and configured. The command "export DISPLAY=:2" is now given again as this is not accessible in the meego-SDK. The handset picture appears, click the four square buttons to start the main menu

root@meego-handset-sdk:/# export DISPLAY=:2
root@meego-handset-sdk:/# startmeego &

The MeeGo Simulator starts after a few seconds. Press enter several times to get the prompt back.

Stopping the MeeGo SDK

To stop the Simulator give the command exit

root@meego-handset-sdk:/# exit

Importing working Qt Applications

The Qt projects can be imported from other operating systems by writing to a USB drives memory stick, a USB Expansion drive or a finalised data CD.


Troubleshooting

If this fails then check that the exported window is ":2" and not ":0". The command line "export DISPLAY=:0" fails and its not easy to see. There is a debug function which requires knowledge of X Server messages. If you get an error from "Xephyr" on starting about display missing or unable to lock files then reboot the PC because something is locked, possibly due to Xhost problems. If you don't like the window size change this in the Xephyr command line the first to numbers are screen size. The command "Xephyr --help" will give a help screen of all the parameters

 # The "&" spawn is not used so all output comes to terminal screen
root@meego-handset-sdk:/# startmeego-debug

Qt MeeGo Handset screenshots

QtMeeGoHandsetFirst.png

Screen-shot of the Qt MeeGo Handset menu which appears on the opening screen when the Qt MeeGo Handset starts. Click the four square boxes to move to the next screen-shot the Qt MeeGo Handset menu.

QtMeeGoHandsetMenu.png

Screen-shot of the Qt MeeGo Handset menu which appears when the four square boxes are clicked. The icons are place holders in the emulator and do not contain the applications


Related Links

Acknowledgements

This article may become the part of a future published book and the author Jim Gilmour gives permission for Nokia Developer Wiki to display this article and may also appear on the meego.com Wiki.

Jim Gilmour 1-Aug-2010 major update for handset SDK 7-Aug-2010

This page was last modified on 13 November 2012, at 07:05.
280 page views in the last 30 days.
×