Qt Extended Improved

From Openmoko

Revision as of 13:21, 2 April 2009 by Asyring (Talk | contribs)

Jump to: navigation, search

Contents

Community Resources

Qt Software cancelled the Qt Extended project on 3 March 2009 (Qt Software discontinues Qt Extended). The community created a fork of it and called it Qt Extended Improved:

Installing Qt Extended Improved on the FreeRunner

Install Qt Extended 4.4.3

There are no rootfs images for Qt Extended Improved, so first we need to install Qt Extended 4.4.3, then we can upgrade to Qt Extended Improved. Follow the instructions at Qt Extended 4.4.3.

Install Qt Extended Improved

Boot your FreeRunner into Qt Extended 4.4.3. Create a USB network connection between your workstation and the FreeRunner. Download the most recent pre-built tarball. Now you must unpack the tarball to a temporary directory and copy its contents to the FreeRunner's /opt/Trolltech/Qtopia directory:

mkdir temp
cd temp
tar -xzvf ../qt-extended-improved-bin-only-20090316.tar.gz 
scp -r * 192.168.0.202:/opt/Trolltech/Qtopia/

Reboot your FreeRunner and you should be running Qt Extended Improved.

Building Qt Extended Improved

First download a source tar ball from the git repository. Then make the build directory and set the environment variables. In this example, I write the environment variables to a file then I source the file.

mkdir -p /opt/QtExtended/build
cd /opt/QtExtended
tar -xzvf qt-extended-improved.tar.gz
echo "export QTOPIA_DEPOT_PATH=/opt/QtExtended/qt-extended-improved" >> setpaths 
echo "export QPEDIR=/opt/QtExtended/build/" >> setpaths
. setpaths

Install the toolchain:

cd /opt
wget http://qtextended.org/downloads/toolchains/arm920t-eabi.tgz
tar xzvf arm920t-eabi.tgz /

Do the linux three-step: configure, make, make install. Plus we build the sdk so we can make our own apps later, if we want.

cd $QPEDIR
$QTOPIA_DEPOT_PATH/configure -device neo -D _FORTIFY_SOURCE=0
make
make install
bin/qbuild sdk

The binaries are in the $QPEDIR/image directory. You can copy these to your freerunner over usb like this:

scp -r $QPEDIR/image/* 192.168.0.202:/opt/Trolltech/Qtopia/

Compiling an Example Qt Extended App

First set those indispensable Qt environment variables:

. /opt/QtExtended/setpaths

Next create a directory /opt/Qtopia/build/myapps. Copy the example app. Rename the example app to something that makes sense (how about "example"!). Create the Makefile and build the example.

desktop# mkdir /opt/QtExtended/build/myapps
desktop# cd /opt/QtExtended/build/myapps
desktop# cp -R $QTOPIA_DEPOT_PATH/examples/application .
desktop# mv application example
desktop# cd example
desktop# $QPEDIR/bin/qbuild

Now you have an executable example. It won't execute on your workstation - you must secure copy it to your FreeRunner. Then secure shell into the FreeRunner, import the Qtopia environment variables and execute the app:

desktop# scp example root@freerunner:/home/root
root@192.168.0.202's password: 
example                                      100%    33KB  33.4KB/s   00:00    
desktop# ssh 192.168.0.202
root@freerunner's password: 
freerunner:~# . /opt/Trolltech/Qtopia/qpe.env 
freerunner:~# ./example

This is what you should see on the screen (click on image to zoom) : Qt extended sdk example screenshot.png

Packaging

Create a .qpk file, an installable package:

 desktop# $QPEDIR/bin/qbuild packages

Create a packages.list file for the software installer and put it in the http server root:

 desktop# sudo $QTOPIA_DEPOT_PATH/bin/mkPackages /srv/www/htdocs/

Copy your new package to the http server root:

 desktop# sudo cp pkg/*.qpk /srv/www/htdocs/

On your phone, find Settings > Software Packages; press the Downloads tab; go to Options > Edit Servers; Options > New; then enter a name and URL of http://192.168.0.200:80, or the URL for your web server. The software package manager should then be able to see $HTTPROOT/packages.list and install any packages you have.

mp3 Support

If you compile your own version of Qt Extended Improved, you can add mp3 support using this patch. Untar the file from your qt-extended-improved directory (it installs some files in the src tree) and patch using the patch file, eg:

desktop# cd $QTOPIA_DEPOT_PATH
desktop# tar -xzvf qt-extneded-4.4.3-libmad.tar.gz
desktop# patch -p0 < qt-extended-4.4.3-libmad.patch

Now configure, build, etc.

Personal tools

Community Resources

Qt Software cancelled the Qt Extended project on 3 March 2009 (Qt Software discontinues Qt Extended). The community created a fork of it and called it Qt Extended Improved:

Installing Qt Extended Improved on the FreeRunner

Install Qt Extended 4.4.3

There are no rootfs images for Qt Extended Improved, so first we need to install Qt Extended 4.4.3, then we can upgrade to Qt Extended Improved. Follow the instructions at Qt Extended 4.4.3.

Install Qt Extended Improved

Boot your FreeRunner into Qt Extended 4.4.3. Create a USB network connection between your workstation and the FreeRunner. Download the most recent pre-built tarball. Now you must unpack the tarball to a temporary directory and copy its contents to the FreeRunner's /opt/Trolltech/Qtopia directory:

mkdir temp
cd temp
tar -xzvf ../qt-extended-improved-bin-only-20090316.tar.gz 
scp -r * 192.168.0.202:/opt/Trolltech/Qtopia/

Reboot your FreeRunner and you should be running Qt Extended Improved.

Building Qt Extended Improved

First download a source tar ball from the git repository. Then make the build directory and set the environment variables. In this example, I write the environment variables to a file then I source the file.

mkdir -p /opt/QtExtended/build
cd /opt/QtExtended
tar -xzvf qt-extended-improved.tar.gz
echo "export QTOPIA_DEPOT_PATH=/opt/QtExtended/qt-extended-improved" >> setpaths 
echo "export QPEDIR=/opt/QtExtended/build/" >> setpaths
. setpaths

Install the toolchain:

cd /opt
wget http://qtextended.org/downloads/toolchains/arm920t-eabi.tgz
tar xzvf arm920t-eabi.tgz /

Do the linux three-step: configure, make, make install. Plus we build the sdk so we can make our own apps later, if we want.

cd $QPEDIR
$QTOPIA_DEPOT_PATH/configure -device neo -D _FORTIFY_SOURCE=0
make
make install
bin/qbuild sdk

The binaries are in the $QPEDIR/image directory. You can copy these to your freerunner over usb like this:

scp -r $QPEDIR/image/* 192.168.0.202:/opt/Trolltech/Qtopia/

Compiling an Example Qt Extended App

First set those indispensable Qt environment variables:

. /opt/QtExtended/setpaths

Next create a directory /opt/Qtopia/build/myapps. Copy the example app. Rename the example app to something that makes sense (how about "example"!). Create the Makefile and build the example.

desktop# mkdir /opt/QtExtended/build/myapps
desktop# cd /opt/QtExtended/build/myapps
desktop# cp -R $QTOPIA_DEPOT_PATH/examples/application .
desktop# mv application example
desktop# cd example
desktop# $QPEDIR/bin/qbuild

Now you have an executable example. It won't execute on your workstation - you must secure copy it to your FreeRunner. Then secure shell into the FreeRunner, import the Qtopia environment variables and execute the app:

desktop# scp example root@freerunner:/home/root
root@192.168.0.202's password: 
example                                      100%    33KB  33.4KB/s   00:00    
desktop# ssh 192.168.0.202
root@freerunner's password: 
freerunner:~# . /opt/Trolltech/Qtopia/qpe.env 
freerunner:~# ./example

This is what you should see on the screen (click on image to zoom) : Qt extended sdk example screenshot.png

Packaging

Create a .qpk file, an installable package:

 desktop# $QPEDIR/bin/qbuild packages

Create a packages.list file for the software installer and put it in the http server root:

 desktop# sudo $QTOPIA_DEPOT_PATH/bin/mkPackages /srv/www/htdocs/

Copy your new package to the http server root:

 desktop# sudo cp pkg/*.qpk /srv/www/htdocs/

On your phone, find Settings > Software Packages; press the Downloads tab; go to Options > Edit Servers; Options > New; then enter a name and URL of http://192.168.0.200:80, or the URL for your web server. The software package manager should then be able to see $HTTPROOT/packages.list and install any packages you have.

mp3 Support

If you compile your own version of Qt Extended Improved, you can add mp3 support using this patch. Untar the file from your qt-extended-improved directory (it installs some files in the src tree) and patch using the patch file, eg:

desktop# cd $QTOPIA_DEPOT_PATH
desktop# tar -xzvf qt-extneded-4.4.3-libmad.tar.gz
desktop# patch -p0 < qt-extended-4.4.3-libmad.patch

Now configure, build, etc.